Chapter 7 – Grid Tariffs and Price Coupling

The economics of a solar+storage system depend not just on how much electricity you use, but on when you use it and what it costs at that time. This chapter explains how residential electricity tariffs are structured, how to read them, and how to calculate the financial value of consuming solar at different times.


7.1 Tariff Structure Basics

A residential electricity bill typically has three cost components:

Fixed Charges (Standing Charge)

A monthly or daily fee independent of consumption. Covers infrastructure costs.

Variable Energy Charges

Per-kWh charges for electricity consumed. This is where solar savings are realized.

Taxes and Levies

VAT (typically 5–20%) plus sector levies (renewable subsidies, grid maintenance). In France, these are bundled as the TURPE and CSPE components.


7.2 Flat-Rate Tariffs

The simplest structure: one price per kWh regardless of when you consume.

Example: €0.22/kWh all hours, all days.

For solar assessment: each kWh you self-consume from solar saves €0.22. Each kWh you export earns €0.06–0.10 (typical FIT). The self-consumption premium = €0.12–0.16/kWh.


7.3 Time-of-Use (TOU) Tariffs

TOU tariffs charge different rates for different periods of the day. They reward flexibility: shift consumption to off-peak periods and save.

Typical TOU Structure (European Residential)

Period Hours Typical price (€/kWh) % of flat rate
Peak (Heures Pleines) Mon–Fri 07:00–22:00 0.27–0.32 130–145%
Off-peak (Heures Creuses) Mon–Fri 22:00–07:00, all weekend 0.16–0.20 80–90%

Price ratio: peak / off-peak ≈ 1.5:1 to 2:1

US TOU Example (California-style)

Period Hours Price ($/kWh)
Super-peak 16:00–21:00 0.45–0.60
Peak 09:00–16:00 0.28–0.35
Off-peak 21:00–09:00 0.15–0.22
Super-off-peak (winter) 09:00–14:00 (winter) 0.10–0.14

Price ratio super-peak / super-off-peak: 3:1 to 4:1

Implications for Solar+Storage

Solar production peaks at midday. Under a standard TOU tariff with peak hours 07:00–22:00, solar production largely falls within the peak period → high self-consumption value.

Evening peak (16:00–21:00) is the most expensive period but solar production is declining or zero. This is exactly the window a battery should discharge into.


7.4 Dynamic / Spot Tariffs

Some utilities now offer hourly pricing tied to the day-ahead electricity market (EPEX Spot in Europe, CAISO/PJM in the US). Prices can vary by a factor of 5–20× within a single day.

Sample Day-Ahead Price Profile (European winter day, €/kWh)

Hour Price Note
00:00 0.08 Night baseload
02:00 0.06 Minimum
06:00 0.14 Morning ramp
08:00 0.22 Morning peak
12:00 0.15 Midday dip (some solar on grid)
17:00 0.28 Evening ramp
19:00 0.35 Evening peak
21:00 0.22 Declining
23:00 0.10 Night

On occasion, prices go negative (overnight in spring/summer when renewable production exceeds demand). A smart battery can exploit this: charge when prices are negative (paid to consume), discharge when prices are high.


7.5 The Self-Consumption Value Calculation

For every kWh of solar you consume instead of buying from the grid:

Self-consumption saving (€) = Grid price at that hour (€/kWh) × kWh consumed

For every kWh you export:

Export revenue (€) = Export price (€/kWh) × kWh exported

The self-consumption premium:

Premium = Grid price − Export price

Typical values: | Country | Avg grid price | Export price | Premium | |———|————–|————-|———| | France | €0.22/kWh | €0.10/kWh | €0.12/kWh | | Germany | €0.32/kWh | €0.08/kWh | €0.24/kWh | | UK | £0.28/kWh | £0.15/kWh (SEG) | £0.13/kWh | | Italy | €0.28/kWh | €0.06/kWh | €0.22/kWh | | California | $0.35/kWh | $0.05/kWh | $0.30/kWh |

The higher the premium, the more valuable each additional kWh of self-consumption becomes — and the stronger the case for battery storage to increase self-consumption.


7.6 Shifting Loads to Maximize Value

Some loads can be shifted to improve the economics:

Load Shift feasibility Strategy
Washing machine High Program for noon or low-price hours
Dishwasher High Delay start to midnight or noon
Hot water tank High Time controller: heat during solar peak or off-peak
EV charging High Charge overnight off-peak or midday from solar
Tumble dryer Medium Run after washer if solar is available
Oven Low Usage time is typically fixed by meal schedule
HVAC pre-conditioning Medium Cool/heat house before peak hours using cheap energy

Hot water tank timing is particularly impactful: a 2,500 W tank shifted from random timing to a 3-hour window at 12:00–15:00 (solar peak) saves roughly 500 kWh/year of grid imports for a family of four.


7.7 Effective Annual Bill Calculation

To calculate the actual bill under a TOU tariff, you need to apply hourly prices to an hourly consumption profile:

Annual bill = Σ over all 8,760 hours of [Grid_import(h) × Price(h)]
            + Annual standing charges
            − Export_revenue

The companion code/tariff_engine.py implements this:

from tariff_engine import TariffEngine, TOU_FRANCE

engine = TariffEngine(TOU_FRANCE)
bill = engine.compute_annual_bill(grid_import_profile, grid_export_profile)
print(f"Annual bill: €{bill['total']:.0f}")
print(f"  Energy charges: €{bill['energy']:.0f}")
print(f"  Standing charges: €{bill['standing']:.0f}")
print(f"  Export revenue: €{bill['export']:.0f}")

7.8 The Battery Dispatch Decision at Each Hour

Given a TOU tariff, the optimal battery operation rule is:

If solar_surplus > 0 and battery_soc < max:
    → charge battery from surplus

If solar_surplus == 0 and current_price > threshold and battery_soc > min:
    → discharge battery to supply load

If current_price < charge_threshold and battery_soc < max:
    → charge battery from grid (arbitrage, only if premium is worth it)

The threshold price level is the key parameter. Chapter 8 covers how to set it optimally.


Navigation: