How the numbers are made
The product’s value depends entirely on whether you can trust a number it shows you. These are the rules it holds itself to, and they are enforced in tests rather than described in a policy.
Calculations are deterministic
Rates come from tariff data — effective-dated values read from filed leaves. The engine is a pure function over that data: same inputs, same output, forever. That is what makes a recomputation months later defensible in front of a regulator.
A language model never calculates
It may pull structured fields off a scanned page, and it may turn an already-computed finding into a readable sentence. It does not produce a rate, a total, a saving or a comparison. Those come from arithmetic that can be shown.
Every amount carries its source
Schedule, leaf, revision and effective date, plus an archived copy of the filing it was read from. If a component cannot produce a citation, it does not produce a number.
A period that straddles a rate change is split
Bills routinely run 27–34 days and rates change mid-cycle. The engine finds every date inside the period at which any component changes, splits there, and day-weights each segment — rather than pricing the whole month at whichever rate happened to apply on one chosen day.
Money is never a floating-point number
Tariff rates carry five and six decimals. Binary floating point loses pennies at that precision, and a penny is the entire reconciliation tolerance. Everything is exact decimal arithmetic, rounded once, half-up, at the cent.
Refusing is a feature
Missing interval data blocks time-of-use advice. A missing filed rate for a charge that carries the bill blocks the price entirely — because what is left is not a low estimate, it is the wrong number.
A discrepancy is never called an overcharge
We state what was observed, the rule it is measured against, how confident we are, and a question you can put to the utility. A bill we cannot reconcile is a limit of our coverage, not an accusation.
How we check ourselves
- Two independent implementations. The engine is written twice — once in TypeScript, once as a reference implementation — and continuous integration prices the same cases through both, requiring agreement to the cent.
- Deliberately corrupted bills. Real bills are mostly correct, so checks are proven against bills with known faults injected, alongside controls that must stay silent.
- A blind audit corpus. 200 synthetic bills with an answer key held back until after scoring. Current result: no false positives, and every category of planted defect detected that is detectable from the printed page.
- Published references. Degree days derived here are checked against NYSERDA’s published series; rates are checked against the filed tariff leaf, not a rate table.
What this is not
This is education and analysis. It is not a professional engineering audit, and it is not legal or financial advice. Where a question needs site-specific engineering judgment, that is a separate, separately contracted engagement — with its own terms and your explicit consent before any data is shared.