Back to prompt library
Build a Nominal Growth, Real Growth, and Deflator Reconciliation App — Implementation planning and evidence-linked development
Linked challenge: Build a Nominal Growth, Real Growth, and Deflator Reconciliation App
Prompt source
Implementation planning and evidence-linked development51 lines16 sectionsNo variables28 checklist items
## User An economic editor checking a GDP release analysis. ## Build Resolve apparent contradictions between nominal GDP, real GDP, and prices. Show exact growth-factor relationships and distinguish quarterly growth from annualized reporting. ## Input Contract - Key: country + quarter + release_id. - Fields: nominal_level, real_index, deflator, price_base, annualization, unit. - Use matched coverage and comparable consecutive periods. ## Workflow 1. Validate series coverage and units. 2. Reconcile growth using multiplicative factors. 3. Translate quarterly growth into annualized growth when requested. 4. Export a correction note with equations and source cells. ## Interface A three-way reconciliation panel with unit controls and a calculator that exposes every transformation. ## Deliverables - A typed growth-conversion library. - An editor-facing discrepancy report with reproducible calculations. - Runnable local application, setup commands, and a dependency lockfile. - Versioned input data, data dictionary, acquisition instructions, and rights notes. - Calculation traces, source references, assumption records, and exported review artifacts. - A deterministic baseline and tests for normal, incomplete, contradictory, and failure-recovery cases. - A recorded complete workflow with a reproducible manifest and explicit limitations. ## Acceptance Criteria - Use (1 + nominal growth)/(1 + price growth) - 1 for compatible measures. - Annualized quarterly growth uses a fourth power, not multiplication by four. - Reject incompatible price bases instead of inventing adjustments. - Retain rounding residuals with explicit tolerances. ## Contrast Case Hold nominal growth fixed and change the deflator. Real growth changes even though nominal output does not. ## Dataset Scope The attached starter files are prototype inputs. Expected starter answers are visible. They are not independent holdouts. Full target: Acquire matched nominal levels, real indexes, and deflators. Include explicitly synthetic examples with different annualization and base-year conventions. Complete target contracts and expert review remain pending. Public observations are not historical release vintages. ## Tools NumPy, pandas, Streamlit Use an available model appropriate to the task. Record provider, model identifier, version or retrieval date, settings, cost, and latency. Use deterministic code for calculations. Models may extract, retrieve, or explain evidence. They must not invent missing records, override approval rules, or claim professional authority. ## Constraints Cross-country series can differ in definitions. Matching names alone is insufficient. - No fabricated records, source citations, professional endorsements, or expert-adjudication claims. - No future-data leakage into dated decisions, model fitting, or historical valuation inputs. - No unauthorized payments, account restrictions, regulatory filings, or production changes. - No automated appraisal certification, tax-compliance determination, or unsupported fraud accusation. - No concealed uncertainty or silently invented inputs required for a numerical conclusion. ## Scoring - Correct domain calculations and justified methods with documented assumptions. Weight: 30. - Source lineage, temporal integrity, rights checks, and explicit synthetic-data labels. Weight: 25. - A working application with review, export, error handling, and reproducible state. Weight: 20. - Adversarial cases, uncertainty, missing-data behavior, and sensitivity analysis. Weight: 15. - Evidence-linked conclusions that distinguish facts, assumptions, and unresolved judgments. Weight: 10. Score each dimension from zero to two. Weighted score = sum(weight * score / 2). A failed safety gate blocks acceptance.