{
 "model_version": "v2.2-2026-07-10",
 "seed": 20260629,
 "n": 200000,
 "cost_recovery": {
  "flat_rate_floor": {
   "p_payback": 44.6,
   "se": 0.11,
   "net_cash_P50": 134347,
   "avg_cash_coverage_P50": 1.08,
   "dscr_yr1_P50": 1.35,
   "dscr_min_P50": 0.63,
   "p_dscr_min_below_1_00": 78.4,
   "p_dscr_min_below_1_20": 88.0,
   "p_dscr_min_below_1_25": 89.9,
   "debt_service": 124406,
   "capex_funded_P80": 1383192,
   "payback_P50": 8.6,
   "payback_P80": 9.8,
   "payback_P90": 10.4,
   "payback_P50_conditional": 8.6,
   "payback_P80_conditional": 9.8,
   "payback_P90_conditional": 10.4,
   "payback_P50_uncond": "not reached",
   "payback_P80_uncond": "not reached",
   "payback_P90_uncond": "not reached",
   "p_paid_by_yr5": 0.0,
   "p_paid_by_yr8": 14.3,
   "p_paid_by_yr10": 37.9,
   "p_paid_by_yr12": 44.4,
   "p_paid_by_yr15": 44.6,
   "p_never": 55.4,
   "terminal_unrecovered_P50": 38440,
   "capex_P50": 1270424,
   "capex_P80": 1383192,
   "capex_P90": 1443243,
   "capex_min": 979797,
   "capex_mean": 1280359
  },
  "recovers_half": {
   "p_payback": 63.0,
   "se": 0.11,
   "net_cash_P50": 161217,
   "avg_cash_coverage_P50": 1.3,
   "dscr_yr1_P50": 1.37,
   "dscr_min_P50": 1.04,
   "p_dscr_min_below_1_00": 46.8,
   "p_dscr_min_below_1_20": 63.3,
   "p_dscr_min_below_1_25": 67.2,
   "debt_service": 124406,
   "capex_funded_P80": 1383192,
   "payback_P50": 8.4,
   "payback_P80": 9.6,
   "payback_P90": 10.2,
   "payback_P50_conditional": 8.4,
   "payback_P80_conditional": 9.6,
   "payback_P90_conditional": 10.2,
   "payback_P50_uncond": 9.5,
   "payback_P80_uncond": "not reached",
   "payback_P90_uncond": "not reached",
   "p_paid_by_yr5": 0.0,
   "p_paid_by_yr8": 24.9,
   "p_paid_by_yr10": 55.6,
   "p_paid_by_yr12": 62.8,
   "p_paid_by_yr15": 63.0,
   "p_never": 37.0,
   "terminal_unrecovered_P50": -122020,
   "capex_P50": 1270424,
   "capex_P80": 1383192,
   "capex_P90": 1443243,
   "capex_min": 979797,
   "capex_mean": 1280359
  },
  "recovers_costs": {
   "p_payback": 79.3,
   "se": 0.09,
   "net_cash_P50": 190132,
   "avg_cash_coverage_P50": 1.53,
   "dscr_yr1_P50": 1.39,
   "dscr_min_P50": 1.31,
   "p_dscr_min_below_1_00": 16.7,
   "p_dscr_min_below_1_20": 34.9,
   "p_dscr_min_below_1_25": 41.2,
   "debt_service": 124406,
   "capex_funded_P80": 1383192,
   "payback_P50": 8.0,
   "payback_P80": 9.1,
   "payback_P90": 9.8,
   "payback_P50_conditional": 8.0,
   "payback_P80_conditional": 9.1,
   "payback_P90_conditional": 9.8,
   "payback_P50_uncond": 8.4,
   "payback_P80_uncond": "not reached",
   "payback_P90_uncond": "not reached",
   "p_paid_by_yr5": 0.0,
   "p_paid_by_yr8": 39.9,
   "p_paid_by_yr10": 73.4,
   "p_paid_by_yr12": 79.2,
   "p_paid_by_yr15": 79.3,
   "p_never": 20.7,
   "terminal_unrecovered_P50": -272246,
   "capex_P50": 1270424,
   "capex_P80": 1383192,
   "capex_P90": 1443243,
   "capex_min": 979797,
   "capex_mean": 1280359
  },
  "current_31": {
   "p_payback": 0.4,
   "se": 0.01,
   "net_cash_P50": 50919,
   "avg_cash_coverage_P50": 0.41,
   "dscr_yr1_P50": 0.7,
   "dscr_min_P50": -0.04,
   "p_dscr_min_below_1_00": 99.8,
   "p_dscr_min_below_1_20": 100.0,
   "p_dscr_min_below_1_25": 100.0,
   "debt_service": 124406,
   "capex_funded_P80": 1383192,
   "payback_P50": 10.8,
   "payback_P80": 11.6,
   "payback_P90": 11.9,
   "payback_P50_conditional": 10.8,
   "payback_P80_conditional": 11.6,
   "payback_P90_conditional": 11.9,
   "payback_P50_uncond": "not reached",
   "payback_P80_uncond": "not reached",
   "payback_P90_uncond": "not reached",
   "p_paid_by_yr5": 0.0,
   "p_paid_by_yr8": 0.0,
   "p_paid_by_yr10": 0.1,
   "p_paid_by_yr12": 0.3,
   "p_paid_by_yr15": 0.4,
   "p_never": 99.6,
   "terminal_unrecovered_P50": 693831,
   "capex_P50": 1270424,
   "capex_P80": 1383192,
   "capex_P90": 1443243,
   "capex_min": 979797,
   "capex_mean": 1280359
  },
  "true_freeze": {
   "p_payback": 24.7,
   "se": 0.1,
   "net_cash_P50": 101136,
   "avg_cash_coverage_P50": 0.81,
   "dscr_yr1_P50": 1.31,
   "dscr_min_P50": 0.14,
   "p_dscr_min_below_1_00": 94.7,
   "p_dscr_min_below_1_20": 97.5,
   "p_dscr_min_below_1_25": 98.0,
   "debt_service": 124406,
   "capex_funded_P80": 1383192,
   "payback_P50": 8.8,
   "payback_P80": 9.9,
   "payback_P90": 10.6,
   "payback_P50_conditional": 8.8,
   "payback_P80_conditional": 9.9,
   "payback_P90_conditional": 10.6,
   "payback_P50_uncond": "not reached",
   "payback_P80_uncond": "not reached",
   "payback_P90_uncond": "not reached",
   "p_paid_by_yr5": 0.0,
   "p_paid_by_yr8": 6.4,
   "p_paid_by_yr10": 20.1,
   "p_paid_by_yr12": 24.5,
   "p_paid_by_yr15": 24.7,
   "p_never": 75.3,
   "terminal_unrecovered_P50": 270125,
   "capex_P50": 1270424,
   "capex_P80": 1383192,
   "capex_P90": 1443243,
   "capex_min": 979797,
   "capex_mean": 1280359
  }
 },
 "note": "Capex is a distribution (hardware + tower-side labor + AACE Class-4 contingency); funded budget = P80. Margin derived from inflation-coupled opex vs ARPU. Gear life random over an 8/11/14-yr effective life (no separate obsolescence hazard). NCI exit Bernoulli p=NCI_EXIT_P (0.85, near-certain). Starlink churn + one-time fiber-overbuild tail included. v2.2: growth radios and G2 refresh taxed; true_freeze sensitivity published (the RT=0 floor lags inflation rather than freezing).",
 "_model_version": "v2.2-2026-07-10",
 "_env": {
  "python": "3.12.10",
  "numpy": "2.4.6"
 },
 "_sha256_model": "2d70d4495d0ac3300ade5a8b91419679f1b6abbf5dfa08da5b54a89b9da0a3a8"
}