Hard-Coded Assumption Candidates

This is a review inventory only. No R code has been refactored yet.

The companion CSV is docs/hardcoded_assumption_candidates.csv. It is structured so approved rows can become the starting point for a real data/raw/helpers/model_assumptions.csv or similar input file.

Highest-Priority Candidates

Area Candidate assumptions
Global comparison setup Discount rate 0.03, base year 2023, comparison scenarios IC vs CC_2022, GC7/GC8/full-period year definitions
TGF weighting Total investment $18B, disease shares HIV 0.48, TB 0.21, Malaria 0.31, weighting years 2027-2029, TGF percent-cost cap 1
Productivity Wage adjustment factors HIV 0.75, TB 0.5, Malaria 0.5; work days per year 230; TB duration 60; malaria regular/severe durations 3/10; HIV symptomatic relative productivity 0.85
HIV DALYs HIV disability weights, ART 50/50 mix, CD4/no-treatment indicator mapping into symptomatic and AIDS-not-in-care states
Life table and working life PoD age mapping, 5-year/2.5-year RLE interval calculation, HIV/TB terminal working age 65, child lag-to-work values, malaria 75% working-life shortcut, malaria 15+ proxy age 30
VSL/VSLY VSL income elasticity 1.5, US VSL 2023 $12.31M, VSLY denominator as 0.5 * LEB22, WEO projection years and Eritrea backfill
TB-specific cost adjustment Reverse inflation adjustment 0.02 for TB costs after 2022

Lower-Priority / Maybe Not Model Assumptions

These are hard-coded but probably belong in reporting or data-cleaning config rather than a model-assumptions CSV:

  • WEO unit conversions such as billions/millions and percent transformations.
  • Output divisor 1,000,000,000 for reporting billions.
  • Kable rounding digits and display labels.
  • options(scipen = 999).

Suggested CSV Shape For Refactor

For the actual input file, I would split assumptions into a few tidy tables rather than forcing everything into one wide row:

  • assumption_id
  • scope: global, hiv, tb, malaria, weo_vsl, life_table, reporting
  • parameter
  • value
  • value_type: number, string, year_list, mapping
  • units
  • description
  • source_or_note

Some rows are simple scalar assumptions, like discount_rate = 0.03. Others are better as lookup/mapping rows, especially period years, age mappings, disease shares, HIV indicator mappings, and child lag-to-work values.