Every figure on this site traces to either a cited source or a derivation shown inline. Every derived number is marked est. Every pipeline that produces a number here also has a section below explaining where it fails. That is not modesty — it is so that a collaborator can price the work honestly before joining, and a reader can tell a measurement from a guess.
Inflation, fares, agriculture, industry, power, macro and the distributional wedge, with policy levers ranked by effect per taka.
The working file: the originating question, every search run, every figure extracted with its source, and every derived calculation.
1,996 fuel articles across three outlets and two shock windows, with frame flags, plus the pipeline that produced them.
Questions, sampling, instruments, analysis plans, budgets and ethics for P1 through P5.
Unmarked numbers are reported figures with a source link in the analysis. Prices, BPC balances, CPI prints, gazette values and quoted statements all sit here.
This project’s own arithmetic from cited inputs, with the method shown inline. They are not sourced claims and should not be quoted as if they were. Work-time per litre, per-bigha irrigation cost, the CPI decomposition and the scenario probabilities are all of this kind.
Where possible a derivation is checked against an independent reported figure. Implied diesel throughput of ~12.2 million litres a day, derived from BPC’s stated per-litre loss, reconciles with the government’s own claimed ~Tk 10,000 crore annual saving — which is a reason to trust both.
P4 needs no fieldwork, so it started immediately. The corpus and infrastructure are real. The frame classifier is a keyword dictionary, and the validation below is the reason its frame shares are presented as pipeline output rather than as findings.
Two things worth noticing. 2022 behaves the way you would expect — coverage spikes to 165 articles in the week of the record hike, then decays over a month. 2026 does not. Volume was already far higher through March and April, driven by the Hormuz shock and loadshedding rather than by any single price decision, and by September a Tk 20 hike arriving two days after the pay-scale gazette barely lifts it above the summer baseline. Whether that is fatigue, saturation or something about how the September decisions were covered is exactly the sort of question the frame classifier is supposed to answer — and currently cannot.
Measured against a single-coder pass over Bangladesh-relevant articles (n = 113). One frame is usable, two are borderline, and five are not. Government failure recovers only 23% of the cases it should — it misses opposition and criticism language almost entirely — and apology/empathy recovers 12%.
| Frame | Precision | Recall | F1 | Verdict |
|---|---|---|---|---|
| protest | 0.90 | 1.00 | 0.95 | Usable |
| fairness & pay scale | 0.63 | 0.83 | 0.71 | Borderline |
| global market | 0.74 | 0.68 | 0.71 | Borderline |
| corruption / syndicate | 0.67 | 0.50 | 0.57 | Not usable |
| fiscal loss | 0.38 | 0.71 | 0.49 | Not usable |
| India | 0.33 | 0.80 | 0.47 | Not usable |
| government failure | 0.78 | 0.23 | 0.36 | Not usable |
| apology / empathy | 0.50 | 0.13 | 0.20 | Not usable |
And the comparison itself is weak: one coder, reading truncated text, who also helped design the dictionary and the codebook. It shows where the dictionary is weak; it certifies nothing. Getting to kappa above 0.7 needs two independent human coders, and getting the frames usable needs a BanglaBERT-class model.
Served straight off this site — no account, no request. Article text is not included in any of them.
| File | What it holds | Size |
|---|---|---|
| articles_with_frames.csv | All 1,996 articles: URL, date, source, language, window, headline and every frame flag with the terms that triggered it. | 972 KB |
| frame_shares_by_period.csv | Frame shares by language and period with Wilson confidence intervals. Pipeline output, not findings — read the table above first. | 10 KB |
| validation_C_bd.csv | The validation run behind the table above, restricted to Bangladesh-relevant articles. | <1 KB |
| topics_exploratory.md | Exploratory NMF topics. Genuinely exploratory — not interpreted anywhere. | 2 KB |
| codebook.md | Frame definitions and the coding protocol, for anyone willing to be one of the two human coders. | 3 KB |
| p4_discourse/README.md | The pipeline's own notes on collection, politeness, validation status and known limits. | 5 KB |
The pipeline’s raw matplotlib figures are also on the server — volume_timeline.png and frames_by_period.png — with the per-outlet breakdown the chart above pools together.
uv venv .venv && uv pip install requests lxml beautifulsoup4 pandas numpy scikit-learn matplotlib
cd p4_discourse/src
../../.venv/bin/python collect.py # ~1 h, rate-limited; --sources / --windows / --limit
../../.venv/bin/python analyze.py # tables and figures -> ../out/
../../.venv/bin/python validate.py --coders C --bd-only
Outputs: volume_timeline.png, frames_by_period.png, frame_shares_by_period.csv (with Wilson intervals), topics_exploratory.md, articles_with_frames.csv — URL, date, headline and frame flags, no article text.
If you want to test something on this shock this week, these are the shortest routes in. Several of them also happen to be the partnership asks on the collaborate page.
| Source | What it gives you | Access |
|---|---|---|
| BBS HIES 2022 microdata | Baseline spending shares on fuel, transport and kerosene by decile and district | BBS request / World Bank Microdata Library |
| BBS Labour Force Survey (quarterly) | Sector of employment, informality, wages | BBS |
| BBS CPI (monthly, divisional) | Pass-through timing by item — the series that will show the October break | Public releases |
| BPC price gazettes, BERC orders, Ministry of Finance duty data | Price and duty series, including the Tk 32.44/L diesel duty | Public |
| BIGD / PPRC COVID-era phone panels | A proven design, and possibly a sampling frame to re-contact | Partnership |
| SANEM household surveys | Recent welfare baselines, including the 2023 inflation-coping survey | Partnership |
| ACLED and news archives | Protest event data, 2022–2026 | Free registration |
| DAE / BADC | Boro area targets versus actuals; irrigation equipment counts | Request |
| Google Trends, Meta Content Library | Search and discussion signals | Public / application |
| Night-lights (VIIRS) | A usable proxy for loadshedding by district | Free |
It is not peer-reviewed. Cite it as a working analysis, and cite the underlying newspaper sources directly where you can.
A wrong number here is worth more to the project than agreement. Open an issue, or email with the figure and what you think it should be. Corrections are logged in public on the status page, not quietly patched.
Some outlets call 21 September the government’s second hike of 2026. This analysis counts three since March, because the June change of Tk 5 applied only to petrol and octane. For diesel and kerosene it is the second. Word it accordingly if you quote the count.