SPB Git

spb/wp29_uqo

Public

# Contract (P0)

Question: Produce a documented, analysis-ready firm cross-section from data/firms.csv and report basic aggregates. Estimands: (1) number of distinct firm_id values; (2) mean and (3) median revenue in millions USD over distinct firms with known revenue; (4) mean employees over all distinct firms. Meaningful assuming one true record per firm (duplicates are assembly errors), the unit column correctly states each row's currency scale, and missing revenue is ignorable for the descriptive aggregates (complete-case). Outputs: out/results.json (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; n_analysed rows); out/exclusions.csv (step, rule, n_before, n_after, n_removed, rationale; chained from rows read to n_analysed); out/report.md (6 sections); out/analysis.py; out/claims.json. Information rules: only data/firms.csv; revenue in millions USD everywhere; rows with unknown revenue excluded from revenue aggregates and listed in the exclusion ledger. Invalidity: conflicting duplicates for the same firm with no rule to choose; unknown/unconvertible units; nonnumeric revenue; reporting revenue in mixed units.

Files · 76f9a44a3a85fb2bc2b0b370a4ae4eed9b95e579
Menu

Theme