A heating oil price looks like a single number. Enter a postcode, enter a volume, and a figure appears in euros per hundred litres. That simplicity is doing a lot of work. Behind the number sit at least five separate markets, each moving on its own logic, compressed into something that reads like a fact rather than a forecast.
The benchmark nobody buying oil ever sees
Heating oil is a refined product, priced off international benchmarks such as ICE gasoil, traded in dollars per tonne, set by the same crude-oil dynamics that move petrol and diesel. A household ordering five hundred litres for a semi-detached house in Lower Saxony is, several steps removed, exposed to OPEC production decisions and refinery outages on the other side of the world. None of that is visible in the final price. It is simply absorbed into it before the number ever reaches a comparison site.
A currency conversion nobody notices
The benchmark is priced in dollars. The household pays in euros. Every movement in the EUR-USD exchange rate changes the cost basis before a single litre is refined, trucked, or delivered, independent of anything happening in the oil market itself. A currency-driven price change and a genuine supply shock look identical on the invoice. They are not the same event, and they do not carry the same implication for whether next month’s price is likely to be higher or lower.
The part that is actually local
Refining margin and currency exposure are national, effectively identical for every household in the country on a given day. What varies by postcode is the last-mile layer: the dealer’s own margin, delivery-route economics, and how much competition exists in that specific region. A rural delivery to a low-volume household costs a supplier more per litre to fulfil than a dense urban route, and that cost differential shows up as genuine price variation between two households ordering the same product on the same day.
This is the layer a live price comparison is actually built to expose. The benchmark and the currency rate are the same for everyone; the retail spread on top of them is not, and it is the only part of the number a household has any real ability to shop around by checking a live regional price comparison before ordering.
The seasonal pattern that is not a coincidence
Demand for heating oil concentrates heavily in the months before winter, as households top up tanks ahead of the cold. Suppliers know this as well as anyone, and prices tend to reflect the seasonal demand curve rather than moving purely with the underlying commodity. Buying in a quieter month, when storage tanks are not universally low and delivery schedules are not stretched, is a structurally different transaction from buying in late autumn, even if the international benchmark has not moved at all in between.
What a comparison tool cannot do
None of this makes the price predictable, only legible. Seeing today’s spread across regional sellers shows what the market is charging right now; it says nothing reliable about what the benchmark, the exchange rate, or the season will do next month. Collapsing five layers of market noise into one visible number does not remove the noise. It just moves it from invisible to inspectable, which is a smaller claim than it sounds, and the only honest one to make.
Why that distinction matters
Treating a comparison figure as a prediction is the mistake that costs households money, waiting for a price to come down based on a pattern that was seasonal rather than structural, or ordering in a rush on the assumption that a currency-driven spike is permanent. The number on screen is accurate for the transaction in front of it. It was never claiming to be accurate for the one three months away.
The part worth remembering
A household does not need to understand OPEC, gasoil futures, or EUR-USD forwards to buy heating oil sensibly. It needs to know that the number it sees is real for today, and to treat every other assumption about tomorrow’s number as exactly that: an assumption, not a fact carried over from the last invoice.