As of 2026, no country on Earth is growing Golden Rice commercially.
This is my estimate of what the Greenpeace-led campaign to block Golden Rice in every country from 2006–2024 has cost:
Cumulative, 2006–2024, across eleven target countries.[1][2]
† The range depends on estimates of how much vitamin A reduces child mortality (GiveWell's reading of the trials: 12–24%).[1]
Beta-carotene content is set at 6.3 µg/g — the average of the only two field studies that measured actual beta-carotene per gram of GR2E grain, in the Philippines (Swamy 2019) and Bangladesh (Biswas 2021).[3][4]
See the back-of-the-envelope estimate and calculations below — you can run them yourself. I'm actively seeking feedback to make them better; contact me at abio.substack.com.
Every major food-safety regulator that has reviewed Golden Rice has approved it: Australia and New Zealand (2017),[5] Canada and the US FDA (2018),[6][7] and the Philippines (2019).[8]
The Philippines approved commercial planting in July 2021—the first country to do so—and farmers began growing it. In April 2024 its Court of Appeals revoked the permit and ordered all cultivation to stop, citing the precautionary principle; the Supreme Court case is still pending.[9] Bangladesh's application has sat undecided since 2017.[10]
See the full calculation in Python. Below is a detailed breakdown of the countries included plus the cumulative total from 2006–2024.
Vitamin A supplements already reach about 75% of targeted children worldwide.[11] My estimate accounts for this and focuses on the children who haven't been reached by them. India is the largest contributor here because of its population size and rice-heavy diet. Only about 60% of children are reached there.[12]
Note: China is excluded because vitamin A deficiency prevalence is now very low.
This table shows what would happen today if every grain of domestically produced rice in each country were Golden Rice.
Where the 6.3 µg/g comes from: Only two studies have measured beta-carotene in milled grain of the deployed GR2E event. Swamy 2019 measured it directly in Philippine lines: 3.57 µg/g.[3] Biswas 2021 measured Bangladesh (BRRI dhan29) lines at 10.6 µg/g total carotenoids, of which the paper says 80–90% is beta-carotene — about 9 µg/g.[4] The midpoint is 6.3. Higher figures you may see (20–37 µg/g) are the original lab donor line before it was bred into farmers' varieties — not the rice that would actually be grown. Storage and cooking losses are applied separately, below.
Why 3.8:1 bioconversion instead of the WHO 12:1 default: The WHO uses 12:1 as a generic ratio for all plant-source beta-carotene—spinach, carrots, sweet potatoes, etc. But those foods store beta-carotene in green tissue, behind plant cell walls and chloroplasts that the gut has trouble breaking down. Golden Rice stores beta-carotene in the starchy endosperm, not green tissue. The only direct measurement of Golden Rice bioconversion (Tang et al. 2009) found 3.8:1 in healthy adults.[15] A second study in children found an even better 2.3:1, but it was retracted after uproar because researchers didn't disclose that the rice was genetically modified. It is unclear whether this disclosure was necessary. The scientific findings themselves were never challenged—only the lack of disclosure.[18] If someone prefers the WHO generic 12:1 default, all estimates below would be roughly halved.
| Country | VAD in children <5 | Rice as % of diet | Rice self- |
Vitamin A / day per child, from GR |
% of daily need = vit A ÷ 400µg RDA |
Deaths prevented / year |
|---|---|---|---|---|---|---|
| India Rice-belt states only (55% of VAD children) VAS reaches ~60%, not the 83% S. Asia average (NFHS-4/5)[12] | 57% NFHS-2, 2000[19] | 31% national; 55%+ in rice belt[20] | 100% (net exporter) | 77 µg RAE | 19% | ~10,400 |
| Indonesia | 50% est., WHO SE Asia regional, 2000[1] | 59%[20] | 95% | 72 µg RAE | 18% | ~1,200 |
| Nigeria Rice is secondary staple (35% of VAD children eat rice) | 30% est.[21] | ~8% (yam, cassava dominate) | 55% (~45% imported) | 21 µg RAE | 5% | ~940 |
| Myanmar | 36% est., WHO SE Asia regional, 2000[1] | 76%[20] | 100% (net exporter) | 104 µg RAE | 26% | ~510 |
| Bangladesh | 21% Nat'l survey, 2000[22] | 73%[20] | 97% | 93 µg RAE | 23% | ~270 |
| Vietnam | 45% est., WHO SE Asia regional, 2000[1] | 68%[20] | 100% (net exporter) | 88 µg RAE | 22% | ~240 |
| Cambodia | 45% est., WHO SE Asia regional, 2000[1] | 80%[20] | 100% (net exporter) | 106 µg RAE | 27% | ~140 |
| Philippines | 38% FNRI, 2003[23] | 40%[20] | ~79%[24] | 61 µg RAE | 15% | ~130 |
| Laos | 42% est., WHO SE Asia regional, 2000[1] | 65%+[20] | 100% | 101 µg RAE | 25% | ~93 |
| Tanzania Maize is primary staple (28% of VAD children eat rice) | 33% DHS, 2004[25] | Low (maize dominant) | ~60% | 17 µg RAE | 4% | ~88 |
| Nepal Terai rice belt (65% of VAD children) | 31% DHS, 2001[26] | 44%[20] | 90% | 64 µg RAE | 16% | ~52 |
| TOTAL across 11 countries | ~14,000 | |||||
How "deaths prevented" was calculated: For each country, we took the number of under-5 deaths attributable to VAD (from UN mortality data[2] and VAD prevalence rates), subtracted the children already protected by existing vitamin A supplement programs, then multiplied by the fraction of daily vitamin A need that Golden Rice would fill. The result is how many of those remaining deaths Golden Rice could avert. Full formula and every input are in "The calculation" below.
Golden Rice's current variety (GR2E) was ready by 2005.[27] We used a realistic adoption curve: slow at first, then accelerating, then leveling off at a 70% ceiling. We assumed deployment would have started country by country between 2006 and 2013, depending on regulatory capacity and IRRI partnerships.[28]
Under these assumptions, this model estimates approximately 106,000 children's lives lost (range 71,000–141,000) and 210,000–425,000 children blinded across these 11 countries from 2006 to 2024. The blindness estimate uses the WHO ratio: globally, 2–4x as many children go blind from vitamin A deficiency as die from it.[29][30]
Estimated annual lives saved per year if Golden Rice had been deployed starting 2006–2013 (varies by country).
Peak: ~10,300 in 2021. Hover/tap bars for exact values.
The decline after 2021 reflects falling VAD prevalence and child mortality—the underlying problem is slowly getting better even without Golden Rice, due to economic growth and vitamin A supplement programs.
| Parameter | Value | Source |
|---|---|---|
| Under-5 deaths by country and year | Varies (e.g. India: 2.3M in 2000, 560K in 2024) | UN IGME / UNICEF[2] |
| VAD prevalence (baseline) | 21–57% depending on country | WHO VMNIS, national DHS/MICS, Stevens et al. 2015[1] |
| VAD annual decline rate | 1.5–4% per year (country-specific) | Stevens et al. 2015[1] |
| Relative risk of death (VAD vs. non-VAD) | 1.75 | Sommer et al. 1983, West et al. 1991, Fawzi et al. 1993[30] |
| VAS coverage by country and year | 40–93% | UNICEF / WHO joint estimates[11] |
| VAS effectiveness multiplier | 0.70 | Imdad et al. Cochrane 2022[31] |
| Beta-carotene in GR2E grain (milled) | 6.3 µg/g (field range 3.6–9) | Swamy 2019[3], Biswas 2021[4] |
| Storage retention (tropical, 3–6 mo) | 65% (model); ~13% at 10 weeks (Schaub 2017) | Schaub et al. 2017[13] |
| Cooking retention | 60% | IRRI standard[14] |
| Bioconversion (beta-carotene → retinol) | 3.8:1 (Golden Rice–specific measurement) | Tang et al. 2009[15]; WHO generic is 12:1[17] |
| Child RDA (vitamin A) | 400 µg RAE/day | WHO[17] |
| Adoption ceiling | 70% | Based on IR8 and HarvestPlus data[28] |
| Adoption midpoint | 8 years | IR8 historical data[28] |
| Dose-response concavity | 0.60 | Estimated; reflects that partial supplementation has diminishing returns[30] |
| Rice consumption (per capita/year) | 32–200 kg (country-specific) | FAO FAOSTAT[20] |
The Python script uses no special libraries. Save it as check_calculation.py and run python3 check_calculation.py. It prints four tables that match the four sets of numbers on this page.
#!/usr/bin/env python3
"""
Golden Rice "cost of delay" — full calculation.
Run: python3 check_calculation.py
PART A — vitamin A delivered per child per day, and % of daily need (table)
PART B — deaths prevented per year if ALL domestic rice were Golden (table)
PART C — cumulative children's lives lost 2006–2024 (headline)
PART D — blindness and years-of-healthy-life-lost (headline)
"""
import math
# ============================================================================
# 1. PARAMETERS (sources cited on the web page)
# ============================================================================
BETA_CAROTENE_UG_PER_G = 6.3 # µg beta-carotene per gram of GR2E grain (field-realistic)
STORAGE_RETENTION = 0.65 # fraction surviving 3–6 months tropical storage
COOKING_RETENTION = 0.60 # fraction surviving cooking
BIOCONVERSION = 3.8 # µg beta-carotene -> 1 µg retinol (Tang 2009, GR-specific)
CHILD_RDA_UG = 400.0 # µg RAE/day recommended for a young child (WHO)
CHILD_RICE_FRACTION = 0.30 # a child under 5 eats ~30% of the per-capita adult portion
RELATIVE_RISK_VAD = 1.75 # a VAD child's risk of death vs. a vitamin-A-replete child
EFFECTIVE_VAS_MULTIPLIER = 0.70 # share of "supplement-covered" kids actually protected
DOSE_RESPONSE_CONCAVITY = 0.60 # partial vitamin A -> less-than-proportional benefit
ADOPTION_CEILING = 0.70 # max adoption in the realistic S-curve scenario
ADOPTION_MIDPOINT_YEARS = 8.0 # years after launch to reach half the ceiling
ADOPTION_STEEPNESS = 0.45 # S-curve slope
MODEL_START_YEAR = 2000
MODEL_END_YEAR = 2024 # last year with real, filled-in data
# Years-of-life constants (WHO; used only for PART D)
YEARS_LOST_PER_DEATH = 28.0 # discounted life-years lost per under-5 death (raw ~55-60)
QALYS_PER_BLIND_CHILD = 21.0 # ~35 remaining years × 0.6 disability weight
# Blindness multiplier: WHO says 2–4x as many children go blind from VAD as die from it
BLINDNESS_LOW_MULT = 2.0
BLINDNESS_HIGH_MULT = 4.0
# How strongly does vitamin A actually cut child deaths? (the GiveWell / Cochrane question)
# The same Cochrane meta-analysis gives two numbers: a 24% reduction (random-effects model)
# and a 12% reduction (fixed-effects model, which gives full weight to DEVTA, the single
# largest trial). The model's raw output corresponds to the 24% (high) end; we center the
# headline on the MIDPOINT (~18%) and show 12–24% as the range. GiveWell uses this same band.
MORTALITY_EFFECT_HIGH = 1.00 # 24%, random-effects (the model's raw output)
MORTALITY_EFFECT_CENTRAL = 0.75 # ~18%, midpoint of the 12–24% range
MORTALITY_EFFECT_FLOOR = 0.50 # 12%, fixed-effects (full weight to DEVTA)
# ============================================================================
# 2. COUNTRY DATA (inputs; sources cited on the page)
# ============================================================================
# under5_deaths: anchor years, linearly interpolated between
# vad_baseline: (year, prevalence fraction), declines at vad_decline per year
# vas: anchor years of vitamin-A-supplement coverage, interpolated
# rice_kg: per-capita milled rice, kg/year
# domestic: fraction of consumed rice grown domestically (reachable by seed system)
# deploy: counterfactual Golden Rice launch year in this country
# rice_eating_vad: fraction of VAD-affected children who actually live on rice
COUNTRIES = {
"India": dict(
under5={2000: 2_300_000, 2005: 1_900_000, 2010: 1_450_000, 2015: 1_000_000, 2020: 700_000, 2024: 560_000},
vad_year=2000, vad_base=0.57, vad_decline=0.020,
vas={2000: 0.44, 2005: 0.50, 2010: 0.55, 2015: 0.60, 2020: 0.60, 2024: 0.60}, # NFHS-4: 60.5%
rice_kg=145.0, domestic=1.00, deploy=2009, rice_eating_vad=0.55),
"Indonesia": dict(
under5={2000: 290_000, 2005: 225_000, 2010: 160_000, 2015: 112_000, 2020: 80_000, 2024: 65_000},
vad_year=2000, vad_base=0.50, vad_decline=0.030,
vas={2000: 0.70, 2005: 0.78, 2010: 0.82, 2015: 0.80, 2020: 0.77, 2024: 0.75},
rice_kg=135.0, domestic=0.95, deploy=2008, rice_eating_vad=1.00),
"Nigeria": dict(
under5={2000: 850_000, 2005: 780_000, 2010: 700_000, 2015: 610_000, 2020: 490_000, 2024: 420_000},
vad_year=2000, vad_base=0.30, vad_decline=0.015,
vas={2000: 0.40, 2005: 0.50, 2010: 0.55, 2015: 0.52, 2020: 0.50, 2024: 0.48},
rice_kg=40.0, domestic=0.55, deploy=2012, rice_eating_vad=0.35),
"Myanmar": dict(
under5={2000: 120_000, 2005: 90_000, 2010: 59_000, 2015: 37_000, 2020: 25_000, 2024: 20_000},
vad_year=2000, vad_base=0.36, vad_decline=0.025,
vas={2000: 0.55, 2005: 0.65, 2010: 0.73, 2015: 0.74, 2020: 0.70, 2024: 0.58},
rice_kg=195.0, domestic=1.00, deploy=2009, rice_eating_vad=1.00),
"Bangladesh": dict(
under5={2000: 250_000, 2005: 180_000, 2010: 115_000, 2015: 70_000, 2020: 48_000, 2024: 36_000},
vad_year=2000, vad_base=0.21, vad_decline=0.035,
vas={2000: 0.75, 2005: 0.87, 2010: 0.93, 2015: 0.92, 2020: 0.89, 2024: 0.87},
rice_kg=175.0, domestic=0.97, deploy=2007, rice_eating_vad=1.00),
"Vietnam": dict(
under5={2000: 85_000, 2005: 61_000, 2010: 42_000, 2015: 27_000, 2020: 19_000, 2024: 16_000},
vad_year=2000, vad_base=0.45, vad_decline=0.040,
vas={2000: 0.76, 2005: 0.84, 2010: 0.87, 2015: 0.85, 2020: 0.83, 2024: 0.80},
rice_kg=165.0, domestic=1.00, deploy=2007, rice_eating_vad=1.00),
"Cambodia": dict(
under5={2000: 50_000, 2005: 35_000, 2010: 21_000, 2015: 13_000, 2020: 8_500, 2024: 6_500},
vad_year=2000, vad_base=0.45, vad_decline=0.030,
vas={2000: 0.65, 2005: 0.78, 2010: 0.82, 2015: 0.83, 2020: 0.81, 2024: 0.79},
rice_kg=200.0, domestic=1.00, deploy=2010, rice_eating_vad=1.00),
"Philippines": dict(
under5={2000: 65_000, 2005: 51_000, 2010: 37_000, 2015: 25_000, 2020: 17_000, 2024: 13_500},
vad_year=2003, vad_base=0.38, vad_decline=0.040,
vas={2000: 0.70, 2005: 0.80, 2010: 0.85, 2015: 0.83, 2020: 0.82, 2024: 0.80},
rice_kg=115.0, domestic=0.85, deploy=2006, rice_eating_vad=1.00),
"Laos": dict(
under5={2000: 22_000, 2005: 16_000, 2010: 11_000, 2015: 7_000, 2020: 4_800, 2024: 3_800},
vad_year=2000, vad_base=0.42, vad_decline=0.025,
vas={2000: 0.55, 2005: 0.68, 2010: 0.74, 2015: 0.75, 2020: 0.72, 2024: 0.70},
rice_kg=190.0, domestic=1.00, deploy=2011, rice_eating_vad=1.00),
"Tanzania": dict(
under5={2000: 225_000, 2005: 200_000, 2010: 160_000, 2015: 115_000, 2020: 78_000, 2024: 60_000},
vad_year=2000, vad_base=0.33, vad_decline=0.018,
vas={2000: 0.50, 2005: 0.62, 2010: 0.70, 2015: 0.70, 2020: 0.67, 2024: 0.63},
rice_kg=32.0, domestic=0.60, deploy=2013, rice_eating_vad=0.28),
"Nepal": dict(
under5={2000: 55_000, 2005: 40_000, 2010: 26_000, 2015: 16_000, 2020: 10_500, 2024: 8_000},
vad_year=2000, vad_base=0.31, vad_decline=0.030,
vas={2000: 0.70, 2005: 0.85, 2010: 0.89, 2015: 0.87, 2020: 0.83, 2024: 0.80},
rice_kg=120.0, domestic=0.90, deploy=2009, rice_eating_vad=0.65),
}
# ============================================================================
# 3. HELPER FUNCTIONS
# ============================================================================
def value_for_year(anchor_points, year):
"""Linear interpolation between anchor years; flat outside the range.
e.g. if we know deaths in 2020 and 2024, estimate 2022 as the midpoint."""
years = sorted(anchor_points)
if year <= years[0]: return float(anchor_points[years[0]])
if year >= years[-1]: return float(anchor_points[years[-1]])
for earlier_year, later_year in zip(years, years[1:]):
if earlier_year <= year <= later_year:
how_far_between = (year - earlier_year) / (later_year - earlier_year)
return anchor_points[earlier_year] + how_far_between * (anchor_points[later_year] - anchor_points[earlier_year])
return float(anchor_points[years[-1]])
def vitamin_a_delivered_per_day(rice_kg_per_year):
"""µg of vitamin A (RAE) a young child gets per day from Golden Rice."""
rice_grams_per_person_per_day = rice_kg_per_year * 1000.0 / 365.0 # kg/yr -> g/day (×1000 is kg->g)
rice_grams_a_child_eats = rice_grams_per_person_per_day * CHILD_RICE_FRACTION
beta_carotene_micrograms = (rice_grams_a_child_eats
* BETA_CAROTENE_UG_PER_G
* STORAGE_RETENTION
* COOKING_RETENTION)
return beta_carotene_micrograms / BIOCONVERSION
def fraction_of_daily_need_met(rice_kg_per_year):
"""How much of a child's daily vitamin A requirement Golden Rice fills (capped at 100%)."""
return min(vitamin_a_delivered_per_day(rice_kg_per_year) / CHILD_RDA_UG, 1.0)
def share_of_deaths_caused_by_vad(vad_rate):
"""Of all under-5 deaths, the fraction attributable to vitamin A deficiency.
Standard epidemiology formula (the 'population attributable fraction')."""
extra_risk = vad_rate * (RELATIVE_RISK_VAD - 1.0)
return extra_risk / (1.0 + extra_risk)
def vad_rate_for_year(country, year):
"""Share of children who are vitamin-A-deficient in a given year (declines over time)."""
rate = country["vad_base"] * ((1.0 - country["vad_decline"]) ** (year - country["vad_year"]))
return max(rate, 0.02) # floor: 2% residual in hard-to-reach populations
def adoption_s_curve(years_since_launch):
"""Share of the reachable crop that has switched to Golden Rice, 0..1.
Slow at first, fast in the middle, leveling off — how new seeds really spread."""
if years_since_launch <= 0:
return 0.0
return 1.0 / (1.0 + math.exp(-ADOPTION_STEEPNESS * (years_since_launch - ADOPTION_MIDPOINT_YEARS)))
# ============================================================================
# PART A — vitamin A per day & % of daily need (the table's middle columns)
# ============================================================================
print("=" * 70)
print("PART A — Vitamin A delivered per child per day")
print("=" * 70)
print(f"{'Country':12} {'rice kg/yr':>10} {'µg RAE/day':>11} {'% of 400µg':>11}")
for country_name, country in COUNTRIES.items():
vitamin_a = vitamin_a_delivered_per_day(country["rice_kg"])
percent_of_daily_need = vitamin_a / CHILD_RDA_UG * 100
print(f"{country_name:12} {country['rice_kg']:>10.0f} {vitamin_a:>11.0f} {percent_of_daily_need:>10.0f}%")
# ============================================================================
# PART B — deaths prevented per year IF ALL DOMESTIC RICE WERE GOLDEN RICE
# ============================================================================
# This is the table's right-hand column. It is a "today" steady-state number:
# - use the most recent year (2024) deaths and prevalence
# - assume FULL reach: every domestically grown grain is Golden Rice, so the
# adoption term = domestic_rice_fraction × rice_eating_vad_fraction
# (NOT the 0.70 S-curve ceiling — this is the theoretical maximum)
print()
print("=" * 70)
print("PART B — Deaths prevented / year at 100% domestic adoption (2024)")
print("=" * 70)
YEAR = 2024
print(f"{'Country':12} {'deaths/yr':>10}")
total_deaths_prevented_per_year = 0.0
for country_name, country in COUNTRIES.items():
under5_deaths_this_year = value_for_year(country["under5"], YEAR)
vad_rate_this_year = vad_rate_for_year(country, YEAR)
deaths_caused_by_vad = under5_deaths_this_year * share_of_deaths_caused_by_vad(vad_rate_this_year)
share_protected_by_supplements = value_for_year(country["vas"], YEAR) * EFFECTIVE_VAS_MULTIPLIER
deaths_not_prevented_by_supps = deaths_caused_by_vad * (1.0 - share_protected_by_supplements)
share_reachable_by_golden_rice = country["domestic"] * country["rice_eating_vad"] # full reach, no 0.70 ceiling
golden_rice_effectiveness = fraction_of_daily_need_met(country["rice_kg"]) ** DOSE_RESPONSE_CONCAVITY
lives_saved_per_year = (deaths_not_prevented_by_supps
* share_reachable_by_golden_rice
* golden_rice_effectiveness
* MORTALITY_EFFECT_CENTRAL) # 18% mortality midpoint
total_deaths_prevented_per_year += lives_saved_per_year
print(f"{country_name:12} {lives_saved_per_year:>10,.0f}")
print(f"{'TOTAL':12} {total_deaths_prevented_per_year:>10,.0f}")
# ============================================================================
# PART C — cumulative lives lost 2006–2024 (the realistic S-curve scenario)
# ============================================================================
# Same per-year logic as PART B, but now adoption ramps up along the S-curve
# starting from each country's launch year (capped at 0.70 × domestic × rice_eating),
# and we add up every single year from 2000 to 2024.
print()
print("=" * 70)
print("PART C — Cumulative children's lives lost, realistic adoption")
print("=" * 70)
print(f"{'Country':12} {'cumulative':>12}")
total_lives_lost = 0.0
for country_name, country in COUNTRIES.items():
max_adoption = ADOPTION_CEILING * country["domestic"] * country["rice_eating_vad"]
golden_rice_effectiveness = fraction_of_daily_need_met(country["rice_kg"]) ** DOSE_RESPONSE_CONCAVITY
country_total = 0.0
for year in range(MODEL_START_YEAR, MODEL_END_YEAR + 1):
under5_deaths_this_year = value_for_year(country["under5"], year)
vad_rate_this_year = vad_rate_for_year(country, year)
deaths_caused_by_vad = under5_deaths_this_year * share_of_deaths_caused_by_vad(vad_rate_this_year)
share_protected_by_supplements = value_for_year(country["vas"], year) * EFFECTIVE_VAS_MULTIPLIER
deaths_not_prevented_by_supps = deaths_caused_by_vad * (1.0 - share_protected_by_supplements)
adoption_this_year = adoption_s_curve(year - country["deploy"]) * max_adoption
country_total += deaths_not_prevented_by_supps * adoption_this_year * golden_rice_effectiveness
total_lives_lost += country_total
print(f"{country_name:12} {country_total * MORTALITY_EFFECT_CENTRAL:>12,.0f}") # 18% midpoint
print(f"{'TOTAL':12} {total_lives_lost * MORTALITY_EFFECT_CENTRAL:>12,.0f}")
# ============================================================================
# PART D — blindness and years of healthy life lost
# ============================================================================
print()
print("=" * 70)
print("PART D — Death range, blindness, and healthy-life-years lost")
print("=" * 70)
children_dead_central = total_lives_lost * MORTALITY_EFFECT_CENTRAL # 18% midpoint (headline)
children_dead_floor = total_lives_lost * MORTALITY_EFFECT_FLOOR # 12% (low end of range)
children_dead_high = total_lives_lost * MORTALITY_EFFECT_HIGH # 24% (high end of range)
children_blinded_low = children_dead_central * BLINDNESS_LOW_MULT
children_blinded_high = children_dead_central * BLINDNESS_HIGH_MULT
healthy_years_lost_low = children_dead_central * YEARS_LOST_PER_DEATH + children_blinded_low * QALYS_PER_BLIND_CHILD
healthy_years_lost_high = children_dead_central * YEARS_LOST_PER_DEATH + children_blinded_high * QALYS_PER_BLIND_CHILD
print(f"Children dead (central, 18% effect): {children_dead_central:>13,.0f}")
print(f"Children dead range (12% – 24%): {children_dead_floor:>13,.0f} – {children_dead_high:,.0f}")
print(f"Children blinded (2–4x of central): {children_blinded_low:>13,.0f} – {children_blinded_high:,.0f}")
print(f"Healthy-life-years lost: {healthy_years_lost_low:>13,.0f} – {healthy_years_lost_high:,.0f}")
print()
print("The range spans GiveWell's reading of the trials (12% gives full weight to DEVTA,")
print("the largest trial; 24% is the random-effects figure). Blindness uses the central.")
Field tests show 3.57 µg/g in Philippine rice, roughly 9 in Bangladesh.[3][4] This model uses the midpoint, 6.3. Higher figures sometimes quoted (20–37) are the lab donor line, not the rice farmers would grow.
Beta-carotene degrades: Schaub 2017 found ~60% left after 3 weeks, ~13% after 10.[13] This model assumes 65% retention — i.e. shorter storage. IRRI is breeding lower-degradation lines.
This drives the death range. The old consensus was a 24% cut in child mortality; then DEVTA, the largest trial, found almost none.[31] Pooling the trials gives 12–24% (GiveWell's range). The headline (106,000) is the midpoint; the range 71,000–141,000 spans the two readings. I didn't use DEVTA's 4% alone — no single trial should be.