Understanding Southern California Edison (SCE) TOU Rates
Electricity billing in Southern California has shifted primarily to Time-of-Use (TOU) plans. Unlike tiered plans where you are charged based solely on how much energy you use, TOU plans charge you based on when you use energy. This SCE Rate Calculator helps you estimate your monthly bill by inputting your usage during Peak and Off-Peak hours.
Available Rate Plans
TOU-D-4-9PM: This is a common plan for residential customers. The "On-Peak" hours are from 4:00 PM to 9:00 PM on weekdays. During these hours, electricity is significantly more expensive. Usage before 4 PM and after 9 PM (and all day on weekends) is considered Off-Peak or Super Off-Peak.
TOU-D-5-8PM: This plan features a shorter, tighter Peak window from 5:00 PM to 8:00 PM on weekdays. However, the rate per kWh during these three hours is generally higher than the 4-9 PM plan. This is ideal for households that can strictly avoid usage during dinner hours.
TOU-D-PRIME: Designed specifically for customers with Electric Vehicles (EVs), home battery storage, or electric heat pumps. This plan has a higher daily fixed charge but offers the lowest Off-Peak rates, making it cost-effective for charging cars overnight.
Seasonal Differences
SCE rates change depending on the season. Summer rates (June 1 – September 30) are generally higher, especially during On-Peak hours, due to the high demand on the grid from air conditioning. Winter rates (October 1 – May 31) are typically lower, though the timing of peak hours remains the same.
How to Lower Your Bill
To maximize savings using this SCE rate calculator logic, focus on "Load Shifting." This means moving high-energy tasks—like running the dishwasher, laundry machine, or charging an EV—to Off-Peak hours (typically before 4 PM or after 9 PM). Even shifting 20% of your usage from On-Peak to Off-Peak can result in noticeable savings on your monthly statement.
Using This Calculator
Check your Smart Meter data or a previous bill to find your kWh usage. Enter the Kilowatt Hours (kWh) used during your plan's specific peak hours into the "On-Peak" field, and the rest into the "Off-Peak" field. This tool uses estimated average rates for the current year to provide a projection of your costs.
function calculateSCERate() {
// 1. Get Inputs
var plan = document.getElementById('ratePlan').value;
var season = document.getElementById('season').value;
var onPeakInput = document.getElementById('onPeakKwh').value;
var offPeakInput = document.getElementById('offPeakKwh').value;
// 2. Validate Inputs
var onPeakKwh = parseFloat(onPeakInput);
var offPeakKwh = parseFloat(offPeakInput);
if (isNaN(onPeakKwh)) onPeakKwh = 0;
if (isNaN(offPeakKwh)) offPeakKwh = 0;
if (onPeakKwh < 0 || offPeakKwh < 0) {
alert("Please enter valid positive numbers for usage.");
return;
}
// 3. Define Rate Logic (Approximated 2023-2024 SCE Residential Rates)
// Rates are in dollars per kWh
var rates = {
'tou-d-4-9': {
'summer': { on: 0.59, off: 0.23, daily: 0.03 },
'winter': { on: 0.53, off: 0.22, daily: 0.03 }
},
'tou-d-5-8': {
'summer': { on: 0.65, off: 0.26, daily: 0.03 },
'winter': { on: 0.56, off: 0.24, daily: 0.03 }
},
'tou-d-prime': {
'summer': { on: 0.61, off: 0.24, daily: 0.50 },
'winter': { on: 0.57, off: 0.23, daily: 0.50 }
}
};
// Select specific rate object
var currentRate = rates[plan][season];
var onPeakRate = currentRate.on;
var offPeakRate = currentRate.off;
var dailyCharge = currentRate.daily;
// 4. Perform Calculation
// Assuming a standard 30-day billing cycle for the estimate
var daysInMonth = 30;
var totalOnPeakCost = onPeakKwh * onPeakRate;
var totalOffPeakCost = offPeakKwh * offPeakRate;
var totalBasicCharge = dailyCharge * daysInMonth;
var totalBill = totalOnPeakCost + totalOffPeakCost + totalBasicCharge;
// 5. Update UI
document.getElementById('onPeakCost').innerHTML = '$' + totalOnPeakCost.toFixed(2) + ' (' + onPeakKwh + ' kWh @ $' + onPeakRate + ')';
document.getElementById('offPeakCost').innerHTML = '$' + totalOffPeakCost.toFixed(2) + ' (' + offPeakKwh + ' kWh @ $' + offPeakRate + ')';
document.getElementById('basicChargeCost').innerHTML = '$' + totalBasicCharge.toFixed(2);
document.getElementById('totalBill').innerHTML = '$' + totalBill.toFixed(2);
var planNameText = "";
if(plan === 'tou-d-4-9') planNameText = "TOU-D-4-9PM";
if(plan === 'tou-d-5-8') planNameText = "TOU-D-5-8PM";
if(plan === 'tou-d-prime') planNameText = "TOU-D-PRIME";
document.getElementById('rateUsedText').innerHTML = "Estimates based on " + planNameText + " " + season.charAt(0).toUpperCase() + season.slice(1) + " rates.";
document.getElementById('resultDisplay').style.display = 'block';
}