PetrolPulse

Accuracy

How accurate is the
PetrolPulse forecast?

We publish the full record — tested every week, including where the model gets it wrong. Here's how our current “fill up now or wait” model performs when we replay it against real past prices.

79.2%

of our fill-now / wait calls were the right call

Across 2,711 actionable calls in the cities we forecast · since we launched (April 2026) · we score each call against what prices actually did over the next 7 days.

PetrolPulse model

79.2%

across 2,711 fill-now / wait calls

Compared to:

Cheapest-weekday rule

60.4%

just fill on the historically cheap weekday · 2,846 calls

Plain price-cycle model

54.9%

the cycle signal alone, no cost inputs — it made a call on only 475 days (~6× fewer than ours)

Both baselines are scored the same way, on the same prices. Worth knowing: it's easier to be accurate when you make fewer calls — the plain cycle model stays silent on most days, so its score covers far fewer decisions.

Tested weekly · last tested 31 July 2026 · we show where we're weak, not just where we're strong ↓

In plain English

When we tell you to fill up or wait, we're right about 79.2% of the time — across 2,711 calls since we launched in April 2026, in the cities we forecast. That beats the simple rules people actually use instead: picking the historically cheapest weekday, or reading the price cycle alone (which stays silent most days). The forecast is most useful when prices are genuinely moving — in a flat week there's little to gain either way. We don't get every call right, we tell you when we're unsure, and every figure here comes from replaying the current model over real past prices, re-tested roughly weekly.

How we find and fix the model's weak spots

No forecast is right all the time. What matters is whether we find our mistakes and fix them. We test the model against real prices every week; when we find a weakness, we fix it and measure the result by re-running the old and new model over the same past prices. Here's the record.

1

Weakness: Some markets run on a reliable weekly rhythm and others do not, and the forecast was treating several markets as weekly when they were not — so it called the cheap day on a pattern that was not really there.

The fix: Markets are now assessed for whether they genuinely have a weekly rhythm before that rhythm is used to time the recommendation.

Measured result:

  • Savings vs the average day: improved
  • Call accuracy: improved
  • Call accuracy (rising markets): improved · limited data
  • Savings vs the average day (rising markets): improved · limited data
How this was measured

By re-running the model from before and after this change over the same price snapshot (24 July 2026), across the same window (6 January 202617 July 2026), and comparing the two sets of calls. Validated 25 July 2026 against the recorded replay output.

2

Weakness: In calm, slowly-falling markets the forecast said nothing useful, so people filled up on a day that was not the cheapest of the next few.

The fix: It now tells you to hold off when prices are drifting steadily down.

Measured result:

  • Savings vs the average day: got slightly worse
  • Call accuracy: improved
  • Savings vs filling immediately (falling markets): improved
  • Savings vs filling immediately: improved
How this was measured

By re-running the model from before and after this change over the same price snapshot (24 July 2026), across the same window (6 January 202617 July 2026), and comparing the two sets of calls. Validated 25 July 2026 against the recorded replay output.

3

Weakness: It sometimes said 'fill now, this is a cheap day' while prices were still on their way down — so you filled before the actual bottom.

The fix: It became more cautious about calling the bottom while an ongoing fall is still in progress.

Measured result:

  • Savings vs the average day (falling markets): improved
  • Call accuracy (falling markets): improved
  • Call accuracy: improved
  • Savings vs the average day: little change
  • Call accuracy (flat markets): got slightly worse · limited data
  • Savings vs filling immediately: little change
How this was measured

By re-running the model from before and after this change over the same price snapshot (24 July 2026), across the same window (6 January 202617 July 2026), and comparing the two sets of calls. Validated 25 July 2026 against the recorded replay output.

4

Weakness: During a confirmed rise in fuel import costs the forecast sometimes stayed neutral instead of telling you to fill before the rise reached the pump — so you got less early warning than intended.

The fix: It now gives the protective fill-now call in a confirmed rising-cost market, including in markets whose prices barely cycle.

Measured result: still building — this is a rising-market fix, and our rising-market sample is still accumulating. A before/after publishes once it clears our sample-size gate, not before.

How this was measured

By re-running the model from before and after this change over the same price snapshot (24 July 2026), across the same window (6 January 202617 July 2026), and comparing the two sets of calls. Validated 25 July 2026 against the recorded replay output.

Each result is measured on today's data, so it reflects how each change performs now. The results don't stack — each fix is measured against the model just before it.

Where the forecast is less reliable

  • It predicts direction — cheaper or dearer, fill now or wait — not the exact price.
  • Calling the single cheapest day is hard outside the few cities with a clean weekly cycle, so we lean to “wait” or “no strong call” rather than guess a day we can't reliably hit.
  • In a flat market there's little to save, and our by-market-condition figures reflect that honestly — a high accuracy in a calm week can still mean only cents.
  • We judge a call over the next seven days (one refill cycle). That's the right window for how people actually refuel, but it's a forgiving test for a “wait” call — it gives the price a whole week to come good. We use a real ~3¢/L bar (not a rounding win), and the headline is the seven-day number and we say so.
  • Some recommendations react to one-off events (like an excise change). Those event-driven calls aren't part of this backtest yet, so the accuracy figure reflects the everyday cycle-and-cost model, not those special cases.
  • The record is young — it starts at launch (April 2026) and hasn't yet seen every kind of market. A sustained rising market only began across the board recently, so our rising-market figures carry thinner samples than falling ones and we flag them as such rather than lean on them. We date everything.

How we test this

Every week we replay the current forecast model over real past prices, day by day, and check it against what prices actually did next — across the cities we forecast (19 in total: 8 capitals + 11 regional centres), for unleaded and diesel. We use real past prices, not perfect hindsight. This is the current recommendation logic replayed over history — not a live log of the calls users saw at the time (the model has changed as we've fixed weaknesses). Recommendations that react to one-off events, like an excise change, aren't part of this backtest yet.

What counts as “right”: when we said fill now, it's right if prices didn't then fall meaningfully (more than ~3¢/L) over the next week — you didn't miss a real dip. When we said wait, it's right if prices did drop by that much within the week — waiting actually paid off. When we said no strong call, it's right if the week stayed flat either way. The ~3¢/L bar is about $1.50 on a typical ~50-litre tank, so a rounding wobble can't count as a win.

“The next week” means seven days — roughly one refill cycle, which is also as far ahead as the recommendation itself ever looks. Dollar figures on this page assume a ~50-litre fill; we report cents-per-litre first.

Denominator: accuracy is calculated from the 2,711 actionable calls (fill-now or wait) out of 3,977 scored decisions (68% actionable) — the rest were deliberate “no strong call” days, which count toward coverage, not toward the accuracy percentage. No cherry-picked wins. Scoring starts at each city's launch-window start (earliest 1 April 2026; the newest cities start 28 April 2026) and runs through 23 July 2026, re-tested roughly weekly — last tested 31 July 2026.

→ How the forecast itself works

Performance by market condition

Prices behave completely differently when they're falling, rising or flat — and so does the forecast's value. See the breakdown →

Unleaded 91 · 69.5% overall across 1,392 calls

Market conditionRight callsSavings vs the average dayHow much prices moved (7-day spread)Sample
Falling prices64.3%−0.7¢/L (≈ −$0.37/tank)~6.9¢/L641 calls · 15 cities
Rising priceslimited data82.8%+2.6¢/L (≈ $1.30/tank)~5.3¢/L29 calls · 1 city
Flat marketlimited data58.6%+0.7¢/L (≈ $0.35/tank)~3.3¢/L29 calls · 1 city

Diesel · 89.3% overall across 1,319 calls

Market conditionRight callsSavings vs the average dayHow much prices moved (7-day spread)Sample
Falling prices86.6%−1.4¢/L (≈ −$0.71/tank)~9.2¢/L867 calls · 18 cities
Rising priceslimited data94.8%+7.9¢/L (≈ $3.93/tank)~14.9¢/L115 calls · 4 cities
Flat marketstill accumulating

The short version: waiting pays when prices are falling; filling early protects you when they're rising; a flat market is a wash. In a long decline, simple patience is nearly unbeatable — our per-call savings there can trail the average day, and we show that rather than hide it; the model's harder job in a fall is spotting the days when waiting would cost you. Its value concentrates when prices turn or rise. Where a condition is still thin, we say so rather than claim it.

“How much prices moved” is the average peak-to-trough spread of the same 7-day windows the calls are scored against — context for how big the stakes were, not an achievable saving. Savings are measured against filling on the average day of that week and assume a ~50 L tank. Buckets marked “still accumulating” haven't reached our minimum sample gate; we publish them when they do, not before.

Common questions

Is the PetrolPulse forecast accurate?

Replaying our current model over real prices since we launched (April 2026), 79.2% of its fill-now or wait calls were the right call, across 2,711 actionable calls in the cities we forecast. For context, a plain price-cycle model scored 54.9% on the far fewer days it made a call, and a cheapest-weekday-only rule scored 60.4%. We publish the full record, including where the model is weak, and re-test it roughly weekly.

How do you measure forecast accuracy?

Every week we replay the current model over real past prices, day by day, and check each fill-now, wait or no-strong-call recommendation against what prices actually did over the following seven days, using a real ~3¢ per litre bar so a rounding wobble can't count as a win. Accuracy is the share of actionable (fill-now or wait) calls that proved right.

When is the PetrolPulse forecast unreliable?

It predicts direction, not the exact price; calling the single cheapest day is hard outside cities with a clean weekly cycle; in a flat market there is little to save either way; and the record starts at launch, so market conditions we have seen less of — like a sustained national rise — carry thinner samples, which we flag rather than hide. Event-driven calls (like an excise change) are not part of this backtest yet.

Does PetrolPulse predict the exact petrol price?

No. The forecast is directional — cheaper or dearer, fill now or wait — with a confidence level. Exact prices are pushed around by retailer strategy and local competition, so a precise cent figure would be false precision.

Written and reviewed by Mark Schreuder, founder of PetrolPulse · First published 31 July 2026 · Last updated 31 July 2026

Check prices in your city