Methodology & limitations
The calculation should be as clear as the result. Here is what is modeled, and what is not.
The same consumption, two tariffs
Let E be total kWh, P peak kWh, O off-peak kWh, D the maximum interval-average kW, and t the subtotal tax rate as a decimal. Flat = (E × flat rate + flat fixed charge + E × common delivery rate) × (1 + t). TOU = (P × peak rate + O × off-peak rate + TOU fixed charge + E × common delivery rate + D × TOU demand rate) × (1 + t). Positive flat minus TOU means TOU is cheaper for these inputs.
Offsets, peak windows, and daylight saving time
Every interval must have an explicit UTC offset. Instants are sorted and overlapping intervals are rejected. Peak assignment uses the selected utility timezone. Start is inclusive; end is exclusive. Overnight peak windows are supported. Weekend off-peak is based on each minute’s local weekday. Energy is assumed uniform inside an interval when it crosses a rate boundary.
Coverage, not invented completeness
Coverage counts recorded minutes and gaps between the first start and last end. A gap-free file can still omit the beginning or end of a bill. Fixed charges apply once to the supplied dataset. Supply the total charges for that same period. The app does not fill missing energy, prorate fixed charges, annualize a partial period, or claim that the dataset is a complete utility bill.
Load shifting is a separate experiment
Moved energy = peak kWh × selected shift percentage / 100. Scenario TOU = original TOU − moved energy × (peak rate − off-peak rate) × (1 + tax rate). Total kWh, fixed charges, and measured demand remain unchanged. The scenario can cost more when off-peak rates exceed peak rates. It is not an appliance, battery, or demand optimization model.
The peak-share tipping point
With positive E and different peak and off-peak rates, break-even peak share = [E × (flat rate − off-peak rate) + flat fixed charge − TOU fixed charge − D × TOU demand rate] / [E × (peak rate − off-peak rate)]. Common delivery and tax cancel. This holds total kWh and measured demand constant. Values outside 0 to 1 are explicitly reported instead of clamped into a misleading feasible threshold.
Rules this engine does not cover
Only one flat tariff and one two-period TOU tariff are supported. Seasonal tiers, holidays, demand ratchets, export credits, solar net metering, minimum bills, eligibility, and complex tax treatment are not modeled. Demand uses the highest interval-average kW, which may differ from a utility measurement window. Verify every real tariff component before switching.
Precision and reproducibility
The engine calculates with JavaScript numbers and rounds only for display. CSV audit peak and off-peak values are displayed to at most five decimal places; full aggregate calculations are available in the JSON report. Plans retain input fields, intervals, and example provenance. Printed and exported audits include all rows, not just the current page. No changes are saved automatically.
Before choosing a plan
Use the rate-plan verification checklist to confirm current tariff terms, fees, and your usage inputs before relying on the comparison.
Reference sources
These sources explain utility-rate concepts. They do not verify the sample rates or your uploaded data. Model 1.1.0.