Contract (P0) — F1-dev-01
Question. Turn the synthetic firm cross-section data/firms.csv into a documented, analysis-ready dataset and report basic aggregates.
Estimands.
n_unique_firms: number of distinctfirm_idvalues.n_missing_revenue: number of distinct firms whose revenue is unknown (empty cell).n_analysed: number of firms with known revenue that are used in the revenue aggregates.mean_revenue_musd,median_revenue_musd: mean and median revenue in millions of USD. This needs every row'sunitconverted to USD millions; the conversion is meaningful only if each unit maps unambiguously to a USD-million scale.mean_employees: mean head count over all distinct firms (after deduplication).mean_revenue_raw: baseline mean of the rawrevenuecolumn over non-empty rows, before any cleaning.
Outputs. out/results.json (keys task_id, n_unique_firms, n_missing_revenue, n_analysed, mean_revenue_musd, median_revenue_musd, mean_employees, mean_revenue_raw, feasibility, feasibility_reason, data_issues, n_input_rows, random_seed); out/analytic.csv (firm_id, sector, revenue_musd, employees; exactly n_analysed rows); out/exclusions.csv (step, rule, n_before, n_after, n_removed, rationale; a chained ledger); out/report.md (6 sections); out/analysis.py; out/claims.json.
Information rules. Use only data/firms.csv. Report revenue in USD millions. Rows with unknown revenue are left out of the revenue aggregates and are listed in the ledger.
What makes the task impossible or the result invalid. The input file is absent or unreadable; units cannot be converted to USD millions; duplicates with conflicting values cannot be resolved.
Finding at P0/P1. data/ is empty. data/firms.csv is listed in bundle.json (sha256 78f119a9…) but does not exist in the workspace. The task is therefore infeasible.