Settings
1 · Your data
Drop usage CSV here, or click
Octopus half-hourly electricity export
Drop gas CSV here, or click
2 · Current tariff
Use this if your export has no cost column, or to test a future price rise.
3 · Tariff to compare
4 · Battery & inverter
Min charge is the discharge floor — the bottom slice the battery
never dips below (makers typically say 10%).
Leave the import cap blank to let grid import be house load plus battery charge.
Used for time-to-payback. Leave at 0 to hide it.
5 · Strategy
“Next charge cycle” keeps remaining charge until the battery next
charges, instead of dumping it at a fixed clock boundary.
Set 0 to charge only when prices are negative or free.
6 · Heat pump
Gas kWh → useful heat (× efficiency) → electricity (÷ COP).
Your CSV is kept in this browser’s own storage so you don’t have to
re-upload it — it never leaves your machine.
Result
Day explorer
grid import
battery discharge
export
Whole day
import price
export price
state of charge
Monthly
Start by dropping in your usage CSV
Download your half-hourly electricity data from Octopus, then drop the CSV on the left. Rates are fetched live from the public Octopus API for whichever region and tariff you pick, and cached in your browser. Nothing is uploaded anywhere — the whole simulation runs in this page.
What the model assumes
- Capacity is usable kWh; round-trip loss applies on charge, so storing 32 kWh imports 32/0.9 = 35.6 kWh.
- Inverter power caps charge and discharge per half-hour; discharge to load and to export share that cap.
- One cycle per day: all charging precedes all discharging, and everything charged is discharged the same day.
- Perfect foresight of each day's prices — realistic on Agile, which publishes day-ahead.
- Your consumption is assumed unchanged by the tariff switch.