How we count
The arithmetic, in full
Everything on this site comes out of one formula applied twelve times. There is no proprietary score, no weighting, and no editorial judgment about which plan is nicer. If you disagree with a number here, you should be able to find exactly where we got it — so here it is.
The formula
For each of the twelve months we compute a bill, then add the bills up. The bill for a month in which you use k kilowatt hours is
bill(k) = base_charge
+ energy_charge(k) each tier priced separately
+ tdu_fixed_monthly your utility's standing charge
+ tdu_cents_per_kwh × k your utility's delivery rate
+ min_usage_fee only if k is below the threshold
− bill_credits(k, month) only if k and the month qualify
+ sales_tax if configured; off by default
annual_total = Σ bill(k_month) for month = 1..12Ranking is by annual_total and nothing else. We never rank by advertised rate, by energy charge, or by anything a retailer chooses to put in an advert, because every one of those numbers can be made to look good without the bill getting any smaller.
The effective rate we show — the number under the highlighter — is simply annual_total ÷ annual_kwh, converted to cents. It is the only rate that answers the question people are actually asking.
Your usage, month by month
A Texas house does not use the same electricity in March as in August. Air conditioning roughly doubles consumption across the summer, and that seasonality is not a rounding detail — it decides whether a bill credit with a 1,000 kWh threshold pays out or not.
If you give us one average figure, we spread it across the year with these multipliers, an approximation of the ERCOT residential summer-peaking shape normalized so the twelve values sum to twelve:
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.78 | 0.70 | 0.68 | 0.70 | 0.88 | 1.26 | 1.60 | 1.60 | 1.30 | 0.92 | 0.74 | 0.84 |
This is an approximation and we would rather not use it. Twelve real figures from your bills, or an interval export from Smart Meter Texas, both beat it — which is why both are offered on the calculator. Looking up the house is a middle path — documented on Price this house: we send the street address to a partner with an ERCOT meter directory, resolve it to the meter, and price against a twelve-month usage profile for that premise. That profile is an estimate, not interval reads from Smart Meter Texas, but it is specific to the meter rather than a statewide shape. We do not store the address. If the meter is flagged with a switch hold, we say so on the results before you try to enroll. The ratio between your peak and trough months matters more than the absolute figures, because that is what decides which months clear a threshold.
A worked example
Take a plan shaped like the ones that cause the most complaints: a 14.1¢ energy charge, a $9.95 monthly base charge, and a $100 bill credit in any month you use at least 1,000 kWh. On Power to Choose that plan advertises about 10.9¢ per kilowatt hour, which looks excellent against a market around 14¢.
Here is August, at a household averaging 1,000 kWh a month in Oncor territory. The seasonal curve puts usage at 1,600 kWh, comfortably over the threshold, so the credit pays out:
The credit is earned
| Energy charge · 1,600 kWh × 14.1¢ | $225.60 |
|---|---|
| Base charge · every month regardless of usage | $9.95 |
| Oncor delivery · 1,600 kWh × 6.8673¢ | $109.88 |
| Oncor delivery · monthly fee | $4.06 |
| Bill credit · 1,000+ kWh | −$100 |
| What you would actually pay | $249.49 |
The credit is missed
| Energy charge · 680 kWh × 14.1¢ | $95.88 |
|---|---|
| Base charge · every month regardless of usage | $9.95 |
| Oncor delivery · 680 kWh × 6.8673¢ | $46.70 |
| Oncor delivery · monthly fee | $4.06 |
| No $100 credit · needs 1,000 kWh, you use 680 | not earned |
| What you would actually pay | $156.59 |
March uses 680 kWh — under the threshold — so the credit does not arrive and the bill is $156.59 instead of the $56.59 it would have been. That month alone costs $100 more than the advertised rate implies.
Across the year the plan costs $2,284.20, an effective 19.0¢ per kilowatt hour against an advertised 10.9¢. Power to Choose is not lying: at a flat 1,000 kWh every single month, 10.9¢ is right. Nobody uses electricity flatly.
Reading the fact label
Every certified plan in Texas must publish an Electricity Facts Label, and it contains everything needed to price a bill exactly. It is also a PDF written by whoever felt like it that day, in perhaps thirty different layouts. For each plan we:
- Download the label, sniffing for the
%PDF-magic bytes rather than trusting the content type, because several retailers serve real PDFs labeled as binary streams. - Extract the text and normalize it — cent signs, dashes, whitespace — then classify each line against a set of label patterns, so that “Energy Charge” and “TDU Delivery Charge” on the same flattened table row do not get confused for one another.
- Pull out the base charge, every energy tier, every bill credit with its usage window and its month and behavior conditions, any minimum-usage fee, whether the quoted rate already includes delivery, and any free-hours window.
- Check our own reading. We recompute the retailer’s own published prices at 500, 1,000 and 2,000 kWh from the structure we just parsed. If all three land within a tolerance of what they advertise, we have read the label correctly. This gate is the single most useful thing in the pipeline: a mis-parse almost always fails it.
When the label defeats us
Some labels are JavaScript-rendered web pages rather than PDFs, a few are behind a 403, and occasionally a layout is genuinely ambiguous. In those cases we solve the rate structure backwards from the three published prices instead: two of them give a base and a per-kilowatt-hour rate, and a discontinuity between them — the tell-tale pattern where the 500 kWh price is far higher than the 1,000 kWh price — reveals a bill credit and its approximate size.
Those plans are labeled estimated everywhere they appear, and you can filter them out entirely on the results page. The reconstruction reproduces the three published points exactly but may miss a condition that only bites elsewhere, and we would rather say so than pretend.
Parsed, reconstructed, and how many of each
Of the 899 plans priced right now, 95% — 855 plans — come from a fully parsed fact label. The remaining 44 are reconstructed from published prices and marked estimated.
Both paths clear the same gate before anything is published: the rate structure has to reproduce the retailer’s own advertised prices at 500, 1,000 and 2,000 kWh. That is what we mean when we say every price here is verified — not that we trust the retailer, but that our reading of their plan produces their numbers before we use it to produce yours. What separates the two paths is how much we know beyond those three points: a parsed label tells us every condition in the contract, and a reconstruction tells us only what three prices can imply.
Which is why the estimated ones are labeled rather than dropped. Hiding them would make this percentage read 100% and make the results incomplete — a household in a territory whose cheapest plan happens to be one we could not parse would simply never be shown it. Hiding the label instead, and quietly presenting an estimate as a reading, is the thing we are not willing to do. So the plan stays in the ranking, the estimate is marked, and the receipt for it says where its numbers came from.
Delivery charges
Your utility — Oncor, CenterPoint, AEP and the rest — owns the poles and wires and charges for delivery no matter which retailer bills you. It is a pass-through with no markup, and it is the single largest thing missing from most advertised rates.
Retailers are supposed to print these charges on the label, and most do, but not reliably: TXU prints its delivery charges as ** and defers to a URL. So we keep our own table:
| Utility | Monthly | Per kWh | At 1,000 kWh |
|---|---|---|---|
| AEP Texas Central | $3.24 | 5.6898¢ | $60.14 |
| AEP Texas North | $3.24 | 5.5751¢ | $58.99 |
| CenterPoint Energy Houston Electric | $4.90 | 6.5333¢ | $70.23 |
| Lubbock Power & Light | $0 | 6.3120¢ | $63.12 |
| Nueces Electric Cooperative | $17.50 | 3.9000¢ | $56.50 |
| Oncor Electric Delivery | $4.06 | 6.8673¢ | $72.73 |
| Oncor Electric Delivery NTU | $4.06 | 6.0209¢ | $64.27 |
| Texas-New Mexico Power | $7.56 | 7.7710¢ | $85.27 |
Delivery charges are refiled roughly every March and September, and a stale entry here would quietly misprice every plan in that territory. So after each nightly ingest we re-derive every territory’s charges from the fact-label corpus itself: for each simple plan with no credits, the retailer’s own base and energy charge plus its published prices at 500 and 2,000 kWh give two equations in two unknowns, and the median solution across hundreds of plans is immune to any single bad parse. If that consensus drifts from the stored table, it is flagged.
What we deliberately leave out
- Sales tax. Off by default. It is the same proportional add-on for every plan, so it moves every number identically and changes no ranking, while making the headline figures harder to check against your own bill. When switched on it gets its own clearly labeled line.
- Early termination fees. Shown on each plan page, but not added to the annual total, because whether you pay one depends on a contract we cannot see.
- Deposits and credit checks. These vary by applicant and no data source publishes them usefully.
- Anything a retailer pays us. Rankings are computed before the affiliate configuration is consulted, and a retailer we earn nothing from is ordered by exactly the same arithmetic as one paying a bounty.
- Plans sold only through brokers. If it was never filed on Power to Choose, it is not in the ranking. See below.
Where the data comes from
Plan lists, advertised prices and document links come from the Public Utility Commission of Texas’s Power to Choose, refreshed nightly. Rate structures come from each retailer’s own Electricity Facts Label, fetched at no more than one request a second with a user-agent identifying BillTruth and a contact address, and cached by content hash so we never download the same document twice.
Some retailers sell plans through brokers that they don't file on Power to Choose, and some file one rate publicly while selling the same-named plan at a different rate through broker channels. We price the state filing. That means there are cases where a plan exists that we don't show, or where a retailer's broker-channel version of a plan we do show costs less than the filed version.
If a nightly run fails, we keep the previous day’s data and put a banner on the site saying how old it is, rather than showing you an empty page or, worse, stale prices presented as current.
Who is doing the counting
One person in Texas, independently of every company named on this site. Who is behind this, and how it makes money, is worth reading alongside the arithmetic — including the part where several other comparison sites are owned by companies that also own retailers.
Found a mistake?
Please tell us. Every plan page links to the fact label we parsed, so a disagreement can usually be settled in about a minute — and if our reading is wrong, the self-validation gate probably has something to say about why. Contact details are here.