{
  "description": "How each canonical formula was exported to the Ossie reference model: direct (one portable expression, with its portability rung and constructs), staged (a per-period dataset carrying the compiled SQL) or notComputable. Written by npm run derive.",
  "counts": {
    "direct": 194,
    "staged": 169,
    "notComputable": 15
  },
  "stagedReasons": {
    "cohort": 11,
    "lag": 6,
    "at period_start": 34,
    "total": 6,
    "period bound in filter": 93,
    "to_date": 4,
    "period_days": 2,
    "bucket": 1,
    "window": 7,
    "distinct pair": 1,
    "all_time": 4
  },
  "portability": {
    "description": "Direct entries by the highest rung of the upstream portability ladder (compliance/portability, M0 to M3) whose construct they use, and the constructs the published rungs do not measure yet. A filtered aggregate is written FILTER (WHERE ...) as the expression language requires; the M3 fixture uses the CASE WHEN form. Every sum is COALESCE(SUM(...), 0), the null guard construct, so no entry is a bare M0 sum.",
    "rungs": {
      "M0": 0,
      "M2": 51,
      "M3": 143
    },
    "constructs": {
      "filtered aggregate": 143,
      "count distinct": 77,
      "arithmetic over aggregates": 126,
      "cross-dataset": 35,
      "date scalar": 17,
      "percentile": 10,
      "null guard": 89
    }
  },
  "metrics": {
    "mrr": {
      "kind": "direct",
      "ossieName": "gasp_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "mrr:by_plan": {
      "kind": "direct",
      "ossieName": "gasp_mrr_by_plan",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "arr": {
      "kind": "direct",
      "ossieName": "gasp_arr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "arr:O": {
      "kind": "staged",
      "ossieName": "gasp_arr_o",
      "stagedDataset": "gasp_staged_gasp_arr_o",
      "reason": "cohort"
    },
    "arr:M": {
      "kind": "direct",
      "ossieName": "gasp_arr_m",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "arr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_arr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "arpa": {
      "kind": "direct",
      "ossieName": "gasp_arpa",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "arpa:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_arpa_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "total_customers": {
      "kind": "direct",
      "ossieName": "gasp_total_customers",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "total_customers:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_total_customers_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "new_customers": {
      "kind": "direct",
      "ossieName": "gasp_new_customers",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "new_customers:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_new_customers_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "churned_customers": {
      "kind": "direct",
      "ossieName": "gasp_churned_customers",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "churned_customers:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_churned_customers_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "mrr_growth_rate": {
      "kind": "staged",
      "ossieName": "gasp_mrr_growth_rate",
      "stagedDataset": "gasp_staged_gasp_mrr_growth_rate",
      "reason": "lag"
    },
    "new_mrr": {
      "kind": "direct",
      "ossieName": "gasp_new_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "new_mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_new_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "expansion_mrr": {
      "kind": "direct",
      "ossieName": "gasp_expansion_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "expansion_mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_expansion_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "churned_mrr": {
      "kind": "direct",
      "ossieName": "gasp_churned_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "churned_mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_churned_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "contraction_mrr": {
      "kind": "direct",
      "ossieName": "gasp_contraction_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "contraction_mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_contraction_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "reactivation_mrr": {
      "kind": "direct",
      "ossieName": "gasp_reactivation_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "reactivation_mrr:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_reactivation_mrr_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "carry_mrr": {
      "kind": "staged",
      "ossieName": "gasp_carry_mrr",
      "stagedDataset": "gasp_staged_gasp_carry_mrr",
      "reason": "at period_start"
    },
    "net_new_mrr": {
      "kind": "direct",
      "ossieName": "gasp_net_new_mrr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "bundle_pricing_and_mrr_allocation": {
      "kind": "notComputable",
      "reason": "An allocation method applied when recording item-level MRR (Item SSP / sum of SSPs x bundle price), not a reported metric."
    },
    "nrr": {
      "kind": "staged",
      "ossieName": "gasp_nrr",
      "stagedDataset": "gasp_staged_gasp_nrr",
      "reason": "cohort"
    },
    "nrr:O": {
      "kind": "staged",
      "ossieName": "gasp_nrr_o",
      "stagedDataset": "gasp_staged_gasp_nrr_o",
      "reason": "cohort"
    },
    "nrr:M": {
      "kind": "staged",
      "ossieName": "gasp_nrr_m",
      "stagedDataset": "gasp_staged_gasp_nrr_m",
      "reason": "cohort"
    },
    "nrr:adjusted": {
      "kind": "staged",
      "ossieName": "gasp_nrr_adjusted",
      "stagedDataset": "gasp_staged_gasp_nrr_adjusted",
      "reason": "cohort"
    },
    "nrr:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_nrr_by_segment",
      "stagedDataset": "gasp_staged_gasp_nrr_by_segment",
      "reason": "cohort"
    },
    "grr": {
      "kind": "staged",
      "ossieName": "gasp_grr",
      "stagedDataset": "gasp_staged_gasp_grr",
      "reason": "cohort"
    },
    "grr:per_customer": {
      "kind": "staged",
      "ossieName": "gasp_grr_per_customer",
      "stagedDataset": "gasp_staged_gasp_grr_per_customer",
      "reason": "cohort"
    },
    "grr:adjusted": {
      "kind": "staged",
      "ossieName": "gasp_grr_adjusted",
      "stagedDataset": "gasp_staged_gasp_grr_adjusted",
      "reason": "cohort"
    },
    "grr:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_grr_by_segment",
      "stagedDataset": "gasp_staged_gasp_grr_by_segment",
      "reason": "cohort"
    },
    "logo_churn_rate": {
      "kind": "staged",
      "ossieName": "gasp_logo_churn_rate",
      "stagedDataset": "gasp_staged_gasp_logo_churn_rate",
      "reason": "at period_start"
    },
    "logo_churn_rate:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_logo_churn_rate_by_segment",
      "stagedDataset": "gasp_staged_gasp_logo_churn_rate_by_segment",
      "reason": "at period_start"
    },
    "revenue_churn_rate": {
      "kind": "staged",
      "ossieName": "gasp_revenue_churn_rate",
      "stagedDataset": "gasp_staged_gasp_revenue_churn_rate",
      "reason": "at period_start"
    },
    "revenue_churn_rate:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_revenue_churn_rate_by_segment",
      "stagedDataset": "gasp_staged_gasp_revenue_churn_rate_by_segment",
      "reason": "at period_start"
    },
    "nps": {
      "kind": "direct",
      "ossieName": "gasp_nps",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "cac": {
      "kind": "direct",
      "ossieName": "gasp_cac",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac:O": {
      "kind": "direct",
      "ossieName": "gasp_cac_o",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac:M": {
      "kind": "direct",
      "ossieName": "gasp_cac_m",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac:by_cost_centre": {
      "kind": "staged",
      "ossieName": "gasp_cac_by_cost_centre",
      "stagedDataset": "gasp_staged_gasp_cac_by_cost_centre",
      "reason": "total"
    },
    "ltv": {
      "kind": "staged",
      "ossieName": "gasp_ltv",
      "stagedDataset": "gasp_staged_gasp_ltv",
      "reason": "at period_start"
    },
    "ltv:O": {
      "kind": "staged",
      "ossieName": "gasp_ltv_o",
      "stagedDataset": "gasp_staged_gasp_ltv_o",
      "reason": "at period_start"
    },
    "ltv:M": {
      "kind": "staged",
      "ossieName": "gasp_ltv_m",
      "stagedDataset": "gasp_staged_gasp_ltv_m",
      "reason": "at period_start"
    },
    "ltv_cac_ratio": {
      "kind": "staged",
      "ossieName": "gasp_ltv_cac_ratio",
      "stagedDataset": "gasp_staged_gasp_ltv_cac_ratio",
      "reason": "at period_start"
    },
    "ltv_cac_ratio:O": {
      "kind": "staged",
      "ossieName": "gasp_ltv_cac_ratio_o",
      "stagedDataset": "gasp_staged_gasp_ltv_cac_ratio_o",
      "reason": "at period_start"
    },
    "ltv_cac_ratio:M": {
      "kind": "staged",
      "ossieName": "gasp_ltv_cac_ratio_m",
      "stagedDataset": "gasp_staged_gasp_ltv_cac_ratio_m",
      "reason": "at period_start"
    },
    "cac_payback": {
      "kind": "direct",
      "ossieName": "gasp_cac_payback",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac_payback:O": {
      "kind": "direct",
      "ossieName": "gasp_cac_payback_o",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac_payback:M": {
      "kind": "direct",
      "ossieName": "gasp_cac_payback_m",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "gross_margin": {
      "kind": "direct",
      "ossieName": "gasp_gross_margin",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "gross_margin:O": {
      "kind": "direct",
      "ossieName": "gasp_gross_margin_o",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "gross_margin:M": {
      "kind": "direct",
      "ossieName": "gasp_gross_margin_m",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "rule_of_40": {
      "kind": "staged",
      "ossieName": "gasp_rule_of_40",
      "stagedDataset": "gasp_staged_gasp_rule_of_40",
      "reason": "lag"
    },
    "total_active_partners": {
      "kind": "direct",
      "ossieName": "gasp_total_active_partners",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "partner_tier_distribution": {
      "kind": "staged",
      "ossieName": "gasp_partner_tier_distribution",
      "stagedDataset": "gasp_staged_gasp_partner_tier_distribution",
      "reason": "total"
    },
    "partner_activation_rate": {
      "kind": "staged",
      "ossieName": "gasp_partner_activation_rate",
      "stagedDataset": "gasp_staged_gasp_partner_activation_rate",
      "reason": "period bound in filter"
    },
    "partner_churn_rate": {
      "kind": "staged",
      "ossieName": "gasp_partner_churn_rate",
      "stagedDataset": "gasp_staged_gasp_partner_churn_rate",
      "reason": "at period_start"
    },
    "partner_churn_rate:by_partner_tier": {
      "kind": "staged",
      "ossieName": "gasp_partner_churn_rate_by_partner_tier",
      "stagedDataset": "gasp_staged_gasp_partner_churn_rate_by_partner_tier",
      "reason": "at period_start"
    },
    "partner_sourced_revenue": {
      "kind": "staged",
      "ossieName": "gasp_partner_sourced_revenue",
      "stagedDataset": "gasp_staged_gasp_partner_sourced_revenue",
      "reason": "period bound in filter"
    },
    "partner_influenced_revenue": {
      "kind": "staged",
      "ossieName": "gasp_partner_influenced_revenue",
      "stagedDataset": "gasp_staged_gasp_partner_influenced_revenue",
      "reason": "period bound in filter"
    },
    "channel_revenue_percentage": {
      "kind": "staged",
      "ossieName": "gasp_channel_revenue_percentage",
      "stagedDataset": "gasp_staged_gasp_channel_revenue_percentage",
      "reason": "period bound in filter"
    },
    "partner_revenue_growth": {
      "kind": "staged",
      "ossieName": "gasp_partner_revenue_growth",
      "stagedDataset": "gasp_staged_gasp_partner_revenue_growth",
      "reason": "lag"
    },
    "average_partner_revenue": {
      "kind": "staged",
      "ossieName": "gasp_average_partner_revenue",
      "stagedDataset": "gasp_staged_gasp_average_partner_revenue",
      "reason": "period bound in filter"
    },
    "partner_deal_registration_volume": {
      "kind": "staged",
      "ossieName": "gasp_partner_deal_registration_volume",
      "stagedDataset": "gasp_staged_gasp_partner_deal_registration_volume",
      "reason": "period bound in filter"
    },
    "deal_registration_to_close_rate": {
      "kind": "staged",
      "ossieName": "gasp_deal_registration_to_close_rate",
      "stagedDataset": "gasp_staged_gasp_deal_registration_to_close_rate",
      "reason": "period bound in filter"
    },
    "partner_win_rate": {
      "kind": "staged",
      "ossieName": "gasp_partner_win_rate",
      "stagedDataset": "gasp_staged_gasp_partner_win_rate",
      "reason": "period bound in filter"
    },
    "partner_deal_size": {
      "kind": "staged",
      "ossieName": "gasp_partner_deal_size",
      "stagedDataset": "gasp_staged_gasp_partner_deal_size",
      "reason": "period bound in filter"
    },
    "partner_sales_cycle": {
      "kind": "staged",
      "ossieName": "gasp_partner_sales_cycle",
      "stagedDataset": "gasp_staged_gasp_partner_sales_cycle",
      "reason": "period bound in filter"
    },
    "partner_portal_engagement": {
      "kind": "notComputable",
      "reason": "A family of portal activity measures (logins, downloads, modules accessed, registrations) with no single formula."
    },
    "certification_rate": {
      "kind": "direct",
      "ossieName": "gasp_certification_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "training_completion": {
      "kind": "direct",
      "ossieName": "gasp_training_completion",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "joint_marketing_activities": {
      "kind": "direct",
      "ossieName": "gasp_joint_marketing_activities",
      "rung": "M3",
      "constructs": [
        "filtered aggregate"
      ]
    },
    "partner_nps": {
      "kind": "direct",
      "ossieName": "gasp_partner_nps",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "partner_margin_commission": {
      "kind": "staged",
      "ossieName": "gasp_partner_margin_commission",
      "stagedDataset": "gasp_staged_gasp_partner_margin_commission",
      "reason": "period bound in filter"
    },
    "cost_of_partner_acquisition": {
      "kind": "staged",
      "ossieName": "gasp_cost_of_partner_acquisition",
      "stagedDataset": "gasp_staged_gasp_cost_of_partner_acquisition",
      "reason": "period bound in filter"
    },
    "partner_lifetime_value": {
      "kind": "staged",
      "ossieName": "gasp_partner_lifetime_value",
      "stagedDataset": "gasp_staged_gasp_partner_lifetime_value",
      "reason": "at period_start"
    },
    "partner_roi": {
      "kind": "staged",
      "ossieName": "gasp_partner_roi",
      "stagedDataset": "gasp_staged_gasp_partner_roi",
      "reason": "period bound in filter"
    },
    "resellers": {
      "kind": "notComputable",
      "reason": "A partner-type grouping that applies existing metrics per type (key metric revenue per reseller), not a single formula."
    },
    "referral_partners": {
      "kind": "notComputable",
      "reason": "A partner-type grouping that applies existing metrics per type (key metric referrals per partner), not a single formula."
    },
    "technology_partners_integrations": {
      "kind": "notComputable",
      "reason": "A partner-type grouping that applies existing metrics per type (key metric customers using integration), not a single formula."
    },
    "system_integrators_sis": {
      "kind": "notComputable",
      "reason": "A partner-type grouping that applies existing metrics per type (key metric implementations delivered), not a single formula."
    },
    "managed_service_providers_msps": {
      "kind": "notComputable",
      "reason": "A partner-type grouping that applies existing metrics per type (key metric seats under management), not a single formula."
    },
    "marketplace_revenue": {
      "kind": "staged",
      "ossieName": "gasp_marketplace_revenue",
      "stagedDataset": "gasp_staged_gasp_marketplace_revenue",
      "reason": "period bound in filter"
    },
    "marketplace_as_of_revenue": {
      "kind": "staged",
      "ossieName": "gasp_marketplace_as_of_revenue",
      "stagedDataset": "gasp_staged_gasp_marketplace_as_of_revenue",
      "reason": "period bound in filter"
    },
    "marketplace_listings_performance": {
      "kind": "notComputable",
      "reason": "A set of listing measures (views, trial starts, conversions, ratings) with no single formula."
    },
    "pipeline_value": {
      "kind": "direct",
      "ossieName": "gasp_pipeline_value",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "pipeline_value:unweighted": {
      "kind": "direct",
      "ossieName": "gasp_pipeline_value_unweighted",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "pipeline_coverage": {
      "kind": "direct",
      "ossieName": "gasp_pipeline_coverage",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "pipeline_velocity": {
      "kind": "staged",
      "ossieName": "gasp_pipeline_velocity",
      "stagedDataset": "gasp_staged_gasp_pipeline_velocity",
      "reason": "period bound in filter"
    },
    "win_rate": {
      "kind": "staged",
      "ossieName": "gasp_win_rate",
      "stagedDataset": "gasp_staged_gasp_win_rate",
      "reason": "period bound in filter"
    },
    "win_rate:by_channel": {
      "kind": "staged",
      "ossieName": "gasp_win_rate_by_channel",
      "stagedDataset": "gasp_staged_gasp_win_rate_by_channel",
      "reason": "period bound in filter"
    },
    "lead_to_opportunity_rate": {
      "kind": "staged",
      "ossieName": "gasp_lead_to_opportunity_rate",
      "stagedDataset": "gasp_staged_gasp_lead_to_opportunity_rate",
      "reason": "period bound in filter"
    },
    "opportunity_to_close_rate": {
      "kind": "staged",
      "ossieName": "gasp_opportunity_to_close_rate",
      "stagedDataset": "gasp_staged_gasp_opportunity_to_close_rate",
      "reason": "period bound in filter"
    },
    "acv": {
      "kind": "direct",
      "ossieName": "gasp_acv",
      "rung": "M3",
      "constructs": [
        "filtered aggregate"
      ]
    },
    "average_deal_size": {
      "kind": "staged",
      "ossieName": "gasp_average_deal_size",
      "stagedDataset": "gasp_staged_gasp_average_deal_size",
      "reason": "period bound in filter"
    },
    "sales_cycle": {
      "kind": "staged",
      "ossieName": "gasp_sales_cycle",
      "stagedDataset": "gasp_staged_gasp_sales_cycle",
      "reason": "period bound in filter"
    },
    "sales_cycle:median": {
      "kind": "staged",
      "ossieName": "gasp_sales_cycle_median",
      "stagedDataset": "gasp_staged_gasp_sales_cycle_median",
      "reason": "period bound in filter"
    },
    "quota_attainment": {
      "kind": "direct",
      "ossieName": "gasp_quota_attainment",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "quota_attainment:mean_of_reps": {
      "kind": "direct",
      "ossieName": "gasp_quota_attainment_mean_of_reps",
      "rung": "M2",
      "constructs": []
    },
    "revenue_per_rep": {
      "kind": "direct",
      "ossieName": "gasp_revenue_per_rep",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "ramp_time": {
      "kind": "direct",
      "ossieName": "gasp_ramp_time",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "activity_metrics_diagnostic": {
      "kind": "notComputable",
      "reason": "A diagnostic family of activity counts (calls, emails, meetings, demos) with no single formula."
    },
    "services_revenue": {
      "kind": "direct",
      "ossieName": "gasp_services_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "services_as_of_total_revenue": {
      "kind": "direct",
      "ossieName": "gasp_services_as_of_total_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "services_attach_rate": {
      "kind": "staged",
      "ossieName": "gasp_services_attach_rate",
      "stagedDataset": "gasp_staged_gasp_services_attach_rate",
      "reason": "period bound in filter"
    },
    "average_services_deal_size": {
      "kind": "direct",
      "ossieName": "gasp_average_services_deal_size",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "services_backlog": {
      "kind": "staged",
      "ossieName": "gasp_services_backlog",
      "stagedDataset": "gasp_staged_gasp_services_backlog",
      "reason": "to_date"
    },
    "services_gross_margin": {
      "kind": "direct",
      "ossieName": "gasp_services_gross_margin",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "project_margin": {
      "kind": "staged",
      "ossieName": "gasp_project_margin",
      "stagedDataset": "gasp_staged_gasp_project_margin",
      "reason": "period bound in filter"
    },
    "realization_rate": {
      "kind": "direct",
      "ossieName": "gasp_realization_rate",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "write_off_rate": {
      "kind": "direct",
      "ossieName": "gasp_write_off_rate",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "billable_utilization": {
      "kind": "direct",
      "ossieName": "gasp_billable_utilization",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "total_utilization": {
      "kind": "direct",
      "ossieName": "gasp_total_utilization",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "bench_rate": {
      "kind": "direct",
      "ossieName": "gasp_bench_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "capacity": {
      "kind": "direct",
      "ossieName": "gasp_capacity",
      "rung": "M2",
      "constructs": [
        "null guard"
      ]
    },
    "capacity_utilization": {
      "kind": "direct",
      "ossieName": "gasp_capacity_utilization",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "on_time_delivery": {
      "kind": "staged",
      "ossieName": "gasp_on_time_delivery",
      "stagedDataset": "gasp_staged_gasp_on_time_delivery",
      "reason": "period bound in filter"
    },
    "on_budget_delivery": {
      "kind": "staged",
      "ossieName": "gasp_on_budget_delivery",
      "stagedDataset": "gasp_staged_gasp_on_budget_delivery",
      "reason": "period bound in filter"
    },
    "scope_change_rate": {
      "kind": "direct",
      "ossieName": "gasp_scope_change_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "project_duration_accuracy": {
      "kind": "staged",
      "ossieName": "gasp_project_duration_accuracy",
      "stagedDataset": "gasp_staged_gasp_project_duration_accuracy",
      "reason": "period bound in filter"
    },
    "project_csat": {
      "kind": "direct",
      "ossieName": "gasp_project_csat",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "project_nps": {
      "kind": "direct",
      "ossieName": "gasp_project_nps",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "rework_rate": {
      "kind": "direct",
      "ossieName": "gasp_rework_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "reference_ability": {
      "kind": "staged",
      "ossieName": "gasp_reference_ability",
      "stagedDataset": "gasp_staged_gasp_reference_ability",
      "reason": "period bound in filter"
    },
    "revenue_per_consultant": {
      "kind": "direct",
      "ossieName": "gasp_revenue_per_consultant",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "projects_per_consultant": {
      "kind": "staged",
      "ossieName": "gasp_projects_per_consultant",
      "stagedDataset": "gasp_staged_gasp_projects_per_consultant",
      "reason": "period bound in filter"
    },
    "average_project_duration": {
      "kind": "staged",
      "ossieName": "gasp_average_project_duration",
      "stagedDataset": "gasp_staged_gasp_average_project_duration",
      "reason": "period bound in filter"
    },
    "services_pipeline": {
      "kind": "direct",
      "ossieName": "gasp_services_pipeline",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "services_win_rate": {
      "kind": "staged",
      "ossieName": "gasp_services_win_rate",
      "stagedDataset": "gasp_staged_gasp_services_win_rate",
      "reason": "period bound in filter"
    },
    "time_to_start": {
      "kind": "staged",
      "ossieName": "gasp_time_to_start",
      "stagedDataset": "gasp_staged_gasp_time_to_start",
      "reason": "period bound in filter"
    },
    "ticket_volume": {
      "kind": "direct",
      "ossieName": "gasp_ticket_volume",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "ticket_volume:by_ticket_type": {
      "kind": "direct",
      "ossieName": "gasp_ticket_volume_by_ticket_type",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "tickets_per_customer": {
      "kind": "direct",
      "ossieName": "gasp_tickets_per_customer",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "ticket_backlog": {
      "kind": "staged",
      "ossieName": "gasp_ticket_backlog",
      "stagedDataset": "gasp_staged_gasp_ticket_backlog",
      "reason": "to_date"
    },
    "ticket_distribution_by_type": {
      "kind": "staged",
      "ossieName": "gasp_ticket_distribution_by_type",
      "stagedDataset": "gasp_staged_gasp_ticket_distribution_by_type",
      "reason": "total"
    },
    "frt": {
      "kind": "direct",
      "ossieName": "gasp_frt",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar",
        "percentile"
      ]
    },
    "first_response_sla_adherence": {
      "kind": "direct",
      "ossieName": "gasp_first_response_sla_adherence",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "resolution_time_time_to_resolution": {
      "kind": "direct",
      "ossieName": "gasp_resolution_time_time_to_resolution",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar",
        "percentile"
      ]
    },
    "resolution_time_time_to_resolution:by_ticket_type": {
      "kind": "direct",
      "ossieName": "gasp_resolution_time_time_to_resolution_by_ticket_type",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar",
        "percentile"
      ]
    },
    "first_contact_resolution_fcr": {
      "kind": "direct",
      "ossieName": "gasp_first_contact_resolution_fcr",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "resolution_sla_adherence": {
      "kind": "direct",
      "ossieName": "gasp_resolution_sla_adherence",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "reopen_rate": {
      "kind": "direct",
      "ossieName": "gasp_reopen_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "csat": {
      "kind": "direct",
      "ossieName": "gasp_csat",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "customer_effort_score_ces": {
      "kind": "direct",
      "ossieName": "gasp_customer_effort_score_ces",
      "rung": "M2",
      "constructs": []
    },
    "customer_effort_score_ces:percent": {
      "kind": "direct",
      "ossieName": "gasp_customer_effort_score_ces_percent",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "tickets_per_agent": {
      "kind": "direct",
      "ossieName": "gasp_tickets_per_agent",
      "rung": "M2",
      "constructs": [
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "cost_per_ticket": {
      "kind": "direct",
      "ossieName": "gasp_cost_per_ticket",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "self_service_rate": {
      "kind": "direct",
      "ossieName": "gasp_self_service_rate",
      "rung": "M2",
      "constructs": [
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "logo_retention_rate": {
      "kind": "staged",
      "ossieName": "gasp_logo_retention_rate",
      "stagedDataset": "gasp_staged_gasp_logo_retention_rate",
      "reason": "at period_start"
    },
    "logo_retention_rate:customer_counts": {
      "kind": "staged",
      "ossieName": "gasp_logo_retention_rate_customer_counts",
      "stagedDataset": "gasp_staged_gasp_logo_retention_rate_customer_counts",
      "reason": "at period_start"
    },
    "logo_retention_rate:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_logo_retention_rate_by_segment",
      "stagedDataset": "gasp_staged_gasp_logo_retention_rate_by_segment",
      "reason": "at period_start"
    },
    "health_score": {
      "kind": "direct",
      "ossieName": "gasp_health_score",
      "rung": "M3",
      "constructs": [
        "filtered aggregate"
      ]
    },
    "health_score:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_health_score_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate"
      ]
    },
    "health_score_coverage": {
      "kind": "direct",
      "ossieName": "gasp_health_score_coverage",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "health_score_coverage:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_health_score_coverage_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "at_risk_rate": {
      "kind": "direct",
      "ossieName": "gasp_at_risk_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "at_risk_rate:entered_at_risk": {
      "kind": "staged",
      "ossieName": "gasp_at_risk_rate_entered_at_risk",
      "stagedDataset": "gasp_staged_gasp_at_risk_rate_entered_at_risk",
      "reason": "at period_start"
    },
    "at_risk_rate:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_at_risk_rate_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "qbr_completion": {
      "kind": "direct",
      "ossieName": "gasp_qbr_completion",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "executive_sponsor_coverage": {
      "kind": "direct",
      "ossieName": "gasp_executive_sponsor_coverage",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "contact_coverage": {
      "kind": "direct",
      "ossieName": "gasp_contact_coverage",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "expansion_rate": {
      "kind": "staged",
      "ossieName": "gasp_expansion_rate",
      "stagedDataset": "gasp_staged_gasp_expansion_rate",
      "reason": "at period_start"
    },
    "expansion_rate:by_segment": {
      "kind": "staged",
      "ossieName": "gasp_expansion_rate_by_segment",
      "stagedDataset": "gasp_staged_gasp_expansion_rate_by_segment",
      "reason": "at period_start"
    },
    "license_utilization": {
      "kind": "direct",
      "ossieName": "gasp_license_utilization",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "license_utilization:by_product": {
      "kind": "direct",
      "ossieName": "gasp_license_utilization_by_product",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "upsell_rate": {
      "kind": "staged",
      "ossieName": "gasp_upsell_rate",
      "stagedDataset": "gasp_staged_gasp_upsell_rate",
      "reason": "at period_start"
    },
    "cross_sell_rate": {
      "kind": "staged",
      "ossieName": "gasp_cross_sell_rate",
      "stagedDataset": "gasp_staged_gasp_cross_sell_rate",
      "reason": "at period_start"
    },
    "renewal_rate": {
      "kind": "staged",
      "ossieName": "gasp_renewal_rate",
      "stagedDataset": "gasp_staged_gasp_renewal_rate",
      "reason": "period bound in filter"
    },
    "renewal_rate:by_value": {
      "kind": "staged",
      "ossieName": "gasp_renewal_rate_by_value",
      "stagedDataset": "gasp_staged_gasp_renewal_rate_by_value",
      "reason": "period bound in filter"
    },
    "renewal_forecast_accuracy": {
      "kind": "staged",
      "ossieName": "gasp_renewal_forecast_accuracy",
      "stagedDataset": "gasp_staged_gasp_renewal_forecast_accuracy",
      "reason": "period bound in filter"
    },
    "days_to_renewal": {
      "kind": "direct",
      "ossieName": "gasp_days_to_renewal",
      "rung": "M2",
      "constructs": [
        "date scalar"
      ]
    },
    "accounts_per_csm": {
      "kind": "direct",
      "ossieName": "gasp_accounts_per_csm",
      "rung": "M2",
      "constructs": [
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "arr_per_csm": {
      "kind": "direct",
      "ossieName": "gasp_arr_per_csm",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "pipeline_hygiene_score": {
      "kind": "direct",
      "ossieName": "gasp_pipeline_hygiene_score",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "forecast_accuracy": {
      "kind": "direct",
      "ossieName": "gasp_forecast_accuracy",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "commit_accuracy": {
      "kind": "staged",
      "ossieName": "gasp_commit_accuracy",
      "stagedDataset": "gasp_staged_gasp_commit_accuracy",
      "reason": "period bound in filter"
    },
    "stage_conversion_rates": {
      "kind": "direct",
      "ossieName": "gasp_stage_conversion_rates",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "quote_volume": {
      "kind": "staged",
      "ossieName": "gasp_quote_volume",
      "stagedDataset": "gasp_staged_gasp_quote_volume",
      "reason": "period bound in filter"
    },
    "quote_to_order_rate": {
      "kind": "staged",
      "ossieName": "gasp_quote_to_order_rate",
      "stagedDataset": "gasp_staged_gasp_quote_to_order_rate",
      "reason": "period bound in filter"
    },
    "quote_cycle_time": {
      "kind": "staged",
      "ossieName": "gasp_quote_cycle_time",
      "stagedDataset": "gasp_staged_gasp_quote_cycle_time",
      "reason": "period bound in filter"
    },
    "quote_accuracy": {
      "kind": "staged",
      "ossieName": "gasp_quote_accuracy",
      "stagedDataset": "gasp_staged_gasp_quote_accuracy",
      "reason": "period bound in filter"
    },
    "discount_rate": {
      "kind": "staged",
      "ossieName": "gasp_discount_rate",
      "stagedDataset": "gasp_staged_gasp_discount_rate",
      "reason": "period bound in filter"
    },
    "order_to_activation_time": {
      "kind": "staged",
      "ossieName": "gasp_order_to_activation_time",
      "stagedDataset": "gasp_staged_gasp_order_to_activation_time",
      "reason": "period bound in filter"
    },
    "order_processing_time": {
      "kind": "staged",
      "ossieName": "gasp_order_processing_time",
      "stagedDataset": "gasp_staged_gasp_order_processing_time",
      "reason": "period bound in filter"
    },
    "order_error_rate": {
      "kind": "staged",
      "ossieName": "gasp_order_error_rate",
      "stagedDataset": "gasp_staged_gasp_order_error_rate",
      "reason": "period bound in filter"
    },
    "billing_accuracy": {
      "kind": "staged",
      "ossieName": "gasp_billing_accuracy",
      "stagedDataset": "gasp_staged_gasp_billing_accuracy",
      "reason": "period bound in filter"
    },
    "invoice_cycle_time": {
      "kind": "staged",
      "ossieName": "gasp_invoice_cycle_time",
      "stagedDataset": "gasp_staged_gasp_invoice_cycle_time",
      "reason": "period bound in filter"
    },
    "billing_disputes": {
      "kind": "staged",
      "ossieName": "gasp_billing_disputes",
      "stagedDataset": "gasp_staged_gasp_billing_disputes",
      "reason": "period bound in filter"
    },
    "billing_disputes:by_payment_status": {
      "kind": "staged",
      "ossieName": "gasp_billing_disputes_by_payment_status",
      "stagedDataset": "gasp_staged_gasp_billing_disputes_by_payment_status",
      "reason": "period bound in filter"
    },
    "credit_memo_rate": {
      "kind": "staged",
      "ossieName": "gasp_credit_memo_rate",
      "stagedDataset": "gasp_staged_gasp_credit_memo_rate",
      "reason": "period bound in filter"
    },
    "dso": {
      "kind": "staged",
      "ossieName": "gasp_dso",
      "stagedDataset": "gasp_staged_gasp_dso",
      "reason": "period_days"
    },
    "collection_effectiveness_index_cei": {
      "kind": "staged",
      "ossieName": "gasp_collection_effectiveness_index_cei",
      "stagedDataset": "gasp_staged_gasp_collection_effectiveness_index_cei",
      "reason": "at period_start"
    },
    "aging_buckets": {
      "kind": "staged",
      "ossieName": "gasp_aging_buckets",
      "stagedDataset": "gasp_staged_gasp_aging_buckets",
      "reason": "bucket"
    },
    "accounts_receivable_balance": {
      "kind": "direct",
      "ossieName": "gasp_accounts_receivable_balance",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "accounts_receivable_balance:by_payment_status": {
      "kind": "direct",
      "ossieName": "gasp_accounts_receivable_balance_by_payment_status",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "bad_debt_rate": {
      "kind": "direct",
      "ossieName": "gasp_bad_debt_rate",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "payment_method_distribution": {
      "kind": "staged",
      "ossieName": "gasp_payment_method_distribution",
      "stagedDataset": "gasp_staged_gasp_payment_method_distribution",
      "reason": "total"
    },
    "recognized_vs_billed": {
      "kind": "direct",
      "ossieName": "gasp_recognized_vs_billed",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "deferred_revenue_balance": {
      "kind": "staged",
      "ossieName": "gasp_deferred_revenue_balance",
      "stagedDataset": "gasp_staged_gasp_deferred_revenue_balance",
      "reason": "to_date"
    },
    "unbilled_revenue": {
      "kind": "direct",
      "ossieName": "gasp_unbilled_revenue",
      "rung": "M2",
      "constructs": [
        "null guard"
      ]
    },
    "revenue_recognition_accuracy": {
      "kind": "direct",
      "ossieName": "gasp_revenue_recognition_accuracy",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "renewal_notification_rate": {
      "kind": "staged",
      "ossieName": "gasp_renewal_notification_rate",
      "stagedDataset": "gasp_staged_gasp_renewal_notification_rate",
      "reason": "period bound in filter"
    },
    "auto_renewal_rate": {
      "kind": "staged",
      "ossieName": "gasp_auto_renewal_rate",
      "stagedDataset": "gasp_staged_gasp_auto_renewal_rate",
      "reason": "period bound in filter"
    },
    "renewal_processing_time": {
      "kind": "staged",
      "ossieName": "gasp_renewal_processing_time",
      "stagedDataset": "gasp_staged_gasp_renewal_processing_time",
      "reason": "period bound in filter"
    },
    "system_sync_accuracy": {
      "kind": "direct",
      "ossieName": "gasp_system_sync_accuracy",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "data_completeness": {
      "kind": "direct",
      "ossieName": "gasp_data_completeness",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "daily_active_users_dau": {
      "kind": "staged",
      "ossieName": "gasp_daily_active_users_dau",
      "stagedDataset": "gasp_staged_gasp_daily_active_users_dau",
      "reason": "window"
    },
    "weekly_active_users_wau": {
      "kind": "staged",
      "ossieName": "gasp_weekly_active_users_wau",
      "stagedDataset": "gasp_staged_gasp_weekly_active_users_wau",
      "reason": "window"
    },
    "monthly_active_users_mau": {
      "kind": "staged",
      "ossieName": "gasp_monthly_active_users_mau",
      "stagedDataset": "gasp_staged_gasp_monthly_active_users_mau",
      "reason": "window"
    },
    "dau_mau": {
      "kind": "staged",
      "ossieName": "gasp_dau_mau",
      "stagedDataset": "gasp_staged_gasp_dau_mau",
      "reason": "window"
    },
    "waumau_ratio": {
      "kind": "staged",
      "ossieName": "gasp_waumau_ratio",
      "stagedDataset": "gasp_staged_gasp_waumau_ratio",
      "reason": "window"
    },
    "active_accounts": {
      "kind": "direct",
      "ossieName": "gasp_active_accounts",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "activation_rate": {
      "kind": "staged",
      "ossieName": "gasp_activation_rate",
      "stagedDataset": "gasp_staged_gasp_activation_rate",
      "reason": "period bound in filter"
    },
    "feature_adoption": {
      "kind": "direct",
      "ossieName": "gasp_feature_adoption",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "core_feature_adoption": {
      "kind": "direct",
      "ossieName": "gasp_core_feature_adoption",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "feature_depth": {
      "kind": "direct",
      "ossieName": "gasp_feature_depth",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "time_to_feature_adoption": {
      "kind": "staged",
      "ossieName": "gasp_time_to_feature_adoption",
      "stagedDataset": "gasp_staged_gasp_time_to_feature_adoption",
      "reason": "period bound in filter"
    },
    "breadth_of_adoption": {
      "kind": "staged",
      "ossieName": "gasp_breadth_of_adoption",
      "stagedDataset": "gasp_staged_gasp_breadth_of_adoption",
      "reason": "distinct pair"
    },
    "session_frequency": {
      "kind": "direct",
      "ossieName": "gasp_session_frequency",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "session_duration": {
      "kind": "direct",
      "ossieName": "gasp_session_duration",
      "rung": "M2",
      "constructs": []
    },
    "time_in_product": {
      "kind": "direct",
      "ossieName": "gasp_time_in_product",
      "rung": "M2",
      "constructs": [
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "actions_per_session": {
      "kind": "direct",
      "ossieName": "gasp_actions_per_session",
      "rung": "M2",
      "constructs": [
        "count distinct",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "pqas": {
      "kind": "direct",
      "ossieName": "gasp_pqas",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "user_retention_day_n": {
      "kind": "staged",
      "ossieName": "gasp_user_retention_day_n",
      "stagedDataset": "gasp_staged_gasp_user_retention_day_n",
      "reason": "all_time"
    },
    "cohort_retention": {
      "kind": "staged",
      "ossieName": "gasp_cohort_retention",
      "stagedDataset": "gasp_staged_gasp_cohort_retention",
      "reason": "all_time"
    },
    "resurrection_rate": {
      "kind": "staged",
      "ossieName": "gasp_resurrection_rate",
      "stagedDataset": "gasp_staged_gasp_resurrection_rate",
      "reason": "at period_start"
    },
    "release_frequency": {
      "kind": "direct",
      "ossieName": "gasp_release_frequency",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "feature_delivery_rate": {
      "kind": "staged",
      "ossieName": "gasp_feature_delivery_rate",
      "stagedDataset": "gasp_staged_gasp_feature_delivery_rate",
      "reason": "period bound in filter"
    },
    "roadmap_completion": {
      "kind": "direct",
      "ossieName": "gasp_roadmap_completion",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "time_to_market": {
      "kind": "staged",
      "ossieName": "gasp_time_to_market",
      "stagedDataset": "gasp_staged_gasp_time_to_market",
      "reason": "period bound in filter"
    },
    "error_rate_user_facing": {
      "kind": "direct",
      "ossieName": "gasp_error_rate_user_facing",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "bug_escape_rate": {
      "kind": "direct",
      "ossieName": "gasp_bug_escape_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "user_reported_issues": {
      "kind": "direct",
      "ossieName": "gasp_user_reported_issues",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "feature_request_volume": {
      "kind": "direct",
      "ossieName": "gasp_feature_request_volume",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "uptime": {
      "kind": "staged",
      "ossieName": "gasp_uptime",
      "stagedDataset": "gasp_staged_gasp_uptime",
      "reason": "period_days"
    },
    "sla_adherence": {
      "kind": "direct",
      "ossieName": "gasp_sla_adherence",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "error_rate": {
      "kind": "direct",
      "ossieName": "gasp_error_rate",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "latency_response_time": {
      "kind": "direct",
      "ossieName": "gasp_latency_response_time",
      "rung": "M2",
      "constructs": [
        "percentile"
      ]
    },
    "latency_response_time:p50": {
      "kind": "direct",
      "ossieName": "gasp_latency_response_time_p50",
      "rung": "M2",
      "constructs": [
        "percentile"
      ]
    },
    "latency_response_time:p99": {
      "kind": "direct",
      "ossieName": "gasp_latency_response_time_p99",
      "rung": "M2",
      "constructs": [
        "percentile"
      ]
    },
    "incident_count": {
      "kind": "direct",
      "ossieName": "gasp_incident_count",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "incident_count:by_severity": {
      "kind": "direct",
      "ossieName": "gasp_incident_count_by_severity",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "incident_count:by_incident_type": {
      "kind": "direct",
      "ossieName": "gasp_incident_count_by_incident_type",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "mean_time_to_detect_mttd": {
      "kind": "direct",
      "ossieName": "gasp_mean_time_to_detect_mttd",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "mean_time_to_acknowledge_mtta": {
      "kind": "direct",
      "ossieName": "gasp_mean_time_to_acknowledge_mtta",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "mttr": {
      "kind": "direct",
      "ossieName": "gasp_mttr",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "mttr:by_severity": {
      "kind": "direct",
      "ossieName": "gasp_mttr_by_severity",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "mttr:by_incident_type": {
      "kind": "direct",
      "ossieName": "gasp_mttr_by_incident_type",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "change_failure_rate": {
      "kind": "direct",
      "ossieName": "gasp_change_failure_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "deployment_frequency": {
      "kind": "direct",
      "ossieName": "gasp_deployment_frequency",
      "rung": "M2",
      "constructs": [
        "count distinct"
      ]
    },
    "lead_time_for_changes": {
      "kind": "direct",
      "ossieName": "gasp_lead_time_for_changes",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "date scalar",
        "percentile"
      ]
    },
    "mean_time_to_recovery_mttr": {
      "kind": "direct",
      "ossieName": "gasp_mean_time_to_recovery_mttr",
      "rung": "M2",
      "constructs": []
    },
    "infrastructure_utilization": {
      "kind": "direct",
      "ossieName": "gasp_infrastructure_utilization",
      "rung": "M2",
      "constructs": []
    },
    "infrastructure_cost_per_customer": {
      "kind": "direct",
      "ossieName": "gasp_infrastructure_cost_per_customer",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "headroom": {
      "kind": "direct",
      "ossieName": "gasp_headroom",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates"
      ]
    },
    "vulnerability_count": {
      "kind": "direct",
      "ossieName": "gasp_vulnerability_count",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "time_to_patch": {
      "kind": "staged",
      "ossieName": "gasp_time_to_patch",
      "stagedDataset": "gasp_staged_gasp_time_to_patch",
      "reason": "period bound in filter"
    },
    "security_incident_count": {
      "kind": "direct",
      "ossieName": "gasp_security_incident_count",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "revenue_gaap": {
      "kind": "direct",
      "ossieName": "gasp_revenue_gaap",
      "rung": "M2",
      "constructs": [
        "null guard"
      ]
    },
    "bookings": {
      "kind": "direct",
      "ossieName": "gasp_bookings",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "bookings:new": {
      "kind": "direct",
      "ossieName": "gasp_bookings_new",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "bookings:renewal": {
      "kind": "direct",
      "ossieName": "gasp_bookings_renewal",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "bookings:expansion": {
      "kind": "direct",
      "ossieName": "gasp_bookings_expansion",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "billings": {
      "kind": "staged",
      "ossieName": "gasp_billings",
      "stagedDataset": "gasp_staged_gasp_billings",
      "reason": "period bound in filter"
    },
    "billings:by_payment_status": {
      "kind": "staged",
      "ossieName": "gasp_billings_by_payment_status",
      "stagedDataset": "gasp_staged_gasp_billings_by_payment_status",
      "reason": "period bound in filter"
    },
    "revenue_per_employee": {
      "kind": "direct",
      "ossieName": "gasp_revenue_per_employee",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "operating_margin": {
      "kind": "direct",
      "ossieName": "gasp_operating_margin",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "ebitda_margin": {
      "kind": "direct",
      "ossieName": "gasp_ebitda_margin",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "net_income_margin": {
      "kind": "direct",
      "ossieName": "gasp_net_income_margin",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "burn_rate": {
      "kind": "staged",
      "ossieName": "gasp_burn_rate",
      "stagedDataset": "gasp_staged_gasp_burn_rate",
      "reason": "at period_start"
    },
    "cash_runway": {
      "kind": "staged",
      "ossieName": "gasp_cash_runway",
      "stagedDataset": "gasp_staged_gasp_cash_runway",
      "reason": "at period_start"
    },
    "fcf": {
      "kind": "direct",
      "ossieName": "gasp_fcf",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "free_cash_flow_margin": {
      "kind": "direct",
      "ossieName": "gasp_free_cash_flow_margin",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "magic_number": {
      "kind": "staged",
      "ossieName": "gasp_magic_number",
      "stagedDataset": "gasp_staged_gasp_magic_number",
      "reason": "lag"
    },
    "burn_multiple": {
      "kind": "staged",
      "ossieName": "gasp_burn_multiple",
      "stagedDataset": "gasp_staged_gasp_burn_multiple",
      "reason": "at period_start"
    },
    "opex_ratio": {
      "kind": "direct",
      "ossieName": "gasp_opex_ratio",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "opex_ratio:by_cost_centre": {
      "kind": "staged",
      "ossieName": "gasp_opex_ratio_by_cost_centre",
      "stagedDataset": "gasp_staged_gasp_opex_ratio_by_cost_centre",
      "reason": "total"
    },
    "sm_as_of_revenue": {
      "kind": "direct",
      "ossieName": "gasp_sm_as_of_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "rd_as_of_revenue": {
      "kind": "direct",
      "ossieName": "gasp_rd_as_of_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "ga_as_of_revenue": {
      "kind": "direct",
      "ossieName": "gasp_ga_as_of_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "collection_rate": {
      "kind": "staged",
      "ossieName": "gasp_collection_rate",
      "stagedDataset": "gasp_staged_gasp_collection_rate",
      "reason": "period bound in filter"
    },
    "ttfv": {
      "kind": "direct",
      "ossieName": "gasp_ttfv",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "date scalar",
        "percentile"
      ]
    },
    "time_to_go_live": {
      "kind": "direct",
      "ossieName": "gasp_time_to_go_live",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "date scalar",
        "percentile"
      ]
    },
    "time_to_full_adoption": {
      "kind": "direct",
      "ossieName": "gasp_time_to_full_adoption",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "date scalar",
        "percentile"
      ]
    },
    "onboarding_duration": {
      "kind": "staged",
      "ossieName": "gasp_onboarding_duration",
      "stagedDataset": "gasp_staged_gasp_onboarding_duration",
      "reason": "period bound in filter"
    },
    "onboarding_completion": {
      "kind": "staged",
      "ossieName": "gasp_onboarding_completion",
      "stagedDataset": "gasp_staged_gasp_onboarding_completion",
      "reason": "period bound in filter"
    },
    "on_time_completion_rate": {
      "kind": "staged",
      "ossieName": "gasp_on_time_completion_rate",
      "stagedDataset": "gasp_staged_gasp_on_time_completion_rate",
      "reason": "period bound in filter"
    },
    "onboarding_engagement_score": {
      "kind": "notComputable",
      "reason": "Weighted average of engagement indicators (attendance, responsiveness, task completion, logins) whose weights the markdown does not define."
    },
    "session_attendance_rate": {
      "kind": "direct",
      "ossieName": "gasp_session_attendance_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "task_completion_rate": {
      "kind": "direct",
      "ossieName": "gasp_task_completion_rate",
      "rung": "M2",
      "constructs": [
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "onboarding_csat": {
      "kind": "direct",
      "ossieName": "gasp_onboarding_csat",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "onboarding_nps": {
      "kind": "direct",
      "ossieName": "gasp_onboarding_nps",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "implementation_quality_score": {
      "kind": "notComputable",
      "reason": "Assessment built from qualitative components (configuration accuracy, data quality, integration health, user setup) with no stated formula or weights."
    },
    "onboardings_per_resource": {
      "kind": "staged",
      "ossieName": "gasp_onboardings_per_resource",
      "stagedDataset": "gasp_staged_gasp_onboardings_per_resource",
      "reason": "period bound in filter"
    },
    "cost_per_onboarding": {
      "kind": "staged",
      "ossieName": "gasp_cost_per_onboarding",
      "stagedDataset": "gasp_staged_gasp_cost_per_onboarding",
      "reason": "period bound in filter"
    },
    "time_spent_per_onboarding": {
      "kind": "staged",
      "ossieName": "gasp_time_spent_per_onboarding",
      "stagedDataset": "gasp_staged_gasp_time_spent_per_onboarding",
      "reason": "period bound in filter"
    },
    "day_30_retention_post_onboarding": {
      "kind": "direct",
      "ossieName": "gasp_day_30_retention_post_onboarding",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "onboarding_cohort_churn": {
      "kind": "notComputable",
      "reason": "A segmentation analysis of churn by onboarding duration, completeness and engagement, not a single formula."
    },
    "feature_adoption_at_go_live": {
      "kind": "direct",
      "ossieName": "gasp_feature_adoption_at_go_live",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset"
      ]
    },
    "total_headcount": {
      "kind": "direct",
      "ossieName": "gasp_total_headcount",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "total_headcount:by_department": {
      "kind": "direct",
      "ossieName": "gasp_total_headcount_by_department",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "headcount_growth_rate": {
      "kind": "staged",
      "ossieName": "gasp_headcount_growth_rate",
      "stagedDataset": "gasp_staged_gasp_headcount_growth_rate",
      "reason": "at period_start"
    },
    "employee_turnover": {
      "kind": "staged",
      "ossieName": "gasp_employee_turnover",
      "stagedDataset": "gasp_staged_gasp_employee_turnover",
      "reason": "at period_start"
    },
    "employee_turnover:by_department": {
      "kind": "staged",
      "ossieName": "gasp_employee_turnover_by_department",
      "stagedDataset": "gasp_staged_gasp_employee_turnover_by_department",
      "reason": "at period_start"
    },
    "voluntary_turnover_rate": {
      "kind": "staged",
      "ossieName": "gasp_voluntary_turnover_rate",
      "stagedDataset": "gasp_staged_gasp_voluntary_turnover_rate",
      "reason": "at period_start"
    },
    "voluntary_turnover_rate:by_department": {
      "kind": "staged",
      "ossieName": "gasp_voluntary_turnover_rate_by_department",
      "stagedDataset": "gasp_staged_gasp_voluntary_turnover_rate_by_department",
      "reason": "at period_start"
    },
    "involuntary_turnover_rate": {
      "kind": "staged",
      "ossieName": "gasp_involuntary_turnover_rate",
      "stagedDataset": "gasp_staged_gasp_involuntary_turnover_rate",
      "reason": "at period_start"
    },
    "regrettable_turnover": {
      "kind": "staged",
      "ossieName": "gasp_regrettable_turnover",
      "stagedDataset": "gasp_staged_gasp_regrettable_turnover",
      "reason": "at period_start"
    },
    "average_tenure": {
      "kind": "direct",
      "ossieName": "gasp_average_tenure",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "date scalar"
      ]
    },
    "day_90_turnover": {
      "kind": "staged",
      "ossieName": "gasp_day_90_turnover",
      "stagedDataset": "gasp_staged_gasp_day_90_turnover",
      "reason": "period bound in filter"
    },
    "day_90_turnover:by_hire_source": {
      "kind": "staged",
      "ossieName": "gasp_day_90_turnover_by_hire_source",
      "stagedDataset": "gasp_staged_gasp_day_90_turnover_by_hire_source",
      "reason": "period bound in filter"
    },
    "enps": {
      "kind": "direct",
      "ossieName": "gasp_enps",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "engagement_score": {
      "kind": "direct",
      "ossieName": "gasp_engagement_score",
      "rung": "M3",
      "constructs": [
        "filtered aggregate"
      ]
    },
    "survey_participation_rate": {
      "kind": "direct",
      "ossieName": "gasp_survey_participation_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "open_positions": {
      "kind": "direct",
      "ossieName": "gasp_open_positions",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct"
      ]
    },
    "time_to_fill": {
      "kind": "staged",
      "ossieName": "gasp_time_to_fill",
      "stagedDataset": "gasp_staged_gasp_time_to_fill",
      "reason": "period bound in filter"
    },
    "time_to_hire": {
      "kind": "staged",
      "ossieName": "gasp_time_to_hire",
      "stagedDataset": "gasp_staged_gasp_time_to_hire",
      "reason": "period bound in filter"
    },
    "offer_acceptance_rate": {
      "kind": "direct",
      "ossieName": "gasp_offer_acceptance_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "quality_of_hire": {
      "kind": "direct",
      "ossieName": "gasp_quality_of_hire",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "date scalar"
      ]
    },
    "cost_per_hire": {
      "kind": "staged",
      "ossieName": "gasp_cost_per_hire",
      "stagedDataset": "gasp_staged_gasp_cost_per_hire",
      "reason": "period bound in filter"
    },
    "source_of_hire": {
      "kind": "staged",
      "ossieName": "gasp_source_of_hire",
      "stagedDataset": "gasp_staged_gasp_source_of_hire",
      "reason": "total"
    },
    "compa_ratio": {
      "kind": "direct",
      "ossieName": "gasp_compa_ratio",
      "rung": "M2",
      "constructs": []
    },
    "pay_equity_ratio": {
      "kind": "direct",
      "ossieName": "gasp_pay_equity_ratio",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "diversity_representation": {
      "kind": "direct",
      "ossieName": "gasp_diversity_representation",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "diversity_in_leadership": {
      "kind": "direct",
      "ossieName": "gasp_diversity_in_leadership",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "diversity_hiring_rate": {
      "kind": "staged",
      "ossieName": "gasp_diversity_hiring_rate",
      "stagedDataset": "gasp_staged_gasp_diversity_hiring_rate",
      "reason": "period bound in filter"
    },
    "visitors": {
      "kind": "direct",
      "ossieName": "gasp_visitors",
      "rung": "M2",
      "constructs": [
        "null guard"
      ]
    },
    "visitor_to_lead_rate": {
      "kind": "staged",
      "ossieName": "gasp_visitor_to_lead_rate",
      "stagedDataset": "gasp_staged_gasp_visitor_to_lead_rate",
      "reason": "period bound in filter"
    },
    "leads": {
      "kind": "staged",
      "ossieName": "gasp_leads",
      "stagedDataset": "gasp_staged_gasp_leads",
      "reason": "period bound in filter"
    },
    "leads:by_lead_source": {
      "kind": "staged",
      "ossieName": "gasp_leads_by_lead_source",
      "stagedDataset": "gasp_staged_gasp_leads_by_lead_source",
      "reason": "period bound in filter"
    },
    "leads:by_lead_stage": {
      "kind": "staged",
      "ossieName": "gasp_leads_by_lead_stage",
      "stagedDataset": "gasp_staged_gasp_leads_by_lead_stage",
      "reason": "period bound in filter"
    },
    "mqls": {
      "kind": "staged",
      "ossieName": "gasp_mqls",
      "stagedDataset": "gasp_staged_gasp_mqls",
      "reason": "period bound in filter"
    },
    "mqls:by_lead_source": {
      "kind": "staged",
      "ossieName": "gasp_mqls_by_lead_source",
      "stagedDataset": "gasp_staged_gasp_mqls_by_lead_source",
      "reason": "period bound in filter"
    },
    "lead_to_mql_rate": {
      "kind": "staged",
      "ossieName": "gasp_lead_to_mql_rate",
      "stagedDataset": "gasp_staged_gasp_lead_to_mql_rate",
      "reason": "period bound in filter"
    },
    "lead_to_mql_rate:by_lead_source": {
      "kind": "staged",
      "ossieName": "gasp_lead_to_mql_rate_by_lead_source",
      "stagedDataset": "gasp_staged_gasp_lead_to_mql_rate_by_lead_source",
      "reason": "period bound in filter"
    },
    "sqls": {
      "kind": "staged",
      "ossieName": "gasp_sqls",
      "stagedDataset": "gasp_staged_gasp_sqls",
      "reason": "period bound in filter"
    },
    "mql_to_sql_rate": {
      "kind": "staged",
      "ossieName": "gasp_mql_to_sql_rate",
      "stagedDataset": "gasp_staged_gasp_mql_to_sql_rate",
      "reason": "period bound in filter"
    },
    "mql_to_sql_rate:by_lead_source": {
      "kind": "staged",
      "ossieName": "gasp_mql_to_sql_rate_by_lead_source",
      "stagedDataset": "gasp_staged_gasp_mql_to_sql_rate_by_lead_source",
      "reason": "period bound in filter"
    },
    "sql_to_opportunity_rate": {
      "kind": "staged",
      "ossieName": "gasp_sql_to_opportunity_rate",
      "stagedDataset": "gasp_staged_gasp_sql_to_opportunity_rate",
      "reason": "period bound in filter"
    },
    "lvr": {
      "kind": "staged",
      "ossieName": "gasp_lvr",
      "stagedDataset": "gasp_staged_gasp_lvr",
      "reason": "lag"
    },
    "marketing_cac": {
      "kind": "direct",
      "ossieName": "gasp_marketing_cac",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates",
        "cross-dataset",
        "null guard"
      ]
    },
    "cac_by_channel": {
      "kind": "staged",
      "ossieName": "gasp_cac_by_channel",
      "stagedDataset": "gasp_staged_gasp_cac_by_channel",
      "reason": "period bound in filter"
    },
    "cpl": {
      "kind": "staged",
      "ossieName": "gasp_cpl",
      "stagedDataset": "gasp_staged_gasp_cpl",
      "reason": "period bound in filter"
    },
    "cost_per_mql": {
      "kind": "staged",
      "ossieName": "gasp_cost_per_mql",
      "stagedDataset": "gasp_staged_gasp_cost_per_mql",
      "reason": "period bound in filter"
    },
    "marketing_sourced_pipeline": {
      "kind": "direct",
      "ossieName": "gasp_marketing_sourced_pipeline",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "marketing_sourced_revenue": {
      "kind": "staged",
      "ossieName": "gasp_marketing_sourced_revenue",
      "stagedDataset": "gasp_staged_gasp_marketing_sourced_revenue",
      "reason": "period bound in filter"
    },
    "marketing_influenced_pipelinerevenue": {
      "kind": "direct",
      "ossieName": "gasp_marketing_influenced_pipelinerevenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "marketing_influenced_pipelinerevenue:revenue": {
      "kind": "staged",
      "ossieName": "gasp_marketing_influenced_pipelinerevenue_revenue",
      "stagedDataset": "gasp_staged_gasp_marketing_influenced_pipelinerevenue_revenue",
      "reason": "period bound in filter"
    },
    "organic_traffic": {
      "kind": "direct",
      "ossieName": "gasp_organic_traffic",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "null guard"
      ]
    },
    "paid_media_efficiency_roas": {
      "kind": "staged",
      "ossieName": "gasp_paid_media_efficiency_roas",
      "stagedDataset": "gasp_staged_gasp_paid_media_efficiency_roas",
      "reason": "period bound in filter"
    },
    "email_metrics": {
      "kind": "notComputable",
      "reason": "A family of six email rates (open, click, click-to-open, unsubscribe, bounce, spam complaint) with no single headline metric. The ontology has no email send dataset or fields for sends, deliveries, opens, clicks, unsubscribes, bounces or complaints, so none of the six is encoded."
    },
    "content_performance": {
      "kind": "notComputable",
      "reason": "A family of content measures (downloads, engagement rate, content-to-MQL) with no single metric."
    },
    "brand_awareness": {
      "kind": "notComputable",
      "reason": "Survey-based or search volume proxy with no defined formula."
    },
    "share_of_voice": {
      "kind": "direct",
      "ossieName": "gasp_share_of_voice",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "nps_marketing_context": {
      "kind": "direct",
      "ossieName": "gasp_nps_marketing_context",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates"
      ]
    },
    "onboarding_milestone_completion_rate": {
      "kind": "staged",
      "ossieName": "gasp_onboarding_milestone_completion_rate",
      "stagedDataset": "gasp_staged_gasp_onboarding_milestone_completion_rate",
      "reason": "all_time"
    },
    "project_milestone_completion_rate": {
      "kind": "staged",
      "ossieName": "gasp_project_milestone_completion_rate",
      "stagedDataset": "gasp_staged_gasp_project_milestone_completion_rate",
      "reason": "period bound in filter"
    },
    "ticket_escalation_rate": {
      "kind": "direct",
      "ossieName": "gasp_ticket_escalation_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "project_escalation_rate": {
      "kind": "direct",
      "ossieName": "gasp_project_escalation_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "product_activation_rate": {
      "kind": "staged",
      "ossieName": "gasp_product_activation_rate",
      "stagedDataset": "gasp_staged_gasp_product_activation_rate",
      "reason": "period bound in filter"
    },
    "trial_to_paid_conversion_rate": {
      "kind": "direct",
      "ossieName": "gasp_trial_to_paid_conversion_rate",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "count distinct",
        "arithmetic over aggregates"
      ]
    },
    "trial_to_paid_conversion_rate:by_start_date": {
      "kind": "staged",
      "ossieName": "gasp_trial_to_paid_conversion_rate_by_start_date",
      "stagedDataset": "gasp_staged_gasp_trial_to_paid_conversion_rate_by_start_date",
      "reason": "all_time"
    },
    "consumption_revenue": {
      "kind": "direct",
      "ossieName": "gasp_consumption_revenue",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "consumption_revenue:by_basis": {
      "kind": "direct",
      "ossieName": "gasp_consumption_revenue_by_basis",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "consumption_revenue:by_segment": {
      "kind": "direct",
      "ossieName": "gasp_consumption_revenue_by_segment",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "usage_run_rate": {
      "kind": "staged",
      "ossieName": "gasp_usage_run_rate",
      "stagedDataset": "gasp_staged_gasp_usage_run_rate",
      "reason": "window"
    },
    "prepaid_credit_balance": {
      "kind": "staged",
      "ossieName": "gasp_prepaid_credit_balance",
      "stagedDataset": "gasp_staged_gasp_prepaid_credit_balance",
      "reason": "to_date"
    },
    "arr_including_usage_run_rate": {
      "kind": "staged",
      "ossieName": "gasp_arr_including_usage_run_rate",
      "stagedDataset": "gasp_staged_gasp_arr_including_usage_run_rate",
      "reason": "window"
    },
    "credit_breakage": {
      "kind": "direct",
      "ossieName": "gasp_credit_breakage",
      "rung": "M3",
      "constructs": [
        "filtered aggregate",
        "arithmetic over aggregates",
        "null guard"
      ]
    },
    "consumption_revenue_growth_rate": {
      "kind": "staged",
      "ossieName": "gasp_consumption_revenue_growth_rate",
      "stagedDataset": "gasp_staged_gasp_consumption_revenue_growth_rate",
      "reason": "lag"
    },
    "consumption_net_revenue_retention": {
      "kind": "staged",
      "ossieName": "gasp_consumption_net_revenue_retention",
      "stagedDataset": "gasp_staged_gasp_consumption_net_revenue_retention",
      "reason": "cohort"
    }
  }
}
