Published by Mr. Ajay Maken, Member of Parliament, Rajya Sabha. Independent analysis of official CPCB monitoring data. Data compiled by CREA, with our thanks for its work in creating awareness. CREA has no involvement in this site. Contact: ajaymaken@mycleanair.in

The method

Taking the weather out

Watch it first

Three minutes on the machine that produces this analysis. It runs itself, from the raw station readings to the finished bulletin. Two human decisions sit inside it: which findings the film carries, and whether the finished cut is published. Nothing goes out until both are made. The written method below is the same process in detail.

The method, in film. Three minutes and seven seconds, narrated in English.

How the analysis works

The question this site exists to answer

When Delhi's air improves, the government says its policies worked. When it worsens, the government says the weather was against us. Both cannot be checked by looking at the raw pollution number, because the raw number contains both effects at once.

So we separate them. Every day we ask a narrower and far more useful question: was Delhi's air worse than the same period last year after accounting for the weather? If the answer is yes, the weather is not the explanation, and something else is.

What de-weathering actually is

Pollution levels depend heavily on conditions nobody controls: wind speed and direction, the height of the mixing layer, temperature inversions, and rainfall. A still, cold night traps pollution near the ground. A windy afternoon disperses it. Neither is policy.

We train a model on years of Delhi measurements, from 2021 to the present, to learn how much of a day's pollution is explained by that day's weather. We then ask the model what today's pollution would have been under normal conditions. The gap that remains, after weather is accounted for, is what this site reports.

What "last year" means here

A single day is a noisy thing to compare against. One unlucky evening in either year would distort the comparison, and choosing which day to compare against would invite the fair criticism that we picked a flattering one.

So the baseline is not a single day. It is the average of a fifteen day window, the same calendar date last year plus or minus seven days, using only stations that reported in both years. We state that window on every report and in every video, because a comparison you cannot inspect is a comparison you should not trust.

Where the data comes from

Every measurement is from the Central Pollution Control Board's own monitoring network, the same official data the government publishes. We do not run our own sensors and we do not adjust the readings. What we add is the analysis, and any error in it is ours, not the CPCB's.

The official readings reach us in a usable form because of the Centre for Research on Energy and Clean Air (CREA). CREA compiles the raw hourly station data from the CPCB and the Delhi Pollution Control Committee into a single clean record. That compilation is what every number on this site is computed from, and without it this daily analysis would not be possible.

We record that with real gratitude, and not only for the data. CREA's own research and publishing have done a great deal to make air pollution a subject the public follows and argues about, in Delhi and across the country. Our thanks to them for that work.

What we deliberately do not claim

  • We do not present the gas measurements, particularly nitrogen dioxide, as settled. Peer reviewed international research has documented unit inconsistencies in this data, and we say so on every report rather than quietly leaning on numbers we cannot fully stand behind.
  • We do not treat ozone as an accountability claim, because ozone chemistry can make a number move for reasons that have nothing to do with anyone's policy.
  • We do not publish on days when too few monitoring stations reported, because a thin network biases the city average in ways that would flatter or damn unfairly.
  • Where the difference between this year and last is inside the margin of error, we say it is too close to call rather than claiming a result.

Before anything is published

Each day's draft is reviewed by an AI-generated and trained panel, covering atmospheric chemistry, boundary layer meteorology, exposure science, environmental statistics, narrative accuracy, and an adversarial reviewer whose only job is to attack the draft the way a hostile spokesperson would. Points that survive that review are applied before publication. Points that do not are recorded and discarded.

This is a deliberate choice. The findings on this site are uncomfortable for more than one party, including parties we have belonged to. That is only defensible if the method is stricter than the conclusion.

What the AI does, and what it cannot do

No language model computes a number, and none can put a value into a report. Every figure on this site is produced by ordinary statistical code run over public data. Which findings lead each day is decided by a fixed rule, not by a person and not by a model.

A language model does write the day's Hindi wording, so the bulletin reads freshly rather than as one template with the numbers swapped. It is held inside a hard boundary. Every number and every technical term in the computed line must survive the rewrite unchanged, or the rewritten line is thrown away and the computed wording is used instead.

The review panel reads the draft and the data behind it. It can object. It cannot edit, and no part of it writes the code that produces the numbers. The full document explains each of these limits and where in the code they are enforced.