Why does fuel cost what it costs?
Most of the price at the pump is not the fuel. Break it into its three parts, tax, the wholesale cost of the product, and the retailer margin, and the sign on the forecourt suddenly makes sense: why it sits so far above the raw oil price, and why it changes when it does.
What one litre is made of
The average European litre of petrol
Averaged over the 27 EU countries. The two blocks add up to the price on the sign.
European Commission, Weekly Oil Bulletin, week of 2026-08-31
Two blocks, not three, and that is a limit of the data rather than a simplification. The bulletin publishes the untaxed price as a single figure, so the wholesale cost of the fuel and the margin the station keeps are reported together and cannot be separated from it. The margin is much the smaller of the two, usually a few cents a litre. We compared the tax block across every country in how much of your fuel price is tax.
The same litre in Portugal, from the national source
Petrol 95, week of 2026-08-31. Published by DGEG, the Portuguese energy authority, which reports the structure of the average pump price.
DGEG, Estrutura de Preços Médios, week of 2026-08-31. The three tax components add up to 0.9814 € and the whole bar to 2.0129 €, the average pump price that week.
Portugal is worth showing because its national authority publishes the tax in pieces, including a carbon component most countries fold out of sight. What it does not publish, and nor does anyone else we could find, is the line between the wholesale cost of the fuel and the margin the station keeps. Both official sources, European and Portuguese, report those two together.
What is left over, and how much it moves
Every station in mainland Portugal pays the same 0.6050 € of duty per litre and the same 23% VAT, and buys on the same wholesale market. So the gap between two stations in one city is what each keeps. Petrol 95, within 8 km of the centre.
and the dearest station
and the typical one
1500 litres
Fillz, live station prices on 2026-09-08, with the duty and VAT published by DGEG for the week of 2026-08-31. Prices are converted to the pre-VAT figure before comparing, because VAT scales with the price and would otherwise exaggerate the gap.
One caveat and one confirmation. The caveat: what is left over is not pure profit. It also carries the cost of getting the fuel to that particular forecourt, and a station far from a depot genuinely pays more. The confirmation came from Madeira, which we measured as a control: prices there are regulated, every station charges the same, and the gap is exactly zero. Where the market sets the price, the gap opens. Where it does not, it closes.
Every litre you buy is really three things stacked together: tax set by your government, the wholesale cost of the fuel itself, and a thin retailer margin. The proportions differ by country and fuel, but the shape is universal, and tax is usually the largest slice of all.
Once you can see those three parts, most of the mysteries of fuel pricing dissolve.
Tax: the biggest and steadiest slice
There are two taxes on a litre of fuel. A fixed excise duty is charged per litre and does not move with the oil price. Then VAT is added on top, and crucially it applies to the whole price including the excise, so you pay a tax on a tax. Together these are often the largest part of what you hand over.
Because tax is set nationally and rarely changes, it explains two things at once: why pump prices across a country move roughly together, and why they sit so far above the bare cost of the oil.
How big that slice is depends entirely on where you fill up: we compared the tax share in all 27 EU countries, and the spread runs from under a third to more than half.
Wholesale: oil, refining and the exchange rate
The wholesale part is the fuel as a traded product: crude oil plus the cost of refining it into petrol or diesel. Crude is bought and sold on world markets in dollars, so the exchange rate matters too, a weaker local currency makes the same barrel dearer at home.
This is the piece that actually moves day to day. It is passed through to the pump with a lag of days, which is why a jump in oil this morning shows up on the sign later in the week, not at lunchtime.
Margin: the thin, competitive slice
What is left is the retailer margin, usually only a few cents a litre. It pays for the site, the staff and the card fees, and competition squeezes it hard. That is why a busy road with several stations tends to be cheaper than an isolated one, and why the gap between two nearby pumps, all facing the same tax and wholesale cost, comes down to local rivalry.
Why the sign changes when it does
Tax holds still and margin barely moves, so almost all of the day-to-day change comes from the wholesale part following oil. When oil rises, pumps climb over the next few days; when it falls, they ease down, and often more slowly than they went up. That slower fall is common enough to have a nickname, rockets and feathers.
None of this is something you can bargain with. What you can change is the one part that varies street by street: which station you choose.
Common questions
Why is so much of the price tax?
Fuel carries a fixed excise duty per litre plus VAT on the whole amount. Set nationally, it is often the largest single part of the price and the reason pumps sit well above the raw oil cost.
Why do prices rise faster than they fall?
Retailers tend to pass on wholesale rises quickly and cuts more slowly, the rockets and feathers effect. Competition eventually pulls prices back down, which is another reason to compare.
Does a jump in oil hit the pump instantly?
No. The wholesale cost feeds through with a lag of days, so today's oil move usually shows up on the forecourt later in the week.
Why do neighbouring countries differ so much?
Mostly tax. The oil and refining cost is broadly similar across a region, so different excise and VAT rates are what make one country dearer than the next.
You cannot change the tax. You can change the station.
Tax and oil are out of your hands. The one lever left is choosing the cheapest station for your fuel, and counting the detour. That is exactly what Fillz does on every result.
Open Fillz