India macro
Code: pipeline/tipsheet/compute/macro.py, publish/macro.py.
Bundles: macro/india/*. Field-level detail is in docs/FRONTEND_HANDOFF.md.
Sources
-
MoSPI’s eSankhyiki API, ingested by the Data bank as six datasets:
Dataset What it holds mospi_cpiConsumer prices mospi_wpiWholesale prices mospi_iipIndustrial production mospi_ispServices production (trial series) mospi_nasNational accounts (GDP, GVA) mospi_plfsLabour force survey (jobs) Connector notes are in the Data bank’s
docs/MOSPI_SOURCES.md. -
Revisions are kept. Each value is stored once per release vintage, from the first fetch onward.
-
RBI and market series (repo rate, bank credit and deposits, yields) come from India Data Hub.
Problems in the source, handled without guessing
- Paging loses rows. The API drops rows when it splits some results across pages: CPI on base 2012 lost 7–12 rows a year, and quarterly GVA lost 2. A slice is accepted only if its pages add up to MoSPI’s stated total with no row repeated. Affected slices are fetched one page at a time.
- Housing CPI has a gap. The combined housing index is blank from December 2018 to September 2019. Housing is urban-only in CPI 2012, and the combined figure equalled the urban one in all 170 months where both exist. So the urban value fills those months, and the bundle meta says so.
- Duplicate GDP labels. 54 growth-rate rows in national accounts carry several values under the same label. They are excluded and reported, not guessed.
CPI across base years
-
The levels are linked as follows:
Period Source of the level 2025 onward Base 2024 2013–2024 MoSPI’s back series on base 2024 2011–12 Base 2012, ratio-linked Before 2011 India Data Hub’s spliced CPI -
The linking reproduces MoSPI’s published factors. Our factors are 0.52673, 0.52222 and 0.53205, against the official 0.5267, 0.5222 and 0.5320. This is now an audit in the Data bank.
-
Headline inflation matches MoSPI’s prints. It uses base-2012 rates through December 2025 and base-2024 rates from January 2026. It agrees with all 152 published rates within 0.006 points.
- The rate computed on the single linked series differs from the official print by up to 0.23 points in 2025. It is published alongside as
cpi_combined_linked_yoy.
- The rate computed on the single linked series differs from the official print by up to 0.23 points in 2025. It is published alongside as
-
Core CPI (excluding food and fuel) is rebuilt from official weights. The 2024 base doesn’t publish a fuel weight, so it was recovered from the published indices as 5.37 (leave-one-out range 5.36–5.38). The rebuilt general index matches the published one within 0.007%.
Cross-checks
- IIP growth: matches MoSPI’s published growth within 0.05 points on all four bases.
- GDP growth: within 0.05–0.1 points of MoSPI’s. Sector contributions sum exactly to GVA growth.
- WPI: the 2011-12 headline index rebuilds from official weights within 0.08%.
- India Data Hub CPI: agrees within 0.1 points in 96.7% of months since 2014. It lags MoSPI by a month.
Caveats
-
Real GDP growth on the old and new bases is uncorrelated where the two overlap. The bundle meta warns against reading the base join (Q1 FY24) as a turning point.
-
Monthly and quarterly values are dated by the first day of the period:
2026-08-01means August 2026. -
Stale upstream series (as of 2026-10-01):
- India Data Hub’s merger-adjusted bank credit and deposit growth stop at 2026-01-31.
- Its repo-rate series ends 2026-09-11.
The snapshot shows each series’ last date.
-
The services production index (
mospi_isp) is a trial series. Its data stopped at July 2026 when last checked, so the freshness report flags it.
The economy’s structure
Bundles: macro/india/structure/*. Code: compute/macro_structure.py and publish/macro_structure.py; step macro_structure. Source: MoSPI national accounts (mospi_nas) and the Household Consumption Expenditure Survey (mospi_hces) via the eSankhyiki API, GODL-India.
Saving and investment (saving_investment_annual, FY51 on)
- Measures: gross saving (total, households, general government), gross fixed capital formation (total, government, households), and the investment rate = (GFCF + change in stock + valuables), all as % of GDP at current prices.
- Three separate series: base 2011-12 back series (FY51–FY12), base 2011-12 (FY12–FY24) and base 2022-23 (FY23 on). They are published as separate columns and never spliced. A base revision re-measures the economy: the FY24 saving rate is 30.7% on base 2011-12 and 32.5% on base 2022-23.
- Revisions: each year takes its most mature estimate.
- Our definition: saving is measured against GDP. MoSPI’s own headline saving rate is against gross national disposable income, so it differs slightly.
What GDP is spent on (expenditure_shares_quarterly)
- Private and government consumption, GFCF, exports, imports, net exports, change in stock and valuables, as % of nominal GDP each quarter, for each base.
- Quarterly shares are seasonal, so compare like quarters.
Household consumption (hces_*)
- Content: HCES 2022-23 and 2023-24. All-India average MPCE (rural and urban, with and without imputation), the Gini coefficient, spending shares by category, MPCE by fractile class, and MPCE by state.
- Check: 2023-24 MPCE without imputation is ₹4,122 rural and ₹6,996 urban, equal to MoSPI’s published figures.
- Imputation: “with imputation” adds the value of items received free through social welfare programmes.
Inflation contributions and expenditure accounting (2026-10-05)
The new CPI attribution uses only the 2024-base all-India combined division and
headline indices. Contribution in percentage points is weight_pct × (index_t − index_t−12) / headline_index_t−12. Multiplying weight by division inflation
alone is incorrect when the divisions have different prior index levels.
All twelve divisions are required; missing calendar year-ago observations stay
blank. Official weights sum to 100.01% because of printed rounding. The
headline-minus-contributions residual is retained; a gap above 0.10 points
fails the build. Current coverage is January–August 2026, with no cross-base
attribution inferred. The compact chart groups nine divisions together; the
complete table reports all twelve and the residual.
Real expenditure contributions use (component_t − component_t−4) / real_GDP_t−4 × 100 within one base; imports carry a negative sign. Private and
government consumption, fixed investment, stocks, valuables, exports and imports
are required together. GDP growth minus their sum is an accounting residual
(including discrepancies and any remaining source-accounting differences), not
an attributed spending driver. It can be large and is displayed explicitly.
Rows use the latest available revised estimates; this is current-vintage
accounting, not a point-in-time forecast/backtest. The chart has separate
2011-12 and 2022-23 base choices, retaining overlapping histories separately.
Nominal growth is decomposed exactly as real growth plus nominal_growth − real_growth. The second term includes the real/price interaction and therefore
is not standalone GDP-deflator inflation. Both growth measures use matched
quarters within one base; no unadjusted quarter-on-quarter momentum is inferred.
Direct RBI credit summary (2026-10-05)
rbi_credit_growth_summary ingests the five explicitly reported growth rates
from RBI’s monthly Sectoral Deployment of Bank Credit release prose. The
non-food headline covers all scheduled commercial banks via the Section-42
return; agriculture, industry, services and personal loans cover selected SIBC
banks. The release’s bank count and approximate non-food coverage are retained.
Rates cannot be summed or used to infer detailed loan amounts. Change in growth
is current reported annual growth minus the annual growth printed for the
corresponding period a year earlier; it is not a three-month annualised rate.
The reporting convention changed from the last reporting fortnight to month-end from December 2025. RBI’s release warns that current month-end is compared with the previous year’s last reporting fortnight. This is stated beside the table. Current local coverage is July and August 2026, released in August/September. The adapter uses native release discovery, catalogued immutable raw HTML, a deterministic fail-closed parser, contract validation and independent SQL checks. Detailed workbook rows remain missing: the tested rbidocs download returned a challenge page rather than Excel. No guessed workbook data is used.
This source is separate from India Data Hub’s HDFC-merger-adjusted total-credit and deposit-growth series, currently ending in January 2026. It is not spliced into that history or treated as the same universe. A fresh fetch of the DBIE credit/deposit dashboard still returned data only through June 2025. MoSPI MCP’s current 39-indicator RBI catalogue covers external-sector data and does not include bank-credit growth. Upstream versions may change, so this is a dated source probe rather than a permanent statement about the service.
WPI group growth uses the same calendar month one year earlier. A missing month leaves the affected annual comparison absent; it does not shift the comparison to the twelfth available row. Duplicate group/month observations fail validation.