Work/PRJ-06/Environment & health · Delhi

Who's really choking Delhi: Diwali crackers or Punjab's stubble fires?

Both, but not equally. Stubble smoke drives about 60% of Delhi's PM2.5 in the first ten days of November. Diwali night is one of the five worst nights of every year, but it's short: over a season it adds about 2% as much pollution as the stubble-burning period. Over the whole winter, about 84% is Delhi's own pollution, trapped by the weather.

Data
Delhi air quality 2015–2020 (CPCB), 600,000+ NASA satellite fire detections, hourly weather
Period
Five winters, 2015–2019
Tools
Python: pandas, statsmodels, scikit-learn
Code
github.com/BoredMongoose/delhi-smog ↗
Business question

To cut November smog, should Delhi tackle Diwali firecrackers or crop fires?

Recommendation

Fund crop-residue alternatives for October–November, and year-round controls on Delhi's own sources (traffic, industry, dust) for the winter. A firecracker ban addresses one night.

Estimated impact~60%

Of early-November PM2.5 from crop-fire smoke; Diwali adds about 2% of the season's extra pollution.

01Results

Where the fires are.

Where the fires are. Every satellite fire detection in Punjab and Haryana over five burning seasons. North-westerly winds carry the smoke about 300 km to Delhi.
Fig. 1Where the fires are. Every satellite fire detection in Punjab and Haryana over five burning seasons. North-westerly winds carry the smoke about 300 km to Delhi.
The smoke arrives with the fires, and leaves with them. Actual PM2.5 against what the weather alone predicts. The gap opens when burning starts and closes when it stops.
Fig. 2The smoke arrives with the fires, and leaves with them. Actual PM2.5 against what the weather alone predicts. The gap opens when burning starts and closes when it stops.
The wind test. At peak burning, pollution is much higher when the wind blows from Punjab. In December, with no fires, the same wind adds nothing.
Fig. 3The wind test. At peak burning, pollution is much higher when the wind blows from Punjab. In December, with no fires, the same wind adds nothing.
Diwali: one terrible night. Hourly PM2.5 around Diwali peaks at 500–800 µg/m³ overnight, then drops back by midday.
Fig. 4Diwali: one terrible night. Hourly PM2.5 around Diwali peaks at 500–800 µg/m³ overnight, then drops back by midday.
Where the winter's pollution comes from. Stubble smoke dominates early November; Delhi's own pollution dominates the winter as a whole.
Fig. 5Where the winter's pollution comes from. Stubble smoke dominates early November; Delhi's own pollution dominates the winter as a whole.
Fires have dropped sharply since 2021. Satellite-detected fires fell 94% from 2021 to 2025, though some of the drop may be farmers burning after the satellite passes.
Fig. 6Fires have dropped sharply since 2021. Satellite-detected fires fell 94% from 2021 to 2025, though some of the drop may be farmers burning after the satellite passes.

02How I did it

From raw data to a decision.

  1. Started with the obvious approach: regress daily pollution on the number of fires. It gave a big, "significant" effect.
  2. Tested it with a placebo: I fed the model the wrong year's fires. The fake fires "explained" pollution just as well, which meant the model was picking up the season, not the smoke. So I dropped that approach.
  3. Switched to weather normalisation: learn how weather drives Delhi's pollution in months with almost no fires (mid-December to March), predict October–November from the weather alone, and treat the gap as autumn's extra pollution.
  4. Checked it: the gap is close to zero before burning starts and after it ends, it's larger when the wind comes from Punjab, and five different model versions all put it at 40–46% of PM2.5 from mid-October to the end of November.

03What could make this wrong

The limits, said out loud.

  • 01The "extra" pollution is autumn-only pollution. Its timing and wind pattern point to the fires, but other autumn sources are mixed in.
  • 02The measured air-quality data ends in mid-2020, so it can't show whether Delhi's air improved as fires fell after 2021.
  • 03Five winters is a small sample.

04What I learned

  • 01A 'significant' regression can be measuring the season, not the cause. A placebo test exposed it.
  • 02Weather normalisation separates what's emitted from what the weather traps.
  • 03Testing the model on days it never saw (before and after burning) is what made the result believable.

05What I'd do next

  • 01Extend the PM2.5 data past 2020 to test whether the air improved as fires fell 94%.
  • 02Use more weather grid points and station-level models.
  • 03Estimate the health cost of the smoke weeks (hospital visits, lost workdays).