Data & method

Everything, including
what doesn’t work yet.

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.

What’s published

Four artefacts, all public

Analysis

The impact analysis

Inflation, fares, agriculture, industry, power, macro and the distributional wedge, with policy levers ranked by effect per taka.

Read →

Audit

Research pass 1

The working file: the originating question, every search run, every figure extracted with its source, and every derived calculation.

Read →

Corpus

P4 discourse corpus

1,996 fuel articles across three outlets and two shock windows, with frame flags, plus the pipeline that produced them.

Details →

Designs

Six study designs

Questions, sampling, instruments, analysis plans, budgets and ethics for P1 through P5.

Read →


Conventions

How to read a number on this site

Cited figures

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.

Derived figures est.

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.

Internal cross-checks

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 · Discourse corpus

1,996 articles, a working pipeline, and a classifier that isn’t good enough

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.

1,996
Articles collected
20 Jul 2022 – 21 Sep 2026, all passing the fuel-relevance filter.
1,476
Bangla / 520 English
Prothom Alo 1,092 · Daily Star 520 · Samakal 384.
2
Shock windows
561 articles around the 2022 record hike; 1,435 across March–September 2026.
186
Coding sample
Stratified by language and period, awaiting two human coders.
Fuel coverage, articles per week
The corpus itself, plotted. Hover any point for that week’s count.
0 50 100 150 200 2022 9 weeks · 561 articles record hike Week of 2022-07-18: 19 articles Week of 2022-07-25: 42 articles Week of 2022-08-01: 165 articles Week of 2022-08-08: 112 articles Week of 2022-08-15: 65 articles Week of 2022-08-22: 49 articles Week of 2022-08-29: 66 articles Week of 2022-09-05: 32 articles Week of 2022-09-12: 11 articles 18 Jul 12 Sept 2026 31 weeks · 1,435 articles Apr hike Jun hike Sep hike + pay scale Week of 2026-02-23: 3 articles Week of 2026-03-02: 77 articles Week of 2026-03-09: 129 articles Week of 2026-03-16: 39 articles Week of 2026-03-23: 143 articles Week of 2026-03-30: 189 articles Week of 2026-04-06: 98 articles Week of 2026-04-13: 112 articles Week of 2026-04-20: 108 articles Week of 2026-04-27: 49 articles Week of 2026-05-04: 31 articles Week of 2026-05-11: 28 articles Week of 2026-05-18: 27 articles Week of 2026-05-25: 18 articles Week of 2026-06-01: 27 articles Week of 2026-06-08: 17 articles Week of 2026-06-15: 20 articles Week of 2026-06-22: 15 articles Week of 2026-06-29: 22 articles Week of 2026-07-06: 17 articles Week of 2026-07-13: 14 articles Week of 2026-07-20: 27 articles Week of 2026-07-27: 26 articles Week of 2026-08-03: 29 articles Week of 2026-08-10: 30 articles Week of 2026-08-17: 19 articles Week of 2026-08-24: 16 articles Week of 2026-08-31: 26 articles Week of 2026-09-07: 41 articles Week of 2026-09-14: 27 articles Week of 2026-09-21: 11 articles 23 Feb 21 Sept Articles per week, all three outlets pooled. Edge weeks are partial: the 2026 series ends on 21 September, a single day.

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.

How the classifier actually performs

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%.

FramePrecisionRecallF1Verdict
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.

How the corpus was collected

  • Prothom Alo — public search API, four fuel queries by month chunk, full text in response, relevance-ranked to 200 per query-month then regex filtered
  • Samakal — daily sitemaps with a Bangla slug and caption filter
  • The Daily Star — yearly sitemaps with an English slug filter and lastmod inside the window
  • Windows: 20 Jul – 15 Sep 2022 around the record hike; 1 Mar – 21 Sep 2026 across three hikes, the PM’s 5 September apology and the 19 September pay-scale gazette
  • Honest user agent, robots.txt and crawl-delay respected, at least 1.5 s between requests per host, responses cached
  • Article text is copyrighted and stays unpublished. Only metadata and frame flags are committed

Where it is biased, stated plainly

  • Three outlets, all Dhaka-centred and centrist or pro-establishment. This is not “Bangla public discourse”
  • Prothom Alo dominates by volume because its API returns full text while sitemap routes are lossier, so pooled Bangla shares are largely one outlet
  • Sitemap-based sources only recover articles whose slug or caption names a fuel term, and miss articles updated after the window
  • Presence is not stance: an article rebutting a claim still scores its frame
  • About 39% of the “about fuel” corpus is not about Bangladesh — wire market reports, other countries — which inflates the global-market frame unless filtered first
  • Period comparison is uncontrolled: eight weeks in 2022 against seven months of overlapping shocks in 2026. Differences are descriptive only
  • No Facebook, YouTube, parliamentary debates, Jugantor, Kaler Kantho or TBS yet
  • Protest is a news-mention proxy, not an ACLED event count

Download the outputs

Served straight off this site — no account, no request. Article text is not included in any of them.

FileWhat it holdsSize
articles_with_frames.csvAll 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.csvFrame shares by language and period with Wilson confidence intervals. Pipeline output, not findings — read the table above first.10 KB
validation_C_bd.csvThe validation run behind the table above, restricted to Bangladesh-relevant articles.<1 KB
topics_exploratory.mdExploratory NMF topics. Genuinely exploratory — not interpreted anywhere.2 KB
codebook.mdFrame definitions and the coding protocol, for anyone willing to be one of the two human coders.3 KB
p4_discourse/README.mdThe 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.

Reproduce it

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.


Reuse

Data you can work with without collecting anything

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.

SourceWhat it gives youAccess
BBS HIES 2022 microdataBaseline spending shares on fuel, transport and kerosene by decile and districtBBS request / World Bank Microdata Library
BBS Labour Force Survey (quarterly)Sector of employment, informality, wagesBBS
BBS CPI (monthly, divisional)Pass-through timing by item — the series that will show the October breakPublic releases
BPC price gazettes, BERC orders, Ministry of Finance duty dataPrice and duty series, including the Tk 32.44/L diesel dutyPublic
BIGD / PPRC COVID-era phone panelsA proven design, and possibly a sampling frame to re-contactPartnership
SANEM household surveysRecent welfare baselines, including the 2023 inflation-coping surveyPartnership
ACLED and news archivesProtest event data, 2022–2026Free registration
DAE / BADCBoro area targets versus actuals; irrigation equipment countsRequest
Google Trends, Meta Content LibrarySearch and discussion signalsPublic / application
Night-lights (VIIRS)A usable proxy for loadshedding by districtFree

Use it

Citing, correcting, reusing

Cite it like this

BlankFrame Research (2026). r1_Fuel: Bangladesh Fuel Price Hike — Impact Analysis and Research Programme. blankframe.tech/research/r1_Fuel/

It is not peer-reviewed. Cite it as a working analysis, and cite the underlying newspaper sources directly where you can.

Corrections

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.

Open an issue →

Known caveat worth repeating

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.