# Contract — F1-conf-02 **Question.** How much did life expectancy at birth (WDI SP.DYN.LE00.IN) change between 2000 and 2022 across a fixed (balanced) set of countries? **Estimands.** Balanced set B = iso3 codes with a recorded (non-missing) value in every year 2000..2022 (23 years), each country counted once per year. mean_2000_balanced, mean_2022_balanced = unweighted means over B; change = difference. Composition of B (count, list). Baseline: mean_2022_all_available = unweighted mean over distinct iso3 with a recorded 2022 value. Meaningful as a descriptive unweighted country mean (not population-weighted); comparability over time relies on fixed composition. **Outputs.** out/results.json (task_id, n_countries_total, n_countries_balanced, n_countries_incomplete, balanced_countries, n_analysed, mean_2000_balanced, mean_2022_balanced, change_2000_2022_balanced, mean_2022_all_available, feasibility, feasibility_reason, data_issues, n_input_rows, random_seed); out/analytic.csv (iso3,country_name,year,life_expectancy; n_analysed rows, unique iso3-year); out/exclusions.csv (step,rule,n_before,n_after,n_removed,rationale; chained); out/report.md (6 sections); out/analysis.py; out/claims.json; state files. **Information rules.** Only data/life_expectancy_panel.csv. No imputation/interpolation/lookup; empty cell = missing. Country = iso3; at most one obs per country-year (duplicates must be resolved). **Invalidity conditions.** Counting duplicated country-years twice; using imputed values; empty balanced set (would make infeasible); conflicting duplicate values that cannot be resolved without outside info.