{
  "model_label": "Stylized retirement-age model, constant 2026 rand",
  "assumptions": {
    "retirement_ages": [
      60,
      65,
      70,
      75
    ],
    "final_age": 100,
    "real_return": 0.03,
    "real_wage_growth": 0.015,
    "contribution_rate": 0.15,
    "monthly_wage_at_25": 30000.0,
    "policy_monthly_wage_at_60": 22000.0,
    "older_effective_tax_share": 0.16,
    "youth_monthly_wage": 12000.0,
    "youth_effective_tax_share": 0.08,
    "youth_employed_base": 5600000,
    "population": 1000000,
    "grant_eligible_share": 0.6,
    "monthly_public_benefit": 2400.0
  },
  "occupations": [
    {
      "key": "professional",
      "name": "Professional / desk",
      "share": 0.35,
      "wage_multiplier": 1.3,
      "disability_propensity": 0.08,
      "work_health_cost": 500.0,
      "retention_at_60": 0.9,
      "annual_retention_decline": 0.04,
      "flexible_conversion": 0.42
    },
    {
      "key": "service",
      "name": "Service / administrative",
      "share": 0.3,
      "wage_multiplier": 0.9,
      "disability_propensity": 0.16,
      "work_health_cost": 1100.0,
      "retention_at_60": 0.8,
      "annual_retention_decline": 0.05,
      "flexible_conversion": 0.4
    },
    {
      "key": "manual",
      "name": "Manual / trades",
      "share": 0.25,
      "wage_multiplier": 0.78,
      "disability_propensity": 0.3,
      "work_health_cost": 2600.0,
      "retention_at_60": 0.64,
      "annual_retention_decline": 0.055,
      "flexible_conversion": 0.34
    },
    {
      "key": "strenuous",
      "name": "Strenuous / hazardous",
      "share": 0.1,
      "wage_multiplier": 0.88,
      "disability_propensity": 0.45,
      "work_health_cost": 5000.0,
      "retention_at_60": 0.46,
      "annual_retention_decline": 0.06,
      "flexible_conversion": 0.28
    }
  ],
  "scenarios": [
    {
      "key": "best",
      "name": "Expansion + adapted jobs",
      "employment_mode": "flexible",
      "employment_scale": 1.05,
      "old_worker_productivity": 0.95,
      "net_youth_displacement": -0.05,
      "disability_scale": 0.7,
      "work_health_scale": 0.75
    },
    {
      "key": "average",
      "name": "Mixed labour market",
      "employment_mode": "standard",
      "employment_scale": 1.0,
      "old_worker_productivity": 0.85,
      "net_youth_displacement": 0.15,
      "disability_scale": 1.0,
      "work_health_scale": 1.0
    },
    {
      "key": "worst",
      "name": "Stagnation + close competition",
      "employment_mode": "standard",
      "employment_scale": 0.75,
      "old_worker_productivity": 0.7,
      "net_youth_displacement": 0.55,
      "disability_scale": 1.25,
      "work_health_scale": 1.4
    }
  ],
  "private_full_career": {
    "60": {
      "wealth": 4838900.198269293,
      "monthly_pension": 17223.42363962778,
      "pension_years": 41
    },
    "65": {
      "wealth": 6106633.120277766,
      "monthly_pension": 23308.913883279965,
      "pension_years": 36
    },
    "70": {
      "wealth": 7614694.847022953,
      "monthly_pension": 31727.215448855368,
      "pension_years": 31
    },
    "75": {
      "wealth": 9404332.145430747,
      "monthly_pension": 43838.521764450816,
      "pension_years": 26
    }
  },
  "policies": {
    "best": [
      {
        "retirement_age": 60,
        "scenario": {
          "key": "best",
          "name": "Expansion + adapted jobs",
          "employment_mode": "flexible",
          "employment_scale": 1.05,
          "old_worker_productivity": 0.95,
          "net_youth_displacement": -0.05,
          "disability_scale": 0.7,
          "work_health_scale": 0.75
        },
        "older_job_years": 0.0,
        "average_older_fte": 0.0,
        "youth_job_years_change": 0.0,
        "average_annual_youth_jobs_change": 0.0,
        "youth_wage_change_percent": 0.0,
        "grant_savings": 0.0,
        "older_tax_revenue": 0.0,
        "youth_tax_change": 0.0,
        "youth_support_cost": 0.0,
        "disability_claim_years": 0.0,
        "disability_cost": 0.0,
        "work_health_cost": 0.0,
        "unsupported_bridge_years": 0.0,
        "net_public_balance": 0.0,
        "net_output": 0.0,
        "expected_private_wealth": 4877611.399855447,
        "expected_private_monthly_pension": 17361.2110287448
      },
      {
        "retirement_age": 65,
        "scenario": {
          "key": "best",
          "name": "Expansion + adapted jobs",
          "employment_mode": "flexible",
          "employment_scale": 1.05,
          "old_worker_productivity": 0.95,
          "net_youth_displacement": -0.05,
          "disability_scale": 0.7,
          "work_health_scale": 0.75
        },
        "older_job_years": 3840643.799999999,
        "average_older_fte": 768128.7599999998,
        "youth_job_years_change": 192032.18999999994,
        "average_annual_youth_jobs_change": 38406.43799999999,
        "youth_wage_change_percent": 0.30862316249999994,
        "grant_savings": 86400000000.0,
        "older_tax_revenue": 173310096987.16714,
        "youth_tax_change": 2212210828.799999,
        "youth_support_cost": 0.0,
        "disability_claim_years": 140972.64465101997,
        "disability_cost": 5751683901.761615,
        "work_health_cost": 4054026091.5,
        "unsupported_bridge_years": 554641.0753489798,
        "net_public_balance": 252116597822.7055,
        "net_output": 1053916072685.305,
        "expected_private_wealth": 5827400.198202541,
        "expected_private_monthly_pension": 22243.086608932103
      },
      {
        "retirement_age": 70,
        "scenario": {
          "key": "best",
          "name": "Expansion + adapted jobs",
          "employment_mode": "flexible",
          "employment_scale": 1.05,
          "old_worker_productivity": 0.95,
          "net_youth_displacement": -0.05,
          "disability_scale": 0.7,
          "work_health_scale": 0.75
        },
        "older_job_years": 6383249.930399999,
        "average_older_fte": 638324.9930399999,
        "youth_job_years_change": 319162.49652,
        "average_annual_youth_jobs_change": 31916.249652,
        "youth_wage_change_percent": 0.256469863275,
        "grant_savings": 172800000000.0,
        "older_tax_revenue": 300284473590.10394,
        "youth_tax_change": 3676751959.9104,
        "youth_support_cost": 0.0,
        "disability_claim_years": 447708.4519816607,
        "disability_cost": 18266504840.851757,
        "work_health_cost": 6357769243.875002,
        "unsupported_bridge_years": 1722341.5897783388,
        "net_public_balance": 452136951465.2876,
        "net_output": 1824302521490.2341,
        "expected_private_wealth": 6882717.897591829,
        "expected_private_monthly_pension": 28677.376834865907
      },
      {
        "retirement_age": 75,
        "scenario": {
          "key": "best",
          "name": "Expansion + adapted jobs",
          "employment_mode": "flexible",
          "employment_scale": 1.05,
          "old_worker_productivity": 0.95,
          "net_youth_displacement": -0.05,
          "disability_scale": 0.7,
          "work_health_scale": 0.75
        },
        "older_job_years": 7418748.4224,
        "average_older_fte": 494583.22816,
        "youth_job_years_change": 370937.42112,
        "average_annual_youth_jobs_change": 24729.161408,
        "youth_wage_change_percent": 0.1987164756,
        "grant_savings": 259200000000.0,
        "older_tax_revenue": 357561858565.5723,
        "youth_tax_change": 4273199091.3024006,
        "youth_support_cost": 0.0,
        "disability_claim_years": 941267.1213985537,
        "disability_cost": 38403698553.06099,
        "work_health_cost": 7255519602.975003,
        "unsupported_bridge_years": 3607483.8251614473,
        "net_public_balance": 575375839500.8386,
        "net_output": 2171097025010.2368,
        "expected_private_wealth": 8036752.618571225,
        "expected_private_monthly_pension": 37463.51672148478
      }
    ],
    "average": [
      {
        "retirement_age": 60,
        "scenario": {
          "key": "average",
          "name": "Mixed labour market",
          "employment_mode": "standard",
          "employment_scale": 1.0,
          "old_worker_productivity": 0.85,
          "net_youth_displacement": 0.15,
          "disability_scale": 1.0,
          "work_health_scale": 1.0
        },
        "older_job_years": 0.0,
        "average_older_fte": 0.0,
        "youth_job_years_change": 0.0,
        "average_annual_youth_jobs_change": 0.0,
        "youth_wage_change_percent": 0.0,
        "grant_savings": 0.0,
        "older_tax_revenue": 0.0,
        "youth_tax_change": 0.0,
        "youth_support_cost": 0.0,
        "disability_claim_years": 0.0,
        "disability_cost": 0.0,
        "work_health_cost": 0.0,
        "unsupported_bridge_years": 0.0,
        "net_public_balance": 0.0,
        "net_output": 0.0,
        "expected_private_wealth": 4877611.399855447,
        "expected_private_monthly_pension": 17361.2110287448
      },
      {
        "retirement_age": 65,
        "scenario": {
          "key": "average",
          "name": "Mixed labour market",
          "employment_mode": "standard",
          "employment_scale": 1.0,
          "old_worker_productivity": 0.85,
          "net_youth_displacement": 0.15,
          "disability_scale": 1.0,
          "work_health_scale": 1.0
        },
        "older_job_years": 3317500.0,
        "average_older_fte": 663500.0,
        "youth_job_years_change": -497625.0,
        "average_annual_youth_jobs_change": -99525.0,
        "youth_wage_change_percent": -0.7997544642857143,
        "grant_savings": 86400000000.0,
        "older_tax_revenue": 151025472315.26724,
        "youth_tax_change": -5732640000.0,
        "youth_support_cost": 2985750000.0,
        "disability_claim_years": 273064.35,
        "disability_cost": 11141025480.0,
        "work_health_cost": 4445000000.0,
        "unsupported_bridge_years": 736435.6499999998,
        "net_public_balance": 213121056835.26724,
        "net_output": 737830621674.8574,
        "expected_private_wealth": 5805306.847852943,
        "expected_private_monthly_pension": 22158.75666957781
      },
      {
        "retirement_age": 70,
        "scenario": {
          "key": "average",
          "name": "Mixed labour market",
          "employment_mode": "standard",
          "employment_scale": 1.0,
          "old_worker_productivity": 0.85,
          "net_youth_displacement": 0.15,
          "disability_scale": 1.0,
          "work_health_scale": 1.0
        },
        "older_job_years": 5241250.0,
        "average_older_fte": 524125.0,
        "youth_job_years_change": -786187.5,
        "average_annual_youth_jobs_change": -78618.75,
        "youth_wage_change_percent": -0.6317578125,
        "grant_savings": 172800000000.0,
        "older_tax_revenue": 249246251149.38275,
        "youth_tax_change": -9056880000.0,
        "youth_support_cost": 4717125000.0,
        "disability_claim_years": 805034.175,
        "disability_cost": 32845394340.0,
        "work_health_cost": 6452750000.0,
        "unsupported_bridge_years": 2050215.8249999997,
        "net_public_balance": 368974101809.38275,
        "net_output": 1222230809231.096,
        "expected_private_wealth": 6828550.09837177,
        "expected_private_monthly_pension": 28451.68250688938
      },
      {
        "retirement_age": 75,
        "scenario": {
          "key": "average",
          "name": "Mixed labour market",
          "employment_mode": "standard",
          "employment_scale": 1.0,
          "old_worker_productivity": 0.85,
          "net_youth_displacement": 0.15,
          "disability_scale": 1.0,
          "work_health_scale": 1.0
        },
        "older_job_years": 5678000.0,
        "average_older_fte": 378533.3333333333,
        "youth_job_years_change": -851700.0,
        "average_annual_youth_jobs_change": -56780.0,
        "youth_wage_change_percent": -0.45626785714285717,
        "grant_savings": 259200000000.0,
        "older_tax_revenue": 275963450640.61597,
        "youth_tax_change": -9811584000.0,
        "youth_support_cost": 5110200000.0,
        "disability_claim_years": 1605861.795,
        "disability_cost": 65519161236.0,
        "work_health_cost": 6717925000.0,
        "unsupported_bridge_years": 3987338.2049999996,
        "net_public_balance": 448004580404.61597,
        "net_output": 1355675511528.2725,
        "expected_private_wealth": 7943499.2578333635,
        "expected_private_monthly_pension": 37028.81392482727
      }
    ],
    "worst": [
      {
        "retirement_age": 60,
        "scenario": {
          "key": "worst",
          "name": "Stagnation + close competition",
          "employment_mode": "standard",
          "employment_scale": 0.75,
          "old_worker_productivity": 0.7,
          "net_youth_displacement": 0.55,
          "disability_scale": 1.25,
          "work_health_scale": 1.4
        },
        "older_job_years": 0.0,
        "average_older_fte": 0.0,
        "youth_job_years_change": 0.0,
        "average_annual_youth_jobs_change": 0.0,
        "youth_wage_change_percent": 0.0,
        "grant_savings": 0.0,
        "older_tax_revenue": 0.0,
        "youth_tax_change": 0.0,
        "youth_support_cost": 0.0,
        "disability_claim_years": 0.0,
        "disability_cost": 0.0,
        "work_health_cost": 0.0,
        "unsupported_bridge_years": 0.0,
        "net_public_balance": 0.0,
        "net_output": 0.0,
        "expected_private_wealth": 4877611.399855447,
        "expected_private_monthly_pension": 17361.2110287448
      },
      {
        "retirement_age": 65,
        "scenario": {
          "key": "worst",
          "name": "Stagnation + close competition",
          "employment_mode": "standard",
          "employment_scale": 0.75,
          "old_worker_productivity": 0.7,
          "net_youth_displacement": 0.55,
          "disability_scale": 1.25,
          "work_health_scale": 1.4
        },
        "older_job_years": 2488125.0,
        "average_older_fte": 497625.0,
        "youth_job_years_change": -1368468.75,
        "average_annual_youth_jobs_change": -273693.75,
        "youth_wage_change_percent": -2.1993247767857143,
        "grant_savings": 86400000000.0,
        "older_tax_revenue": 113269104236.45041,
        "youth_tax_change": -15764760000.0,
        "youth_support_cost": 8210812500.0,
        "disability_claim_years": 452610.328125,
        "disability_cost": 18466501387.5,
        "work_health_cost": 4667250000.0,
        "unsupported_bridge_years": 1054514.671875,
        "net_public_balance": 152559780348.9504,
        "net_output": 318198781034.4707,
        "expected_private_wealth": 5767602.245980346,
        "expected_private_monthly_pension": 22014.838850913806
      },
      {
        "retirement_age": 70,
        "scenario": {
          "key": "worst",
          "name": "Stagnation + close competition",
          "employment_mode": "standard",
          "employment_scale": 0.75,
          "old_worker_productivity": 0.7,
          "net_youth_displacement": 0.55,
          "disability_scale": 1.25,
          "work_health_scale": 1.4
        },
        "older_job_years": 3930937.5,
        "average_older_fte": 393093.75,
        "youth_job_years_change": -2162015.625,
        "average_annual_youth_jobs_change": -216201.5625,
        "youth_wage_change_percent": -1.737333984375,
        "grant_savings": 172800000000.0,
        "older_tax_revenue": 186934688362.03708,
        "youth_tax_change": -24906420000.0,
        "youth_support_cost": 12972093750.0,
        "disability_claim_years": 1180100.7890625,
        "disability_cost": 48148112193.75,
        "work_health_cost": 6775387500.0,
        "unsupported_bridge_years": 2461336.7109374995,
        "net_public_balance": 266932674918.2871,
        "net_output": 537642036583.91235,
        "expected_private_wealth": 6760188.036864165,
        "expected_private_monthly_pension": 28166.84668647201
      },
      {
        "retirement_age": 75,
        "scenario": {
          "key": "worst",
          "name": "Stagnation + close competition",
          "employment_mode": "standard",
          "employment_scale": 0.75,
          "old_worker_productivity": 0.7,
          "net_youth_displacement": 0.55,
          "disability_scale": 1.25,
          "work_health_scale": 1.4
        },
        "older_job_years": 4258500.0,
        "average_older_fte": 283900.0,
        "youth_job_years_change": -2342175.0,
        "average_annual_youth_jobs_change": -156145.0,
        "youth_wage_change_percent": -1.2547366071428572,
        "grant_savings": 259200000000.0,
        "older_tax_revenue": 206972587980.46204,
        "youth_tax_change": -26981856000.0,
        "youth_support_cost": 14053050000.0,
        "disability_claim_years": 2191801.6828125003,
        "disability_cost": 89425508658.75002,
        "work_health_cost": 7053821250.0,
        "unsupported_bridge_years": 4253098.317187499,
        "net_public_balance": 328658352071.71204,
        "net_output": 601959192414.5212,
        "expected_private_wealth": 7857414.35132883,
        "expected_private_monthly_pension": 36627.527050966346
      }
    ]
  },
  "occupation_market": {
    "ages": [
      60,
      61,
      62,
      63,
      64,
      65,
      66,
      67,
      68,
      69,
      70,
      71,
      72,
      73,
      74,
      75,
      76,
      77,
      78,
      79
    ],
    "professional": {
      "standard": [
        0.9,
        0.86,
        0.8200000000000001,
        0.78,
        0.74,
        0.7,
        0.645,
        0.585,
        0.52,
        0.45000000000000007,
        0.375,
        0.29500000000000004,
        0.21000000000000005,
        0.12,
        0.02499999999999991,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0
      ],
      "flexible_headcount": [
        0.9420000000000001,
        0.916448,
        0.889552,
        0.861312,
        0.831728,
        0.8008,
        0.758316,
        0.710496,
        0.657088,
        0.59784,
        0.5325,
        0.460816,
        0.382536,
        0.297408,
        0.2051799999999999,
        0.168,
        0.1512,
        0.13439999999999996,
        0.11760000000000001,
        0.10079999999999999
      ],
      "flexible_fte": [
        0.9260400000000001,
        0.89499776,
        0.86312224,
        0.83041344,
        0.79687136,
        0.762496,
        0.71525592,
        0.66280752,
        0.60499456,
        0.5416608,
        0.47265,
        0.39780592000000004,
        0.31697232000000003,
        0.22999296,
        0.13671159999999988,
        0.10416,
        0.093744,
        0.08332799999999997,
        0.072912,
        0.06249599999999999
      ]
    },
    "service": {
      "standard": [
        0.8,
        0.75,
        0.7000000000000001,
        0.65,
        0.6000000000000001,
        0.55,
        0.485,
        0.41500000000000004,
        0.34,
        0.26,
        0.17500000000000004,
        0.08499999999999999,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0
      ],
      "flexible_headcount": [
        0.88,
        0.846,
        0.8104,
        0.7732,
        0.7344,
        0.6940000000000001,
        0.64156,
        0.58348,
        0.51952,
        0.44944,
        0.37300000000000005,
        0.28996000000000005,
        0.20800000000000002,
        0.192,
        0.176,
        0.16000000000000003,
        0.144,
        0.12799999999999997,
        0.11200000000000002,
        0.096
      ],
      "flexible_fte": [
        0.8496,
        0.80952,
        0.768448,
        0.726384,
        0.683328,
        0.6392800000000001,
        0.5820672,
        0.5194576,
        0.4513024,
        0.37745280000000003,
        0.29776,
        0.21207520000000002,
        0.12896000000000002,
        0.11904,
        0.10912,
        0.09920000000000002,
        0.08928,
        0.07935999999999999,
        0.06944000000000002,
        0.05952
      ]
    },
    "manual": {
      "standard": [
        0.64,
        0.585,
        0.53,
        0.475,
        0.42000000000000004,
        0.365,
        0.295,
        0.22,
        0.14,
        0.05500000000000002,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0
      ],
      "flexible_headcount": [
        0.7624,
        0.720456,
        0.6770160000000001,
        0.63208,
        0.5856480000000001,
        0.53772,
        0.47717200000000004,
        0.41094400000000003,
        0.338832,
        0.2606320000000001,
        0.20400000000000001,
        0.19040000000000004,
        0.1768,
        0.1632,
        0.14959999999999998,
        0.136,
        0.12240000000000001,
        0.1088,
        0.09520000000000002,
        0.0816
      ],
      "flexible_fte": [
        0.715888,
        0.66898272,
        0.62114992,
        0.5723895999999999,
        0.52270176,
        0.47208639999999996,
        0.40794664,
        0.33838528,
        0.26327584000000004,
        0.18249184000000007,
        0.12648,
        0.11804800000000003,
        0.109616,
        0.10118400000000001,
        0.09275199999999999,
        0.08432,
        0.07588800000000001,
        0.067456,
        0.059024000000000014,
        0.050592000000000005
      ]
    },
    "strenuous": {
      "standard": [
        0.46,
        0.4,
        0.34,
        0.28,
        0.22000000000000003,
        0.16000000000000003,
        0.08500000000000003,
        0.005000000000000032,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0,
        0.0
      ],
      "flexible_headcount": [
        0.6112000000000001,
        0.56128,
        0.510016,
        0.45740800000000004,
        0.40345600000000004,
        0.34816,
        0.279712,
        0.20559200000000002,
        0.1904,
        0.17920000000000003,
        0.168,
        0.15680000000000002,
        0.1456,
        0.13440000000000002,
        0.12319999999999999,
        0.11200000000000002,
        0.1008,
        0.0896,
        0.07840000000000001,
        0.06720000000000001
      ],
      "flexible_fte": [
        0.553744,
        0.49999360000000004,
        0.44540992,
        0.38999296000000006,
        0.33374272000000005,
        0.2766592,
        0.20572144000000003,
        0.12936704000000004,
        0.11804800000000001,
        0.11110400000000002,
        0.10416,
        0.09721600000000001,
        0.090272,
        0.08332800000000001,
        0.076384,
        0.06944000000000002,
        0.062496,
        0.055552,
        0.048608000000000005,
        0.04166400000000001
      ]
    }
  },
  "figures": {
    "private_pension": "assets/private-pension-dividend.png",
    "fiscal_scenarios": "assets/fiscal-scenarios.png",
    "fiscal_decomposition": "assets/fiscal-decomposition.png",
    "youth_effects": "assets/youth-effects.png",
    "occupation_market": "assets/occupation-retirement-market.png"
  }
}