1. Validate the measurement
Import energy in kWh with interval duration, direction, meter and quality. Check chronology, gaps, duplicates and overlaps in absolute time. Convert the instant to the utility’s IANA time zone before classifying a rate period.
Do not derive kWh from instantaneous kW, combine meters automatically, discard exported energy or silently fill missing intervals. A boundary crossing requires a finer interval or explicit proportional estimation.
2. Separate historical reproduction from a scenario
Historical mode selects verified versions using each tariff’s documented date basis. A service-date rule and a bill-rendered-date rule are different. An unverified historical window cannot be filled by the latest rate.
Scenario mode applies the selected published version to the loaded profile. The report labels the assumption and records the exact version identifiers. There is no forecast of rates, weather or behavior.
3. Calculate in tariff order
Energy lines group quantities by season, time period and rate version. Other charges follow the normalized ordering and explicit bases. A percentage tax is applied only to its documented component base. A minimum bill adds only the amount needed to reach the floor; it is not another full fixed fee.
Monthly charges and tiers use the utility’s proration rules. SMUD’s fixed charge follows the period end date; its Fixed Rate allows day-weighted seasonal allocation. PGE’s ordinary billing rules distinguish a monthly charge from a charge per bill. See individual rate sheets for details.
4. Use decimal arithmetic and visible rounding
Quantities and rates are decimal strings and the billing engine uses decimal arithmetic. Each grouped energy line and other component is rounded to cents using half-up rounding, then the reported components are summed. Negative credits remain negative.
The utility’s internal tie-breaking and meter precision may not be published. The report therefore records My Power Rates’s convention rather than claiming certified cent-for-cent accuracy. Documented independent examples test ordinary totals and significant boundaries.
5. Limit conclusions to the available evidence
A complete result covers the modeled recurring service charges under confirmed conditions. It excludes account history and service events. Unknown material charges produce a partial estimate and no bill total; confirmed unsupported service produces no complete result.
Rank plans only within one utility, with confirmed eligibility, the same periods, equivalent charge coverage and complete comparable data. No incomplete year is silently scaled to twelve months.
6. Keep the calculation local and reproducible
The same TypeScript core runs in verification and in a browser worker. Public tariff fragments load from this site. Private intervals, filenames, project values and calculation reports stay in the browser unless you explicitly export a local file.
A report includes engine and tariff versions, period totals, component rates, sources, assumptions, exclusions and completeness. Reopening a project lets you recompute rather than trusting previously saved totals.
Next at the desk
Continue reading
Sources & reference
Product behavior is documented for this edition. The source register contains dated tariff evidence and its verification notes.