So I built a scraper that hits the UK government's mandatory Fuel Finder API every 10 minutes and stores every price change. 90k records across 7,700 stations since January.
Some things I found that surprised me:
The rocket and feather effect is real and measurable. When stations raise prices the average move is 2.35p/litre. When they cut, it's 1.85p. There are also more up moves than down moves. I queried the raw history to check this rather than eyeballing a chart.
Motorway fuel is 28.4p/litre more expensive than everywhere else right now. That's about £14 extra on a 50L fill. Everyone knows motorways are expensive but I didn't expect the gap to be that wide.
The supermarket discount is only about 1.7p. I assumed it would be bigger.
Stack is Azure Functions, TimescaleDB, PostGIS, Next.js. The interesting thing about this project is the history. No public site shows how an individual station has priced over time or how a local cluster of stations react to each other. That's what I'm building towards.
Site: https://fuelinsight.co.uk
Happy to talk through the architecture or the data if anyone's interested.
I kept hearing about the vast profits of gas stations, so one day I started a spreadsheet of my gas purchases and kept it going over 10 years. When I tried lining up the graph of what I have actually paid per litre with a spot market graph, after converting for currency, units, taxes etc, they were almost identical, indicating extremely slim margins, if any. Yes there were differences, places in the graph where stations had likely made money on my purchase, but there were just as many where they likely lost money, unless I also stepped inside to but a snack.
Manned stations really need that shop otherwise they'd go bankrupt.
Chains make a bit more money but mostly because they can play longer games with stock and options on much larger volume buys.
Source: former gas station owner.
When crude is high, it's upstream that earns the income. When it's low, it's selling it to the customer.
Fun fact: when I worked at BP, the product with the highest margin on the forecourts was the Wild Bean coffee.
Not nearly as much profit as Vitol made but they make large sums too.
Here in Germany, many stations aren't even involved in selling the gas. That's what that magical line "Verkauf von Kraft- und Schmierstoffen im Namen der <Firma>" on the receipt says - the fuel and oil are on paper/for accounting purposes sold by the oil company whose brand is on the flag.
Independent gas stations (e.g. in Bavaria, the Allguth chain) exist, and they buy, store, distribute and sell their fuel on their own, but in the end everyone is bound to the same few refineries - virtually all (!) of Eastern Germany, Berlin, the Berlin airport and Western Poland for example depend on the PCK refinery complex in Schwedt [1], in Bavaria 2/3rd of the market is supplied by the two Bayernoil refineries in Vohburg and Neustadt [2], the rest by Gunvor (ex-Esso/Exxonmobil) [3].
No matter if you are an independent or brand-owned gas station... there is about zero competition on the supply side. It's all the same gas and diesel, the only practical difference is the additives for the ultra-high-octane fuel. And that in turn means very little competition at the pump, and owners of independent gas stations being hit the hardest.
There's a reason why Allguth stations more resemble a 24/7 supermarket, restaurant and beer hall than a gas station.
Oh and the supply side competition is pretty bad even for refineries. Refineries are fitted to refine only a specific composition of oil - that's the distinctions sweet/sour and light/heavy. For that reason, the US can't process a bunch of its own oil [4], which means the US is actually dependent on Canada and Mexico [5] to meet its oil product demand. A refinery which, like almost all are, is tuned to a specific country's (or, worse, a specific oil field in a specific country) composition is in a real bind, should the supply chain ever get screwed up. The Russian invasion of Ukraine was bad enough, the Iran war was what could very well be the final, fatal blow to many a refinery, especially in Asia.
Retrofits are possible to allow a refinery for light sweet oil to process heavy sour oil (i.e. add a sulphur removal stage to deal with that, and a cracking stage to deal with heavier molecules), and it is possible for a refinery that is tooled for heavy sour oil to run on light sweet oil without modification - but it is seriously throwing wrenches into the financials, and that's a blocking issue in our money driven world [6].
[1] https://www.faz.net/aktuell/wirtschaft/unternehmen/pck-raffi... / https://archive.ph/qtvd8
[2] https://de.wikipedia.org/wiki/Bayernoil
[3] https://de.wikipedia.org/wiki/Gunvor_Raffinerie_Ingolstadt
[4] https://www.afpm.org/newsroom/blog/how-much-oil-does-united-...
[5] https://atlasinstitute.org/heavy-oil-heavy-dependence-how-us...
[6] https://www.forbes.com/sites/rrapier/2026/04/05/debunking-a-...
There's naturally going to be a lot more friction and a lot less pop-up competition and therefore a lot more margin on the supply side of things.
The station has no power to raise margin - they are in tight competition with every other low-margin station around them. The suppliers, on the other hand... If they invested into wells that aren't affected by the war 10 years ago, and their competitors haven't (or have, but can't supply all the world's oil needs), and there's a global supply shortage - they have lots of room to raise prices.
Comparing the absolute size of price rises vs drops doesn't make sense, because it could very well be an issue with the underlying price (eg. crude oil or whatever). It seems hardly fair to blame gas stations for being slow to lower prices, when refineries are still also slow to lower prices. Same for blaming refineries when the global market is slow to lower prices.
The US government publishes data on this (eg. https://www.eia.gov/petroleum/gasdiesel/). The UK government might have something similar. Barring that, you can use Brent crude as a proxy.
Probably not doing exactly what your tool does, but you might be interested: https://www.fuelwatch.wa.gov.au/
Although the other recent private equity takeover of Morrisons led to some sort of deal with Motor Fuels Group to operate their petrol stations (but no ownership stuff in this case?), but they're seemingly still being competitive with Sainsbury's and Tesco's.
Your point about post-PE Asda is interesting, I've noticed it too. If you want to see how they compare individually you can check the brands page on the site, shows each supermarket chain as its own line. Pretty easy to split the supermarket aggregate out per brand too, would probably show Asda creeping back towards the independents since the takeover. Might add that.
https://successfulsoftware.net/2026/03/29/stop-publishing-ga...
Why did you make 'Esso' and 'Shell' the same colour in your brand chart?
On the colours, esso and shell are both red brands so they ended up close on the chart. will fix that.
Only 1 change per station per week on average? Fewer than I expected. Not sure I'd call it a scraper, myself.
157p/L national average is about 8 USD/G.
Europeans seem to be far more comfortable with Pigovian taxes than Americans. Or does it even come up for discussion when people are referencing the retail price at the pump?
My uneducated guess is it correlates to the weekly delivery of fuel. ;-)
> 90k records across 7,700 stations since January.
If a new user clicks on Accept, he has no (normie) mechanism to revoke that as the choice is stored in local storage and it doesn't expire.
...
Just curious, not intending this as an attack on your project.
List of authorized places using the data: https://www.bundeskartellamt.de/DE/Aufgaben/Markttransparenz...
One of those vendors publishes it as creative commons data set, though. Including historic data. https://creativecommons.tankerkoenig.de/
My '22 Subaru Outback burns less per mile than my '03 Volkswagen Jetta did, for what it's worth.
Now I do wonder about those people who buy a Chevy Tahoe, Ford Expedition, or Toyota Sequoia and then complain about gas consumption...
Tho really need some car population per road segment stats to drive the most out of it IMO.
For now data can only be exported as xlsx but with the open data orientation of Québec's government, I guess it will be available soon
The interactive map seems to be a bit broken (lots of grey dots vs brand colours, lots of broken mouseovers where many stations don't show price on hover)
Dashboard Price Comparison, you really need to re-think the colours, perhaps especially Shell Red vs Esso Red
I would rather push the car then pay motorway prices.
But yet to explore how I'd validate this idea. Your site helps remind me to have a dig at it.
I have read that people with astigmatism will often have an easier time reading light mode. Something like 30% of adults have that issue.
Just wanted to provide the feedback so you're aware.
[0]: https://idiallo.com/blog/handling-1-million-web-request
stationwatch.co.uk