Sri Lanka · Methodology

How we track fuel prices

Fuel prices in Sri Lanka are quasi-regulated and near-uniform across vendors, and they change only every few weeks. So the value here isn't bargain-hunting — it's a clean, current, authoritative answer to “what's the price today?” plus the full history of how it has moved.

Where the prices come from

We read each vendor's own published price page — never a third-party aggregator (editorial independence). Today:

  • CEYPETCO (Ceylon Petroleum Corporation, the state vendor) publishes current prices and a historical table reaching back to 1990. It is the national reference price; private vendors price off it.
  • LAUGFS Petroleum (with its Southern Petroleum sub-brand, which adds the premium XtraPremium / XtraMile grades) publishes a current price table.

Lanka IOC and Sinopec publish prices too, but not in a form we can read reliably yet (their pages render the figures via JavaScript or as images); they're a fast-follow. United Petroleum and Shell/RM Parks have entered the market but don't publish a price page yet.

What we track

The board compares the five standard consumer pump fuels:

  • Petrol 92 & Petrol 95 (octane grades)
  • Auto Diesel & Super Diesel
  • Kerosene

We also capture branded premium grades and industrial / black-oil products (furnace oils, industrial kerosene). Those are kept off the headline board and surfaced under Other grades and their own history pages — capturing them costs nothing and keeps the record complete.

How we read them

Fuel prices are accuracy-critical numbers — a single mis-read digit would rank a vendor falsely — so we parse them deterministically from the page structure, never with a language model. Each vendor has its own small, tested parser; the set of price types each one emits is pinned by a golden test so a page redesign that drops a grade fails our build instead of silently vanishing from the board.

Effective date vs. when we checked

These are two different dates and we show both:

  • Effective date(“eff. 30 May 2026”) — when that price took effect. A fuel price stays in force for weeks, so an “old” effective date is normal and does not mean the price is stale.
  • Checked— when we last re-read the vendor's page. We re-check daily; this is the freshness of ourdata, and it's what the colour signal tracks.

On the history chart, a vendor's line holds flat between revisions and steps on the effective date — the honest shape of a price that jumps rather than drifts.

When we flag a “cheapest” price

Because pricing is quasi-regulated, vendors are usually within a rupee or two of each other, and a private vendor may simply lag a CEYPETCO revision. So we only mark a “cheapest” vendor when at least two vendors publish a comparably-recentprice (within ~6 weeks of the newest). A stale lower price never wins a misleading “best”, and the mark switches on automatically as more vendors keep pace.

Things we deliberately don't do

  • No paid placement. No vendor pays for ordering or a highlight.
  • No quote. The pump price can differ by station, region, or payment method. This is a comparison aid, not a transaction price.
  • No forecast. The chart shows where prices havemoved, not where they're going.