I got frustrated that every fuel price app just shows you what's cheap nearby. I wanted to know how stations actually behave: do prices go up faster than they come down, do supermarkets really save you much, how bad are motorway prices really?
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.
Happy to talk through the architecture or the data if anyone's interested.
fredoralive•1h ago
For the "supermarket saving", did you include Asda in the supermarket pool, or as a general pool? They seem to be rather less price competitive than other supermarkets, I'd presumably because of the recentish private equity takeover involving petrol station operator Euro Garages meaning they've kinda opted out of the petrol price war (they're hardly likely to want to undercut their existing forecourts).
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.
theazureguy•1h ago
Yeah Asda is in there. I match on brand name directly rather than the API's is_supermarket flag because that flag is all over the place (loads of Asda stations don't have it set). So it explicitly checks for Asda, Tesco, Morrisons, Sainsbury's, Co-op, Costco.
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.
appreciatorBus•1h ago
Another insightful way to look at this is to include gasoline spot market data as a comparison.
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.
theazureguy•59m ago
Good shout. DESNZ publishes weekly wholesale rack prices and they are OGL, so there is no barrier there. The interesting bit isn't just showing the gap; it's the propagation lag. Wholesale spikes and pump prices follow within days. Wholesale drops and pump prices take their time. That asymmetry is basically what I built this dataset to measure. Adding the wholesale series as a reference line is on the list.
jacquesm•34m ago
You are correct. Non-chain gas stations often make only as little as one or two cents per liter, and that's before you look at pump maintenance, inspections, periodical tank replacements/upgrades/liners and other costs.
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.
spockz•2m ago
And yet I see in earnings that companies like BP and Shell make record profits over increased gas prices. How come that they do profit but the station holders not? Are shell/bp increasing the margin harder and eating the station’s lunch?
yzydserd•5m ago
> 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.
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.
peterdrohan•39m ago
bros server crashed
morkalork•34m ago
Well they did call themselves the azure guy
theazureguy•32m ago
haha not quite, db was struggling under the load for a few minutes. b1ms postgres doesn't love 6k requests in 30 mins.
GordonS•27m ago
Those tiny b1ms VMs are absolutely pitiful (long time Azure sufferer here). It's crazy how little compute and memory Azure give you for so much money.
theazureguy•22m ago
yeah scaling it up now, was hoping to keep costs down but HN had other ideas
firefoxd•11m ago
A 30 second memcached/redis/etc goes a long way when sharing on HN. You go from 6k db hits to 60 hits in 30 minutes. Worked for me since 2013 [0].
If only this wasn't hosted on azure, we'd be able to actually look at the data
callamdelaney•15m ago
Microslopinator strikes again
varispeed•11m ago
I thought cloud was supposed to be an answer to sudden surges in traffic. /s
johannes1234321•2m ago
In Germany fuel processes must be reported to the anti trust authority (Bundeskartellamt) the data is than published to providers of apps and websites. Unfortunately there isn't a free public data stream from them.
theazureguy•1h ago
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.
fredoralive•1h ago
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.
theazureguy•1h ago
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.
appreciatorBus•1h ago
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.
theazureguy•59m ago
jacquesm•34m ago
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.
spockz•2m ago
yzydserd•5m ago
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.