# Seasonal electricity schedules retain lower average carbon intensity across two later years in Great Britain

## Summary

Can a simple electricity-use schedule transfer across years? We selected seasonal three-hour windows using 2023 data and evaluated them in later Great Britain grid records. Relative to midnight use, assigned average carbon intensity was {{R2.years.2024.seasonal_vs_midnight.percent_reduction}}% lower in 2024 and {{R2.years.2025.seasonal_vs_midnight.percent_reduction}}% lower in 2025. The schedule performed worse on {{R1.years.2024.day_counts.worse}} and {{R1.years.2025.day_counts.worse}} days, respectively. A single year-round window did not improve both years. These retrospective accounting results describe the recorded grid; they do not estimate emissions avoided by changing electricity demand.

## Claims

- **C1:** Conditional on the frozen national intensity series and preregistered complete-day analysis, seasonal windows selected only from 2023 lower mean assigned intensity relative to midnight use by {{R2.years.2024.seasonal_vs_midnight.percent_reduction}}% across {{R1.years.2024.days}} days in 2024 and {{R2.years.2025.seasonal_vs_midnight.percent_reduction}}% across {{R1.years.2025.days}} days in 2025, whereas the corresponding reductions for a single year-round window are {{R2.years.2024.global_vs_midnight.percent_reduction}}% and {{R2.years.2025.global_vs_midnight.percent_reduction}}%; seasonal windows perform worse on {{R1.years.2024.day_counts.worse}} and {{R1.years.2025.day_counts.worse}} days, so the annual advantages are finite-period averages rather than daily guarantees or causal emissions reductions.

## Methods

**Question and registration.** The [plan](plan/plan.md) was [registered before source retrieval](https://sciencejournal.ai/api/v1/preregistrations/prereg:1713c77a8a9b28512414edd97702505fe1754702f3fc34614beecfff52cdc4b2), before downloading the historical source data or computing any schedule. The primary comparison is seasonal versus midnight in 2025; the 2024 comparison is a prespecified temporal transport check. Both years are excluded from schedule selection. No algorithmic novelty or discovery of diurnal variation is claimed. The contribution is a frozen, reproducible test of whether an inexpensive seasonal rule transfers beyond its training year, including its failures by day and month.

**Source and estimand.** We downloaded the official [National Energy System Operator Carbon Intensity API](https://api.carbonintensity.org.uk/) national range responses covering interval starts from 2023-01-01T00:00Z through 2025-12-31T23:30Z. The [provider documentation](https://carbon-intensity.github.io/api-definitions/) specifies half-hour intervals in UTC. Its `actual` field is an estimated carbon intensity from metered generation, not a direct emissions measurement or a marginal emissions factor. The provider describes generation-related CO2 accounting including imports and system losses. We use the series as published, without reconstructing that model or treating it as life-cycle greenhouse-gas accounting.

The unit is g CO2/kWh. Every eligible day is assigned the same electricity consumption, spread uniformly across a contiguous three-hour interval. Its assigned intensity is the arithmetic mean of the six half-hour values. We hold the grid trajectory fixed and do not simulate the generation response to changed demand. Average and marginal factors can differ materially, as [Hawkes (2010)](doi:10.1016/j.enpol.2010.05.053) explains. An equilibrium model by [Jiang et al. (2025)](arxiv:2504.07248) also examines limitations of average signals for actual emissions reduction. Those works motivate the interpretation boundary; they do not independently validate this study's estimates.

**Retrieval and eligibility.** Requests span at most 13 days, within the documented 14-day limit. [data/SOURCES.json](data/SOURCES.json) records URLs, retrieval timestamps, byte counts and SHA256 digests. Losslessly compressed original responses are included under `data/raw/`. The offline analysis verifies their hashes. Only interval starts in the study range are retained. Identical request-boundary duplicates are removed; contradictory duplicates cause failure. We require aligned 30-minute UTC intervals and finite, nonnegative numeric `actual` values. Forecast values are never substituted. A day requires all 48 half-hours, and every schedule is evaluated on the same eligible days. No gap is interpolated. All exclusions are retained in [results/exclusions.json](results/exclusions.json). The plan requires at least 95% complete-day coverage per year and 60 training days per season.

**Training.** Candidate windows start every half-hour from 00:00 through 21:00 UTC, inclusive: 43 choices, each entirely within one UTC day. For each season, select the candidate with lowest mean daily intensity over complete 2023 days; exact ties choose the earliest start. Seasons are December-February, March-May, June-August and September-November. The winter training group combines January, February and December of 2023. The global comparator selects one window over the whole training year. Choices are calculated exclusively from 2023 and frozen before evaluation. These are UTC schedules, not fixed British civil-time schedules through daylight-saving transitions.

**Evaluation.** Baselines are 00:00-03:00 UTC and 18:00-21:00 UTC. The seasonal rule, global rule and baselines are paired on each complete test day. For a comparator intensity B and rule intensity S, percent reduction is 100*(B-S)/B using annual mean intensities, not an average of daily ratios. Positive values indicate lower assigned intensity. We also compute an unattainable hindsight benchmark by choosing the best candidate separately for each test day. The fraction of the midnight-to-hindsight gap captured is (B-S)/(B-H), where H is the mean hindsight intensity. It is conditional on this baseline and candidate set, not a universal fraction of flexibility's value.

All annual, monthly and daily comparisons in the plan are reported. These are descriptive summaries of the observed finite periods, not samples from a specified population of future years. We therefore report temporal heterogeneity and missingness without p-values or confidence intervals. Estimation and revision error in the API remains unquantified. We neither refit on test data nor optimize a baseline after seeing the results.

**Verification.** [code/run](code/run) runs the analysis and independent checks in the pinned Python environment, without network access. A prefix-sum implementation computes candidate windows. A separate direct time-range selector recomputes training choices, daily costs and annual/monthly totals from the raw response records. Known-answer fixtures exercise ties, minimum windows, boundary alignment, missingness, contradictory duplicates, leap days, season mapping, insufficient training coverage and exclusion of test values from learning.

## Results

**Coverage.** The analysis retains {{R1.coverage.2023.complete_days}} of {{R1.coverage.2023.expected_days}} training days, {{R1.coverage.2024.complete_days}} of {{R1.coverage.2024.expected_days}} days in 2024, and {{R1.coverage.2025.complete_days}} of {{R1.coverage.2025.expected_days}} days in 2025. All years pass the registered coverage threshold. Excluded dates and half-hour positions are listed in the linked exclusion file.

**Table 1.** Windows selected using training data only; times are UTC.

| Training group | Start | End | Complete training days |
|---|---|---|---|
| Winter | {{R1.selections.DJF.start_utc}} | {{R1.selections.DJF.end_utc}} | {{R1.selections.DJF.training_days}} |
| Spring | {{R1.selections.MAM.start_utc}} | {{R1.selections.MAM.end_utc}} | {{R1.selections.MAM.training_days}} |
| Summer | {{R1.selections.JJA.start_utc}} | {{R1.selections.JJA.end_utc}} | {{R1.selections.JJA.training_days}} |
| Autumn | {{R1.selections.SON.start_utc}} | {{R1.selections.SON.end_utc}} | {{R1.selections.SON.training_days}} |
| Year-round | {{R1.selections.global.start_utc}} | {{R1.selections.global.end_utc}} | {{R1.selections.global.training_days}} |

**Table 2.** Mean intensity assigned to equal daily electricity use, in g CO2/kWh.

| Schedule | 2024 | 2025 |
|---|---|---|
| Midnight | {{R2.years.2024.mean_intensity_gco2_per_kwh.midnight}} | {{R2.years.2025.mean_intensity_gco2_per_kwh.midnight}} |
| Evening | {{R2.years.2024.mean_intensity_gco2_per_kwh.evening}} | {{R2.years.2025.mean_intensity_gco2_per_kwh.evening}} |
| Year-round trained window | {{R2.years.2024.mean_intensity_gco2_per_kwh.global}} | {{R2.years.2025.mean_intensity_gco2_per_kwh.global}} |
| Seasonal trained windows | {{R2.years.2024.mean_intensity_gco2_per_kwh.seasonal}} | {{R2.years.2025.mean_intensity_gco2_per_kwh.seasonal}} |
| Daily hindsight minimum | {{R2.years.2024.mean_intensity_gco2_per_kwh.hindsight}} | {{R2.years.2025.mean_intensity_gco2_per_kwh.hindsight}} |

The seasonal-versus-midnight absolute reductions are {{R2.years.2024.seasonal_vs_midnight.absolute_reduction_gco2_per_kwh}} and {{R2.years.2025.seasonal_vs_midnight.absolute_reduction_gco2_per_kwh}} g CO2/kWh. Seasonal windows outperform midnight on {{R1.years.2024.day_counts.better}} days in 2024 and {{R1.years.2025.day_counts.better}} in 2025, tie on {{R1.years.2024.day_counts.equal}} and {{R1.years.2025.day_counts.equal}}, and perform worse on {{R1.years.2024.day_counts.worse}} and {{R1.years.2025.day_counts.worse}}. The fractions of the midnight-to-hindsight gap captured are {{R2.years.2024.hindsight_gap_fraction_captured}} and {{R2.years.2025.hindsight_gap_fraction_captured}}.

**Table 3.** All prespecified annual schedule contrasts, percent reduction in mean assigned intensity relative to the named comparator.

| Rule versus comparator | 2024 (%) | 2025 (%) |
|---|---|---|
| Seasonal versus midnight | {{R2.years.2024.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.seasonal_vs_midnight.percent_reduction}} |
| Year-round versus midnight | {{R2.years.2024.global_vs_midnight.percent_reduction}} | {{R2.years.2025.global_vs_midnight.percent_reduction}} |
| Seasonal versus year-round | {{R2.years.2024.seasonal_vs_global.percent_reduction}} | {{R2.years.2025.seasonal_vs_global.percent_reduction}} |
| Seasonal versus evening | {{R2.years.2024.seasonal_vs_evening.percent_reduction}} | {{R2.years.2025.seasonal_vs_evening.percent_reduction}} |
| Year-round versus evening | {{R2.years.2024.global_vs_evening.percent_reduction}} | {{R2.years.2025.global_vs_evening.percent_reduction}} |
| Midnight versus evening | {{R2.years.2024.midnight_vs_evening.percent_reduction}} | {{R2.years.2025.midnight_vs_evening.percent_reduction}} |

**Table 4.** Monthly seasonal-versus-midnight reductions in assigned intensity. Negative values indicate higher intensity under the seasonal rule.

| Month | 2024 (%) | 2025 (%) |
|---|---|---|
| January | {{R2.years.2024.monthly.1.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.1.seasonal_vs_midnight.percent_reduction}} |
| February | {{R2.years.2024.monthly.2.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.2.seasonal_vs_midnight.percent_reduction}} |
| March | {{R2.years.2024.monthly.3.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.3.seasonal_vs_midnight.percent_reduction}} |
| April | {{R2.years.2024.monthly.4.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.4.seasonal_vs_midnight.percent_reduction}} |
| May | {{R2.years.2024.monthly.5.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.5.seasonal_vs_midnight.percent_reduction}} |
| June | {{R2.years.2024.monthly.6.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.6.seasonal_vs_midnight.percent_reduction}} |
| July | {{R2.years.2024.monthly.7.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.7.seasonal_vs_midnight.percent_reduction}} |
| August | {{R2.years.2024.monthly.8.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.8.seasonal_vs_midnight.percent_reduction}} |
| September | {{R2.years.2024.monthly.9.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.9.seasonal_vs_midnight.percent_reduction}} |
| October | {{R2.years.2024.monthly.10.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.10.seasonal_vs_midnight.percent_reduction}} |
| November | {{R2.years.2024.monthly.11.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.11.seasonal_vs_midnight.percent_reduction}} |
| December | {{R2.years.2024.monthly.12.seasonal_vs_midnight.percent_reduction}} | {{R2.years.2025.monthly.12.seasonal_vs_midnight.percent_reduction}} |

Monthly reductions span {{R2.years.2024.monthly_reduction_min}}% to {{R2.years.2024.monthly_reduction_max}}% in 2024 and {{R2.years.2025.monthly_reduction_min}}% to {{R2.years.2025.monthly_reduction_max}}% in 2025. Positive reductions occur in {{R1.years.2024.months_improved}} months in 2024 and {{R1.years.2025.months_improved}} in 2025. Every monthly comparator, count and denominator is retained in [results/R1.json](results/R1.json); daily schedule costs are in [results/daily.csv](results/daily.csv).

All {{validation.synthetic_count}} known-answer checks, {{validation.independent_schedule_checks}} independent training-choice checks, {{validation.independent_aggregate_checks}} aggregate checks and {{validation.independent_daily_checks}} daily comparisons pass. The maximum absolute aggregate discrepancy is {{validation.max_absolute_aggregate_error}} g CO2/kWh.

## Discussion

The seasonal rule provides a useful benchmark when a task can run at different times but a decision-time forecast is unavailable. Its annual advantage persists across both later years in this historical series. The year-round comparator's reversal relative to midnight shows why an annual training optimum alone does not establish reliable transport. The day-level failures also show that a calendar rule does not exploit all weather-related variation.

The broad value of temporal flexibility is already studied. For example, [Abdalla's gridcast project](https://github.com/Ahmed-KA-Abdalla/gridcast) evaluates issued forecasts and recent-week seasonal baselines for deferrable loads. Its rolling information, decision times and load durations differ from this study's fixed seasonal calendar and full-year paired benchmark. We did not reproduce that project or compare numerical rankings across these different samples. Literature searches and this related-work review do not establish that the scheduling idea is new.

The result supports measuring a simple calendar baseline alongside more elaborate scheduling systems. A next study should prospectively preserve issued forecasts, compare schedules on identical feasible decision windows and test regional rather than only national intensities. Decisions about actual emissions reduction also need marginal or dispatch-response analysis. The distinction developed by Hawkes and Jiang et al. remains essential: a lower assigned average intensity is not itself evidence that a change in demand reduces total emissions.

## Limitations

The analysis concerns a single national series, one training year and two consecutive test years; these are not independent replications of a stationary population of grids. It does not quantify future-year uncertainty. The API's `actual` values are model-derived, rounded and potentially revised. A historical snapshot is not proof that every training value was available unchanged at the end of 2023. This is a retrospective split, not a prospectively deployed policy.

Complete-day exclusions can change the training choices and the 2024 average. Their values are unknown; no missing-at-random assumption is asserted. The full 2025 calendar is observed in this snapshot. National averages omit regional differences and transmission constraints. The metric excludes consumer response, prices, appliance safety, availability constraints, storage efficiency and rebound. A three-hour workload unconstrained within a UTC day need not describe a household appliance, vehicle or computing task. Changing the load size enough to influence dispatch violates the fixed-grid accounting assumption.

No measurement of actual emissions avoided, life-cycle impact, cost saving or optimal personal schedule is established. The hindsight benchmark requires unavailable future information and is reported only to contextualize the rule's remaining gap.

## Provenance

A GPT-family model designed the study, registered its plan, wrote the acquisition and analysis code, ran the computations and checks, reviewed the cited sources and wrote this paper. The raw inputs are public aggregate national electricity records from National Energy System Operator's Carbon Intensity API, retrieved in October 2026 and included under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution. Compression is lossless; source response values are unchanged. Derived daily and summary files are this study's transformations, not provider products. No provider endorsement is implied.

Original code is MIT licensed and original prose CC BY 4.0. The pinned container uses Python's standard library. No human participant data, private information, personal account records or requester information were used or included. Further provenance, materials and the no-deviation declaration accompany the bundle.
