{
  "slug": "time-of-use-shifting",
  "title": "Time-of-Use Rate Shifting Savings Calculator",
  "heading": "Time-of-Use Load Shifting Savings Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/time-of-use-shifting",
  "summary": "How much you save moving usage off peak hours.",
  "description": "Under a time-of-use (TOU) rate plan, electricity can cost 2-4x more during peak hours (typically 4-9pm) than overnight off-peak hours. This calculator estimates savings from shifting a specific amount of your usage — running the dishwasher, laundry, EV charging, or a battery discharge/charge cycle — from peak to off-peak windows. It's the core economic argument utilities and solar-plus-battery installers make for scheduling loads or adding storage, and this tool quantifies it in real dollars per month instead of a vague 'save money' pitch.",
  "formula": "Savings = shiftable kWh × (peak rate − off-peak rate) × days per period.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=time-of-use-shifting",
  "inputs": [
    {
      "id": "shiftableKwh",
      "label": "Shiftable usage per day",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "kWh",
      "min": 0.5,
      "max": null
    },
    {
      "id": "peakRate",
      "label": "Peak rate",
      "kind": "number",
      "hint": null,
      "default": 0.42,
      "unit": "$/kWh",
      "min": 0.05,
      "max": 1
    },
    {
      "id": "offPeakRate",
      "label": "Off-peak rate",
      "kind": "number",
      "hint": null,
      "default": 0.14,
      "unit": "$/kWh",
      "min": 0.02,
      "max": 0.6
    },
    {
      "id": "daysPerMonth",
      "label": "Days per month you shift",
      "kind": "number",
      "hint": null,
      "default": 26,
      "unit": null,
      "min": 1,
      "max": 31
    }
  ],
  "outputs": [
    {
      "id": "monthlySavings",
      "label": "Monthly savings from shifting",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "dailySavings",
      "label": "Daily savings",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualSavings",
      "label": "Annual savings",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Shiftable usage per day: 8 kWh",
      "Peak rate: 0.42 $/kWh",
      "Off-peak rate: 0.14 $/kWh",
      "Days per month you shift: 26"
    ],
    "outputs": [
      "Monthly savings from shifting: $58",
      "Daily savings: $2.24",
      "Annual savings: $699"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter shiftable usage per day (kWh).",
      "Enter peak rate ($/kWh).",
      "Enter off-peak rate ($/kWh).",
      "Enter days per month you shift.",
      "Read your monthly savings from shifting on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "shiftableKwh": 4.8,
        "peakRate": 0.252,
        "offPeakRate": 0.084,
        "daysPerMonth": 16
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "shiftableKwh": 8,
        "peakRate": 0.42,
        "offPeakRate": 0.14,
        "daysPerMonth": 26
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "shiftableKwh": 12.8,
        "peakRate": 0.672,
        "offPeakRate": 0.22400000000000003,
        "daysPerMonth": 31
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What loads are realistic to shift?",
      "a": "Dishwasher, laundry, EV charging, and pool pump runtime are the easiest — they're not time-sensitive and most have delay-start timers. Water heater loads can shift with a smart controller or heat pump water heater timer. Anything requiring real-time comfort (AC, cooking) is harder to shift without a battery."
    },
    {
      "q": "How much do peak and off-peak rates actually differ?",
      "a": "It varies widely by utility — California's TOU plans (like PG&E's EV2-A) can see peak rates near 40-50 cents/kWh versus 25-30 cents off-peak, roughly a 1.5-2x spread. Some utilities with more aggressive TOU signals go 3-4x, particularly ones with significant solar penetration and a sharp evening 'duck curve' ramp."
    },
    {
      "q": "Does a battery make shifting easier?",
      "a": "Yes — instead of manually timing appliance use, a battery charges during cheap off-peak hours (or from solar during the day) and discharges automatically during the expensive peak window, capturing the rate spread on your whole home's peak-hour usage rather than just a few shiftable appliances."
    },
    {
      "q": "Is switching to a TOU plan always worth it?",
      "a": "Only if you can actually shift meaningful usage away from peak hours. If your usage pattern is flat (e.g., always home during peak with AC running), a TOU plan can cost more than a flat rate — model both your peak and off-peak usage honestly before switching, not just the savings on the shiftable portion."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/net-metering-vs-buyback",
    "https://www.revenuelab.fyi/toolbox/battery-backup-runtime",
    "https://www.revenuelab.fyi/toolbox/kwh-bill-breakdown"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Time-of-Use Rate Shifting Savings Calculator (https://www.revenuelab.fyi/toolbox/time-of-use-shifting)"
}