Fuel Detective: UK Fuel Market Intelligence

Institutional briefing format for operational decision support, anomaly triage, and postcode-level market review.

Executive Summary

Report Generated2026-02-18 13:10:53 UTC
Stations Analyzed5,676
Unique Station IDs5,676
Duplicate Output Rows0
Median E10 (PPL)131.900
Average Staleness (Days)8.496
High Probability Rows0
High Anomaly Rows15
Fill Now35
Fill Soon804
Brand Profiles30
Postcode Sectors934
Sectors Classified (>=3 Stations)934
Regime Types5
Dominant Regimecompetitive (42.5%)
Target DefinitionFallback: next-observation speed
Walk-Forward ROC-AUC Mean0.0723
Walk-Forward ROC-AUC Std0.0042
Walk-Forward Brier Mean0.2806
Walk-Forward Brier Std0.0010
Narrow Uncertainty Coverage88.2%

Interpretation: use high-probability rows with narrow intervals as primary action candidates, then route anomaly flags to validation controls. Output rows are constrained to one row per station ID. 50.0% positive over 7.0-day horizon, threshold=0.03 days to next observation.

Decision Queue

Standardized triage policy designed for repeatable operations.

Lane Rows Rule Operational Guidance
Action Now 0 Probability >= 0.70, interval width <= 0.20, no high anomaly. Prioritize for immediate route or procurement decisions.
Validate First 55 High anomaly, diesel below petrol, or wide uncertainty interval. Perform manual checks before any policy or financial action.
Monitor 5,621 No strong trigger condition. Retain in routine monitoring and reassess at next refresh.

Visual Briefing Pack

UK fuel E10 price distribution chart
E10 distribution with category spread across supermarket, premium, and other stations.
UK fuel anomaly map by location
Spatial footprint of medium and high anomaly scores.
Fuel price change probability distribution chart
Distribution of near-term update probability and brand concentration.
Brand positioning versus local competition chart
Brand positioning versus local competitors and update cadence.
Postcode sector fuel price intelligence map
Postcode-sector average E10 map for local market structure review.

Brand Positioning (Data-Derived)

Update rate is the station-weighted share of brand rows with staleness below 7 days.

brand stations avg_vs_comp update_rate_pct price_position_score
COSTCO WHOLESALE 20 -9.17 100.0 -43.34
TOTAL ENERGIES 7 -6.40 28.6 -30.66
MORRISONS 337 -3.29 84.0 -25.79
TESCO 516 -2.92 18.6 -21.53
SAINSBURY'S 316 -2.93 17.1 -20.42
CENTRAL CO-OP 18 -2.26 100.0 -12.86
SOLO 6 -1.73 33.3 -11.80
HARVEST ENERGY 11 -0.96 0.0 -8.74
ESSAR 10 -1.85 30.0 -8.69
NICHOLL 5 -0.05 0.0 -5.10
UNKNOWN 43 -0.50 37.2 -3.91
GULF 196 -1.02 29.1 -3.06
JET 169 -1.47 66.3 -2.21
HIGHLAND FUELS 8 -1.55 0.0 3.14
MURCO 71 -0.35 29.6 3.17
APPLEGREEN 8 -0.56 25.0 5.12
VALERO 38 -0.00 57.9 6.57
TEXACO 335 -0.03 63.0 7.18
MAXOL 47 0.46 23.4 7.84
PACE 18 1.59 33.3 11.52

Postcode Sector Market Structure

sector stations avg_price price_range market_type price_leader
CR0 13 132.98 10.00 concentrated SAINSBURY'S
BT71 12 124.98 3.00 competitive EUROSPAR MOY
BT42 10 124.60 3.00 competitive WR KENNEDY AND COMPANY
BT23 10 125.10 4.00 competitive SOLO
BT47 10 126.80 17.00 competitive GO
SN14 10 136.00 30.00 competitive MORRISONS
GL2 9 127.68 5.00 competitive SAINSBURY'S
TQ12 9 133.41 34.00 competitive TRAGO MILLS FILLLING STATION
RH17 9 133.74 7.20 concentrated GULF
NG9 9 134.01 33.00 competitive SAINSBURY'S
ST5 9 137.57 34.00 competitive MORRISONS
BT51 8 124.30 5.09 competitive MORANS CENTRA - GO SERVICE STATION
BT62 8 124.88 2.20 competitive XPRESS 24HR
BT30 8 125.16 5.10 concentrated NICHOLL AUTO 365 DOWNPATRICK
BT28 8 125.28 5.00 competitive TESCO
BT34 8 125.65 2.00 competitive MAXOL
DN4 8 129.40 2.00 competitive MORRISONS
S60 8 130.90 34.00 competitive BP
PE12 8 131.89 7.10 competitive APPLEGREEN
SA14 8 132.31 34.00 competitive NISA LOCAL DREFACH
PR3 8 133.40 14.00 competitive SHELL
PE28 8 133.86 11.20 competitive PACE
GL7 8 134.40 3.00 competitive BURFORD ROAD FILLING STATION
SE9 8 135.90 4.00 competitive JET
TA6 8 137.75 29.00 competitive TOTAL ENERGIES

Market Regime Breakdown

regime sectors share_pct
competitive 397 42.5
mixed 330 35.3
local_monopoly 85 9.1
fragmented 78 8.4
supermarket_dominated 44 4.7

Top Anomalies

station brand postcode e10_ppl diesel_ppl change_probability anomaly_score anomaly_level reason
GATEFORD SERVICES STATION ESSO S80 1UE 169.90 140.90 0.521 100.0 high diesel below petrol, large local competitor gap, extreme price quantile, brand diesel spread outlier, brand staleness MAD outlier
kingskerswell Services Station ESSO TQ12 5HG 159.90 141.90 0.514 100.0 high diesel below petrol, large local competitor gap, extreme price quantile, brand diesel spread outlier, brand staleness MAD outlier
CAROLINE SERVICE STATION VALERO SK15 1PD 146.90 132.90 0.508 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
Fison Way Self Serve SHELL IP24 1NB 152.90 143.90 0.496 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
NEW NORTH ROAD SERVICE STATION JET IG6 3AD 147.70 139.70 0.495 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
Taw Garages Service Station ESSO EX32 9HQ 147.90 139.90 0.486 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
Dyffryn Service Station ESSO LL15 1PE 154.90 144.90 0.481 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
OLD STREET GARAGE ESSO KA26 9HG 146.90 142.90 0.465 100.0 high diesel below petrol, large local competitor gap, brand diesel spread outlier, brand staleness MAD outlier
THORPE SERVICE STATION TEXACO LS28 7NB 139.90 134.90 0.503 80.0 high diesel below petrol, brand diesel spread outlier, brand staleness MAD outlier
CORTON BEACH BLACKPOOL LTD ESSO FY1 5HZ 138.90 131.90 0.502 80.0 high diesel below petrol, brand diesel spread outlier, brand staleness MAD outlier

Highest Predicted Price-Change Probability

station brand postcode e10_ppl change_probability p_up prob_interval fill_recommendation pence_to_fill_alert expected_days_to_change staleness_days
Beddoes BEDDOES WV13 3SJ 135.70 0.541 0.091 0.429 - 0.628 monitor 1.00 9.0 14.055605
Hockley HOCKLEY B19 2XY 131.90 0.535 0.092 0.458 - 0.570 monitor 2.17 9.1 14.073406
GEM ORMSKIRK SHELL L39 1LZ 128.90 0.532 0.665 0.393 - 0.631 monitor 5.58 9.2 7.066635
Sidcup Filling Station HARVEST ENERGY DA14 6PA 131.90 0.532 0.458 0.473 - 0.548 monitor 4.00 9.2 14.074367
CALLINGTON SUPERSTORE - PETROL FILLING STATION TESCO PL17 7RD 134.90 0.531 0.360 0.410 - 0.613 monitor 1.00 9.2 15.724540
Uig filling station UIG FILLING STATION IV51 9XX 136.90 0.531 0.480 0.377 - 0.609 monitor 8.00 9.2 11.999251
ASCONA BROADWAY SERVICE STATION JET PE7 3NR 128.90 0.531 0.438 0.447 - 0.666 monitor 8.00 9.2 15.836797
Dafen Service Station DAFEN SERVICE STATION SA14 8NS 159.90 0.531 0.098 0.319 - 0.721 monitor 1.00 9.2 11.857700
GEM KNOWSLEY TEXACO L33 7XB 128.90 0.530 0.192 0.400 - 0.658 monitor 5.17 9.3 14.009424
NTS OLDBURY SERVICE STATION NTS OLDBURY SERVICE STATION GL9 1DU 129.90 0.529 0.810 0.439 - 0.583 fill_soon 4.17 9.3 0.790188
UPPER BATLEY SS BP WF17 5LW 129.90 0.528 0.071 0.390 - 0.603 monitor 1.00 9.3 39.785084
Alexandria Service Station ALEXANDRIA SERVICE STATION G83 0DX 133.90 0.528 0.106 0.391 - 0.571 monitor 2.15 9.3 12.811913
Sessia Ltd SESSIA BT44 8HS 127.70 0.528 0.568 0.379 - 0.562 monitor 1.00 9.3 7.856242
TYKE 2000 LTD GULF YO179HS 127.90 0.527 0.646 0.433 - 0.590 fill_soon 2.60 9.3 7.083556
BP MEARNSKIRK BP MEARNSKIRK G77 5EU 131.90 0.527 0.452 0.302 - 0.676 monitor 1.00 9.4 12.006566

Preemptive Fill Opportunities

station brand postcode e10_ppl fill_alert_price_ppl pence_to_fill_alert rise_risk_score p_up expected_days_to_change fill_recommendation
MFG MORRISONS BISHOP AUCKLAND MORRISONS DL14 7TL 121.70 123.97 2.27 0.479 0.960 10.1 fill_now
MFG COURTFIELDS ESSO TA21 8SN 129.90 130.90 1.00 0.479 0.910 9.4 fill_now
MFG BRADLEY ESSO HD5 0RP 127.90 128.90 1.00 0.476 0.940 9.9 fill_now
BICESTER SUPERSTORE - PETROL FILLING STATION TESCO OX26 1DE 124.90 127.40 2.50 0.475 0.924 9.7 fill_now
GEM KIRKBY STEPHEN SHELL CA17 4RP 131.90 134.07 2.17 0.473 0.899 9.4 fill_now
YORKGATE CENTRE SUPERSTORE - PETROL FILLING STATION TESCO BT15 1WA 121.90 123.98 2.08 0.472 0.942 10.1 fill_now
MFG MORRISONS BRADFORD ENTERPRISE 5 MORRISONS BD10 8EG 124.90 126.07 1.17 0.471 0.932 9.9 fill_now
RONTEC BYKER BP NE6 1JN 126.90 129.72 2.82 0.471 0.932 9.9 fill_now
NORTHCOTT EXTRA - PETROL FILLING STATION TESCO BT36 5HH 122.90 125.61 2.71 0.471 0.933 10.0 fill_now
MFG DAVENTRY SHELL NN11 4QB 130.90 131.90 1.00 0.470 0.937 10.0 fill_now
MFG MORRISONS HARTLEPOOL BELLE VUE MORRISONS TS25 1JZ 123.70 124.70 1.00 0.470 0.942 10.1 fill_now
MFG WELLINGTON PR ESSO TA21 9AD 129.90 130.90 1.00 0.469 0.911 9.7 fill_now
MFG SHIRLEY BP KT23 4HB 131.90 134.07 2.17 0.467 0.928 10.0 fill_now
MFG CROSS LANE BP BD4 0SB 129.90 130.90 1.00 0.467 0.915 9.8 fill_now
MFG SOMERBY HILL BP NG31 7ET 132.90 133.90 1.00 0.466 0.902 9.6 fill_now

Model Drivers

feature importance importance_std importance_lower importance_upper stability
nearest_competitor_distance_km 0.128636 0.004359 0.121467 0.138248 29.509354
price_vs_competitor_avg 0.111839 0.003261 0.105210 0.117369 34.296130
diesel_petrol_ratio 0.087448 0.003048 0.082771 0.094065 28.686191
price_vs_competitor_min 0.079146 0.002757 0.074635 0.084298 28.706350
fuel_price_std 0.079128 0.003094 0.074510 0.085923 25.572531
brand_encoded 0.067723 0.002821 0.063485 0.074312 24.005552
diesel 0.066630 0.002376 0.061807 0.070940 28.044052
e10 0.063884 0.002092 0.060465 0.068444 30.532073
competition_intensity 0.056871 0.002884 0.051650 0.063169 19.717031
e5 0.055282 0.002175 0.051797 0.059932 25.411294
premium_spread 0.052301 0.002078 0.049536 0.056527 25.164757
diesel_premium 0.038064 0.002145 0.034028 0.041587 17.741731
regime_price_position 0.026645 0.001501 0.023689 0.029229 17.751034
update_regime_code 0.026516 0.001358 0.024013 0.028977 19.522522
customer_toilets 0.014783 0.001220 0.012794 0.017355 12.120320

Downloads

Method and Assurance

Transparent uncertainty

Each probability includes lower, median, and upper bounds to support risk-aware decisions.

Deterministic execution

The pipeline uses fixed seeds and consistent transforms for repeatable outputs on the same data snapshot.

Operational safeguards

High-anomaly and diesel-below-petrol rows are separated for validation-first workflows.

Known limitation

Observed forward price changes were unavailable in this dataset snapshot, so probabilities use a fallback next-observation-speed target. Treat signals as cadence risk, not direct price-move risk.

Technical Appendix

Walk-Forward Fold Metrics

fold_1: train_rows=9076 validation_rows=2269 roc_auc=0.0731 brier=0.2811
fold_2: train_rows=9076 validation_rows=2269 roc_auc=0.0780 brier=0.2803
fold_3: train_rows=9076 validation_rows=2269 roc_auc=0.0657 brier=0.2814
fold_4: train_rows=9076 validation_rows=2269 roc_auc=0.0744 brier=0.2787
fold_5: train_rows=9076 validation_rows=2269 roc_auc=0.0701 brier=0.2814

Summary Snapshot

Fuel Detective Summary
================================================================================
Generated UTC: 2026-02-18T13:10:53.313626+00:00
Data source: UK fuel station full-history dataset
Stations analyzed: 5,676
Unique station IDs: 5,676
Duplicate station rows in output: 0
Median E10 (ppl): 131.900
Median diesel (ppl): 141.800
Average staleness (days): 8.496
Median expected days to change: 10.10
High change probability rows (>0.70): 0
High anomaly rows: 15
Diesel cheaper than petrol rows: 55
Stale rows (>60 days): 0
Fill-now opportunities: 35
Fill-soon opportunities: 804

Market intelligence
--------------------------------------------------------------------------------
Brand stats rows: 30
Postcode sector stats rows: 934
Market regime rows: 934
Market regime breakdown:
competitive: 397 (42.5%)
mixed: 330 (35.3%)
local_monopoly: 85 (9.1%)
fragmented: 78 (8.4%)
supermarket_dominated: 44 (4.7%)
Cheapest positioning brand: COSTCO WHOLESALE (score=-43.344)
Most expensive positioning brand: WELCOME BREAK (score=53.965)
Largest postcode sector sample: CR0 (stations=13)

Model diagnostics
--------------------------------------------------------------------------------
Target mode: next_observation_speed
Target horizon (days): 7.0
Target positive rate: 0.5000
Fallback threshold for next-observation target (days): 0.0311
Class balance: class_0=5672, class_1=5673
Training rows: 9,076
Validation rows: 2,269
Validation ROC-AUC (last fold): 0.0701
Walk-forward ROC-AUC mean: 0.0723
Walk-forward ROC-AUC std: 0.0042
Validation Brier score (last fold): 0.2814
Walk-forward Brier mean: 0.2806
Walk-forward Brier std: 0.0010

Walk-forward fold metrics
--------------------------------------------------------------------------------
fold_1: train_rows=9076 validation_rows=2269 roc_auc=0.0731 brier=0.2811
fold_2: train_rows=9076 validation_rows=2269 roc_auc=0.0780 brier=0.2803
fold_3: train_rows=9076 validation_rows=2269 roc_auc=0.0657 brier=0.2814
fold_4: train_rows=9076 validation_rows=2269 roc_auc=0.0744 brier=0.2787
fold_5: train_rows=9076 validation_rows=2269 roc_auc=0.0701 brier=0.2814

Classification report
--------------------------------------------------------------------------------
                       precision    recall  f1-score   support

         stable_state      0.138     0.138     0.138      1134
fast_next_observation      0.139     0.139     0.139      1135

             accuracy                          0.139      2269
            macro avg      0.139     0.139     0.139      2269
         weighted avg      0.139     0.139     0.139      2269

Top feature importance
--------------------------------------------------------------------------------
nearest_competitor_distance_km: 0.128636
price_vs_competitor_avg: 0.111839
diesel_petrol_ratio: 0.087448
price_vs_competitor_min: 0.079146
fuel_price_std: 0.079128
brand_encoded: 0.067723
diesel: 0.066630
e10: 0.063884
competition_intensity: 0.056871
e5: 0.055282