Research / Retail — fuel price dynamics

Local price convergence in French retail fuel — not supported by a geography placebo

Methodology August 2026 Data: data.gouv.fr — Prix des carburants (Etalab, Licence Ouverte)
Grouped bars of H3 fire-rate per département across four windows: the scrambled reference (a random other département's consensus) fires as often or more than the local one, indicating the reversion is not specifically local.

The question

French retail fuel is a textbook local-competition market: stations post prices on roadside signs and are widely believed to track their nearby rivals. The narrow, testable version: do a station’s deviations from its local consensus get pulled back — genuine adjustment toward local competitors — and does that hold when the test is repeated in independent periods rather than the one we first looked at?

Data

Public one-day price data for gazole (diesel) from the French government open dataset (~9,600 stations), across four independent, non-crisis quarters spanning 2023–2025, with each station’s price change carried on a common daily clock. Windows were fixed in advance by a mechanical rule; the two quarters overlapping known interventions (the 2022 government rebate and the 2026 price-shock quarter, where diesel pinned heavily at a round-number level) were excluded before any result was examined. Autoroute stations are excluded; the analysis is at the département level. Every figure is our own derived analysis, not redistributed raw data.

Method

We reference each station to a fresh local consensus — the median of other recently-posted stations in its département — and measure whether that deviation error-corrects (is pulled back) faster than a proper null. Because a positive here is easy to manufacture, the deviation is passed through a layered stack of controls, each fixed in advance and each able to fail:

  • a panel null that reproduces the mechanical reversion of stale, asynchronously-posting stations, plus a real-data twin built from each cell’s own posting pattern — these close mechanical, staleness and high-volatility artifacts;
  • a synchronized-cluster de-duplication: stations whose price changes are near-identical in timing and value are collapsed to one effective source, so a single chain feed cannot masquerade as many independent stations inflating a result;
  • a geography-scramble placebo: re-reference each station to a random other département’s consensus and re-run the test. If stations revert toward a stranger’s median as strongly as their own, the effect is not local — it is generic price stationarity that any reference would detect.

Only a signal that clears all of these counts.

Findings

The apparent effect is real and material — but not specifically local. Station deviations from local consensus are sizeable (median ~2 c/L, with a tail near 9–10 c/L — comparable to the thin gross margins typical of retail fuel) and mean-revert strongly and repeatably: the reversion clears the null in every one of the four windows. On the mechanical, staleness and chain controls alone, this looked like a genuine four-window convergence result.

The geography placebo does not support a local interpretation. Re-referenced to a random other département’s consensus, the reversion fires as often or more often than against the station’s own local consensus, in all four windows. Because subtracting any département’s consensus removes the shared national cost trend, what actually reverts is each station’s price around its own standing markup over that national trend — generic station-level stationarity, detectable against any reference, not adjustment toward local competitors. A control confirms the placebo does separate the two when locality is real, so its verdict here is informative, not a dud: there is no evidence of local competitive convergence beyond generic price stationarity. The convergence story that the earlier controls supported does not survive the one test built to ask whether “local” was ever the right word.

A separate, reference-independent result did survive. Some stations post synchronized, near-identical price changes — the same value at nearly the same time — and the de-duplication step, which collapses each such cluster to one effective source, removed a measurable part of the raw signal: between roughly a tenth and a third of the fires, depending on the window (least in the calmest quarter, most in the most volatile). This clustering is computed from the price-change timing and values alone, with no reference to any consensus, so it is not a geography artifact. The straightforward reading is mechanical — shared price feeds or common ownership, where one operator sets many forecourts’ prices together — and it is described here strictly as a property of the price data. On brand-blind public data it cannot be attributed to any specific operator, and nothing here is evidence of coordination in any legal sense.

What this means

The value of this study is the downgrade. A material, four-window, prior-confirming positive — exactly the kind of result it is most tempting to publish — did not survive the geography placebo, and the honest statement is narrow and true: French diesel prices are stationary relative to the national trend, but we find no evidence they converge toward local competitors specifically beyond that generic stationarity. The engine rejected a plausible, well-documented-sounding claim that a lighter analysis would have published. The one positive that held — synchronized identical-price movement in part of the station population — is reported as a price-data property, not a claim about who or why.

None of this is a trading or purchasing claim: the deviations are a few cents, the reversion is not specifically local, and nothing here is exploitable. This is monitoring-grade measurement, not advice.

Reproducibility: produced by the same core engine as our other studies with a thin retail adapter — the core signal-detection code is unchanged. Four non-crisis windows and every control parameter were fixed before any live data was pulled; both outcomes (local convergence / not) were pre-committed; the geography placebo, chain de-duplication and real-data twin each ship an offline self-test that must keep a known signal and reject a known artifact before any window runs. The false-discovery control is a soft guarantee under spatial correlation between neighbouring départements, and the placebo uses one random pairing per département — its verdict rests on consistency across four independent windows, not a single draw.

Exploratory analysis of public data. Not investment advice or a recommendation.