{
  "age_sensitivity": [
    {
      "eligible_station_grade_rows": 2670,
      "exclusions": {
        "grade_not_reported": 204,
        "grade_timestamp_older_than_window": 3794,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "E10",
      "max_grade_age_hours": 24,
      "motorway": {
        "max_ppl": 189.9,
        "mean_ppl": 182.455556,
        "median_ppl": 187.9,
        "min_ppl": 159.9,
        "n": 27
      },
      "non_motorway": {
        "max_ppl": 189.9,
        "mean_ppl": 164.516496,
        "median_ppl": 164.9,
        "min_ppl": 152.6,
        "n": 2643
      },
      "pooled_mean_gap_ppl": 17.93906
    },
    {
      "eligible_station_grade_rows": 5004,
      "exclusions": {
        "grade_not_reported": 204,
        "grade_timestamp_older_than_window": 1460,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "E10",
      "max_grade_age_hours": 168,
      "motorway": {
        "max_ppl": 189.9,
        "mean_ppl": 183.807921,
        "median_ppl": 187.9,
        "min_ppl": 154.9,
        "n": 101
      },
      "non_motorway": {
        "max_ppl": 194.9,
        "mean_ppl": 164.311116,
        "median_ppl": 163.9,
        "min_ppl": 150.9,
        "n": 4903
      },
      "pooled_mean_gap_ppl": 19.496805
    },
    {
      "eligible_station_grade_rows": 6038,
      "exclusions": {
        "grade_not_reported": 204,
        "grade_timestamp_older_than_window": 426,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "E10",
      "max_grade_age_hours": 720,
      "motorway": {
        "max_ppl": 189.9,
        "mean_ppl": 183.443885,
        "median_ppl": 186.9,
        "min_ppl": 154.9,
        "n": 139
      },
      "non_motorway": {
        "max_ppl": 299.9,
        "mean_ppl": 163.906496,
        "median_ppl": 163.9,
        "min_ppl": 148.9,
        "n": 5899
      },
      "pooled_mean_gap_ppl": 19.537389
    },
    {
      "eligible_station_grade_rows": 2605,
      "exclusions": {
        "grade_not_reported": 102,
        "grade_timestamp_older_than_window": 3961,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "B7",
      "max_grade_age_hours": 24,
      "motorway": {
        "max_ppl": 209.9,
        "mean_ppl": 206.560377,
        "median_ppl": 209.9,
        "min_ppl": 181.9,
        "n": 53
      },
      "non_motorway": {
        "max_ppl": 219.6,
        "mean_ppl": 186.012888,
        "median_ppl": 185.9,
        "min_ppl": 163.9,
        "n": 2552
      },
      "pooled_mean_gap_ppl": 20.547489
    },
    {
      "eligible_station_grade_rows": 4775,
      "exclusions": {
        "grade_not_reported": 102,
        "grade_timestamp_older_than_window": 1791,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "B7",
      "max_grade_age_hours": 168,
      "motorway": {
        "max_ppl": 209.9,
        "mean_ppl": 203.005479,
        "median_ppl": 209.9,
        "min_ppl": 176.9,
        "n": 73
      },
      "non_motorway": {
        "max_ppl": 219.6,
        "mean_ppl": 185.892382,
        "median_ppl": 185.9,
        "min_ppl": 160.9,
        "n": 4702
      },
      "pooled_mean_gap_ppl": 17.113097
    },
    {
      "eligible_station_grade_rows": 6239,
      "exclusions": {
        "grade_not_reported": 102,
        "grade_timestamp_older_than_window": 327,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "B7",
      "max_grade_age_hours": 720,
      "motorway": {
        "max_ppl": 216.18,
        "mean_ppl": 203.102657,
        "median_ppl": 205.9,
        "min_ppl": 175.9,
        "n": 143
      },
      "non_motorway": {
        "max_ppl": 299.9,
        "mean_ppl": 185.503724,
        "median_ppl": 185.9,
        "min_ppl": 160.9,
        "n": 6096
      },
      "pooled_mean_gap_ppl": 17.598933
    }
  ],
  "analysis_as_of": "2026-09-04T20:36:46.072Z",
  "geographic_comparison": {
    "B7": {
      "eligible_motorway_stations": 73,
      "gap_to_each_local_median": {
        "max_ppl": 28.599999999999994,
        "mean_ppl": 16.638333,
        "median_ppl": 21.0,
        "min_ppl": -3.0,
        "n": 60
      },
      "inference": "Descriptive geographic association; comparators are not validated reachable routes and can be reused across motorway stations.",
      "local_comparator_counts": {
        "max": 48,
        "min": 3
      },
      "matched_motorway_stations": 60,
      "minimum_local_comparators": 3,
      "motorway_above_local_median_count": 56,
      "radius_straight_line_miles": 5,
      "unique_local_comparator_stations": 599,
      "unmatched_motorway_stations": 13
    },
    "E10": {
      "eligible_motorway_stations": 101,
      "gap_to_each_local_median": {
        "max_ppl": 30.0,
        "mean_ppl": 19.23908,
        "median_ppl": 24.0,
        "min_ppl": -7.0,
        "n": 87
      },
      "inference": "Descriptive geographic association; comparators are not validated reachable routes and can be reused across motorway stations.",
      "local_comparator_counts": {
        "max": 47,
        "min": 3
      },
      "matched_motorway_stations": 87,
      "minimum_local_comparators": 3,
      "motorway_above_local_median_count": 81,
      "radius_straight_line_miles": 5,
      "unique_local_comparator_stations": 730,
      "unmatched_motorway_stations": 14
    }
  },
  "input_station_rows": 8052,
  "limits": [
    "Source motorway flags are explicit publisher fields, not independently audited physical-site classifications.",
    "Both closure fields must explicitly be false; unknown closure status is excluded.",
    "Per-grade effective-change timestamps, not station-wide or snapshot age, determine eligibility. Unchanged older prices may still be valid and are excluded conservatively.",
    "70\u2013350 pence/litre and broad UK coordinate bounds are research exclusions, not claims that excluded records are wrong.",
    "National means are unweighted by sales; pooled differences are not causal or matched route savings.",
    "Five-mile distance is straight-line only; no motorway direction, access, route, traffic, toll or station-hours checks were performed.",
    "Detour miles are total additional distance versus the baseline journey. Model prices/MPG/litres/time values are chosen scenarios, not observed journeys."
  ],
  "modelled_detour_scenarios": 288,
  "national": {
    "B7": {
      "eligible_station_grade_rows": 4775,
      "exclusions": {
        "grade_not_reported": 102,
        "grade_timestamp_older_than_window": 1791,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "B7",
      "max_grade_age_hours": 168,
      "motorway": {
        "max_ppl": 209.9,
        "mean_ppl": 203.005479,
        "median_ppl": 209.9,
        "min_ppl": 176.9,
        "n": 73
      },
      "non_motorway": {
        "max_ppl": 219.6,
        "mean_ppl": 185.892382,
        "median_ppl": 185.9,
        "min_ppl": 160.9,
        "n": 4702
      },
      "pooled_mean_gap_ppl": 17.113097
    },
    "E10": {
      "eligible_station_grade_rows": 5004,
      "exclusions": {
        "grade_not_reported": 204,
        "grade_timestamp_older_than_window": 1460,
        "missing_or_outside_uk_envelope_coordinates": 5,
        "unknown_closure_status": 1379
      },
      "fuel": "E10",
      "max_grade_age_hours": 168,
      "motorway": {
        "max_ppl": 189.9,
        "mean_ppl": 183.807921,
        "median_ppl": 187.9,
        "min_ppl": 154.9,
        "n": 101
      },
      "non_motorway": {
        "max_ppl": 194.9,
        "mean_ppl": 164.311116,
        "median_ppl": 163.9,
        "min_ppl": 150.9,
        "n": 4903
      },
      "pooled_mean_gap_ppl": 19.496805
    }
  },
  "provenance": {
    "input_file": "fuel-stations.full.2026-09-04T20-36-46-072Z.json",
    "input_sha256": "c2c20d160b004ed55833af5cdcc348664e2a0c65ec13fb0ff401651d6378feda",
    "licensing": {
      "api_specific_licence": "Not independently verified from accessible developer terms during this review",
      "guidance": "Official guidance permits third-party app, website and research access. No API dataset licence is inferred solely from the GOV.UK guidance page footer.",
      "output_scope": "Derived statistics and modelled scenarios only; no raw station records, contacts, private profiles or device data."
    },
    "snapshot_date_basis": "As-of timestamp supplied explicitly from the retained source artifact filename; source is not fetched by this tool.",
    "source": "UK Government Fuel Finder station API snapshot retained by Route & Fuel",
    "source_guidance_url": "https://www.gov.uk/guidance/access-the-latest-fuel-prices-and-forecourt-data-via-api-or-email"
  },
  "schema_version": 1,
  "source_motorway_flags": {
    "false": 7884,
    "true": 168,
    "unknown": 0
  },
  "study_kind": "Frozen observational source-flag comparison plus modelled detour sensitivity",
  "tool_version": "1.0.0",
  "uncertainty": "No confidence interval: this is a filtered non-random snapshot, not an independent probability sample. Stations can share brands, sites and local comparators; source errors and selection bias are not captured by a naive CI.",
  "unique_eligible_stations_either_primary_grade": 5304,
  "unique_input_station_ids": 8052
}
