Growth: national accounts data and the GVA/GDP nowcast
The Growth dimension asks “Is India growing fast enough, and who is carrying it?” This note covers the data behind it and the nowcast of the next quarter’s GDP.
Code: pipeline/tipsheet/compute/economy_growth.py (data), economy_nowcast.py (nowcast and backtest); publish/economy_growth.py; steps economy_growth and economy_nowcast in steps/economy_growth.py.
Tests: pipeline/tests/test_economy_nowcast.py.
Held data: pipeline/tipsheet/reference/gdp_quarterly_vintages_base2022.csv (first prints, reconstructed; rebuilt by scripts/economy/parse_gdp_press_notes.py from the notes listed in scripts/economy/gdp_press_notes_spec.csv).
Bundles: economy/growth/quarterly_2022, quarterly_2011, quarterly_spliced, quarterly_spliced_ex_lockdown, annual, annual_fy, sectors_latest, spending_latest, first_prints, revisions_headline, revisions_<quarter>, facts, nowcast, nowcast_compare, nowcast_sectors, nowcast_backtest, nowcast_backtest_2022, nowcast_backtest_2011.
Pages: /economy/growth/ (overview) and sectors/, spending/, nowcast/, revisions/ (apps/site/src/pages/economy/growth/, helpers in apps/site/src/lib/economy-growth.ts).
Pre-registration and results: C64, C65, C66 in docs/research/site_calculations_spec.md.
The data
Source. MoSPI’s quarterly national accounts through the Data bank (mospi_nas, latest vintage), real (constant-price) levels.
-
Two bases, kept apart. The 2011-12 base runs to Q2 FY26; the 2022-23 base (introduced 27 February 2026) has quarterly levels from Q1 FY23, so growth on a year earlier starts in Q1 FY24.
quarterly_2011andquarterly_2022carry each base on its own.quarterly_splicedjoins them as/macro/does (old base to Q4 FY23, new from Q1 FY24) and names the join, which the page must mark. -
By sector: each of the NSO’s eight sectors’ growth and its contribution. A contribution is the change in the sector’s real GVA over the year as a share of total GVA a year earlier, so the eight add up to GVA growth (checked to 0.0001 pp).
-
By expenditure: household and government consumption, fixed investment, changes in stocks, valuables, exports and imports, each with growth and a contribution to GDP growth. Imports enter negatively. The remainder is MoSPI’s discrepancy, shown as its own part (it was −3.2 pp in Q1 FY27), not spread across the others.
-
Caveats as data (
facts.caveats): the base change; the two bases measuring differently where they overlap; the back series due around December 2026; the lockdown years; revisions. Each has the date it applies from, so the page can attach it to the right part of a chart. -
Broad sectors: agriculture; industry (mining, manufacturing, utilities, construction); services (trade, hotels, transport and communication; finance, real estate and professional services; public administration and other services), each a sum of real levels, with growth, contribution and share of output.
-
Growth in rupees: nominal GDP growth from MoSPI’s current-price GDP, and the implicit deflator’s change, (1 + nominal) / (1 + real) − 1.
-
Shares of real GDP (household and government consumption, investment), on the new base only: a level is never joined across bases.
-
Financial years: growth of the sum of four quarters, on each base, for every complete year.
-
Scorecard places (
facts.scorecard): each headline series against its own history from Q1 FY13, bases linked as above, with Q1 FY21 to Q1 FY23 left out (the lockdowns and their base effects), usingeconomy_common.history_place. The same quarters are blank inquarterly_spliced_ex_lockdown, which the long-run small multiples draw; the full series stays inquarterly_spliced. -
How much each part swings (
facts.swings): the standard deviation of each sector’s and each spending component’s growth over the same history, so the pages say which move most from the data, not from memory. -
Correction, 24 October 2026:
imports_growthwas negated twice, so imports’ own growth read with the wrong sign (Q1 FY27: +1.1% instead of MoSPI’s −1.1%), and the first-print table showed a false −15.6 pp revision for Q3 FY26 imports. Contributions were right throughout. Fixed with a test; imports’ revisions are now −1.6 pp (Q3 FY26) and −1.1 pp (Q4 FY26).
First prints, reconstructed
The Data bank keeps the latest figures; MoSPI revises earlier quarters at later releases. For the nowcast’s scorecard, the first print matters, and on the new base there are only three so far. They were reconstructed by hand from MoSPI’s GDP press notes:
| Press note | Date | Gives |
|---|---|---|
| New series with base year 2022-23 | 27 Feb 2026 | Q1 FY24 to Q3 FY26 as first published on the new base; Q3 FY26 is a true first print |
| Provisional estimates FY26 and Q4 FY26 | 5 Jun 2026 | Q4 FY26 first print; revisions to earlier quarters |
| Q1 FY27 | 31 Aug 2026 | Q1 FY27 first print; Q1 FY26 revised |
The constant-price growth tables of each note (sectors, GVA, net taxes, GDP and the expenditure components) were parsed from the PDFs’ text into gdp_quarterly_vintages_base2022.csv, one row per vintage, quarter and item, with each note’s URL. Quarters before Q3 FY26 had an earlier first print on the old base, so their “first” new-base figure is flagged as not a first print.
What the revisions show. MoSPI’s 31 August release restated FY25 and FY26 quarters. The Data bank’s levels match each latest press note wherever both print the same quarter, and differ from earlier notes for every FY25–FY26 quarter. Revisions are largest in manufacturing: Q3 FY26 manufacturing growth was 13.3% at first print and is 9.0% now; Q1 FY26’s was 10.4% in June’s note and 8.3% in August’s. Q4 FY26 GVA growth went from 7.9% at first print to 8.7%.
Doing it properly. The CSV is a stopgap: the Data bank should own vintages. What that takes is a mospi_gdp_press_notes connector that fetches each press note listed in mospi_release_log (links from November 2025; older notes are on PIB and MoSPI’s release archive), keeps the PDF and its hash, and parses the constant-price growth and level statements into long rows keyed by release date. The old-base first prints back to 2014 would come from the same PIB archive. That is a few days of work, with a parse check against the levels in mospi_nas; how much the notes’ layout has changed over the years is not yet checked.
Release dates
GDP release dates come from MoSPI’s advance release calendar and its release log (mospi_release_calendar, mospi_release_log). The Q2 FY27 estimates are scheduled for 30 November 2026. The log holds GDP and IIP release dates from 2024, so for those years the backtest’s information sets could be set from actual dates. Before 2024 the “two months” and “three months” sets stand in for the information available about 30 and 60 days after the quarter.
The pages
Every number in the pages’ words comes from these bundles; hand-written text carries none the data could contradict. Claims that could turn false as data arrive (both models above every benchmark, the challenger worse than the bridge on the old base, the longest run of over-prediction, which parts swing most) are computed and the wording follows them. The nowcast page leads with the 70% range, shows both models and the benchmarks on one forest chart with last quarter’s growth as the reference line, explains the sector that moves the estimate most from its fitted slope and constant, lists every issue with what moved it, and gives the backtest for the information set in use.
The nowcast (M1)
Status: experimental. It has not yet beaten simple benchmarks. The page leads with the 70% range, gives the point as the central estimate, and shows the benchmarks beside it.
How it works
-
Sectors. For each sector with a monthly indicator the NSO itself leans on, quarterly growth is regressed on the quarter’s average indicator growth, with a dummy for the 2022-23 base (OLS, quarters Q1 FY21 to Q1 FY23 left out):
Sector Indicator (growth on a year earlier, quarter average) Mining IIP mining Manufacturing IIP manufacturing Electricity, gas, water IIP electricity Construction Cement and steel output (core industries) Trade, hotels, transport, communication Air passengers, goods-vehicle registrations, e-way bills, major-port cargo, diesel (those available) Finance, real estate, professional services Real bank credit and deposit growth (less CPI inflation) Agriculture No monthly indicator held: mean of its last four quarters Public administration and other services No monthly indicator held: mean of its last four quarters -
Headline. GVA growth is the sum of sector growth weighted by each sector’s share of real GVA a year earlier, the identity behind MoSPI’s contributions, so each sector’s contribution is shown.
-
GDP. GVA growth plus the mean gap between GDP and GVA growth (net product taxes) over the last four quarters.
-
Interval. σ is the larger of the old-base and new-base backtest RMSEs for the information set in use (two or three months of the quarter’s indicators). The 70% range is ±1.04σ and the 90% range ±1.645σ. On the new base there are only 13 quarters of growth to fit on and 9 to test on, so the old base’s larger error sets the width. Both are pseudo-real-time errors on revised data; against first prints the true error may be larger.
-
The challenger (C66). Pre-registered at the lead’s request before the 28 October IIP: each indicator sector’s growth equals its indicator’s growth plus the mean gap between the two over the last four quarters on the same base, with nothing fitted. It is published and scored beside the bridge.
Both models are fixed until the 30 November print (C64). Every issued estimate is kept in nowcast.history, with the sectors whose indicators gained months since the previous issue and the change in each contribution, so the page can show how the nowcast moved and which release moved it.
Benchmarks
| Benchmark | What it is |
|---|---|
| Random walk | Last quarter’s growth: Q1 FY27, GVA 8.2%, GDP 7.8% |
| AR(1) | On headline growth, quarters through the last published |
| RBI | Real GDP growth projected in the latest policy statement before the release: 7.2% for Q2 FY27 (7 October 2026, press release 63742) |
| RBI SPF | The median, once econ-data ingests the survey |
Backtest (C65), and what it says
Expanding window, each quarter fitted on earlier quarters only, on the latest vintage: a pseudo-real-time test, not a real-time record.
- Old base, 29 quarters: the bridge’s RMSE is 1.63 pp, against 1.57 for the random walk and 1.42 for the AR(1). It over-predicted every quarter from Q1 FY18 to Q4 FY19, by 1.3 to 3.1 pp, when old-base GVA grew well below what its indicators implied.
- New base, 9 quarters: the bridge’s RMSE is 0.66 pp, against 0.79 for the random walk and the AR(1); the Diebold–Mariano p of 0.21 cannot tell that from luck.
- Challenger: worse than the bridge on the old base (2.26, significantly worse than the random walk), about level with the random walk on the new base (0.82).
So the honest description is: on the new base the bridge has done a little better than naive benchmarks over too few quarters to know; on the old base it did worse. The live scorecard (C64) will say which holds.
Limits
- Two sectors are guessed. Agriculture (about 14% of GVA) and public administration (about 13%) have no monthly indicator held; crop estimates, rainfall and the CGA’s monthly accounts would replace the four-quarter mean when ingested.
- No corporate results. The NSO uses listed companies’ results for manufacturing and services; they are not held.
- Revised data in, first print out. The models train on the latest vintage and are scored against first prints, which MoSPI has revised by as much as 4.3 pp in manufacturing (Q3 FY26).
- The new base is short. Its dummy and the new-base backtest rest on 13 and 9 quarters. The back series due around December 2026 will allow a re-estimation; the change will be published as an amendment, not silently.
- The dynamic factor cross-check (M2) is not built: statsmodels is not a pipeline dependency.