The 201st unit: modelling Pakistan's 2026 electricity slab tariff from a scanned SRO
Pakistan's household electricity tariff has a cliff in it. If a home stays at 200 units (kWh) or less in each of the last six months, it is billed as protected. Use 201 units once and the home is non-protected for the ne
Pakistan's household electricity tariff has a cliff in it. If a home stays at 200 units (kWh) or less in each of the last six months, it is billed as protected. Use 201 units once and the home is non-protected for the next six bills, even if usage drops again.
I wanted to know what that one unit actually costs, so I modelled the tariff from the government notification and built a free calculator in Urdu around it. Disclosure: I built the tool linked at the end. This post is about the modelling, which was more interesting than I expected.
1. Find the real source, even when it is a scan
Search results for "LESCO bill calculator" are full of calculators that disagree. I found per-unit rates of 10.54, 13.99, 7.74 and 10.06 quoted for the same "protected 101-200" band, plus tools still adding a 1.5% electricity duty and a Rs 35 TV fee that were dropped from bills in July 2025, or using 17% GST.
The binding document is S.R.O. 279(I)/2026 (Ministry of Energy, 12 February 2026), which notifies NEPRA's decision on "rationalization of tariff of XWDISCOs and K-Electric". NEPRA hosts it as a 54-page scanned PDF with no text layer, on a server slow enough that I had to resume the download several times:
curl -sL -C - -o sro279.pdf "https://nepra.org.pk/tariff/Tariff/Notifications/2026/02%20Feb/S.R.O.%20279(1)2026%20dated%2012-02-2026.pdf"
pdftoppm -r 60 -png sro279.pdf t # thumbnails, to find the tables
pdftoppm -r 200 -png -f 15 -l 15 sro279.pdf z # Annex A-1 at reading resolution
Contact sheets of the thumbnails found the residential schedule (Annex A-1) and the K-Electric schedule (Annex C) quickly. Both carry the same consumer-end rates, so one table serves all eleven distribution companies plus K-Electric.
2. The table
| Slab (units/month) | Rs/kWh | Fixed Rs/kW/month |
|---|---|---|
| Lifeline up to 50 | 3.95 | 0 |
| Lifeline 51-100 | 7.74 | 0 |
| Protected 1-100 | 10.54 | 200 |
| Protected 101-200 | 13.01 | 300 |
| 1-100 | 22.44 | 275 |
| 101-200 | 28.91 | 300 |
| 201-300 | 33.10 | 350 |
| 301-400 | 36.46 | 400 |
| 401-500 | 38.95 | 500 |
| 501-600 / 601-700 / 700+ | 40.22 / 41.85 / 47.20 | 675 |
New in 2026: a fixed charge per kW of sanctioned load, by slab.
3. The rules hide in the footnotes
Three lines under Annex A-1 decide the arithmetic:
- "Only protected residential consumers will be given the benefit of one previous slab." 150 protected units = 100 x 10.54 + 50 x 13.01.
- Lifeline consumers get no slab benefit.
- Everyone else pays the rate of the slab their total lands in, on every unit. 201 units = 201 x 33.10.
function bill(units, status, kw) {
if (status === "protected" && units > 200) status = "unprotected";
if (status === "protected") {
return units <= 100
? { energy: units * 10.54, fixed: 200 * kw }
: { energy: 1054 + (units - 100) * 13.01, fixed: 300 * kw };
}
const slabs = [[100, 22.44, 275], [200, 28.91, 300], [300, 33.10, 350], [400, 36.46, 400],
[500, 38.95, 500], [600, 40.22, 675], [700, 41.85, 675], [Infinity, 47.20, 675]];
const [, rate, fixed] = slabs.find(([top]) => units <= top);
return { energy: units * rate, fixed: fixed * kw };
}
4. What the 201st unit costs
At 1 kW sanctioned load, adding the FC surcharge (Rs 3.23/unit, Rs 1.43 for protected users, per NEPRA's 2023 decision) and 18% GST, but not the monthly fuel adjustment:
- 200 units, protected: about Rs 3,133
- 201 units, non-protected: about Rs 8,264
The six-month rule makes it worse. If the next five months sit at 180 units, each is billed at the non-protected rate (about Rs 7,181 instead of Rs 3,130). The single extra unit costs roughly Rs 25,800 across six bills.
The six-month window is a sliding check over bill history, which turns into a one-liner: if the most recent month above 200 sits at index i (0 = oldest of six), the household gets i + 1 more non-protected bills, counting the current one.
5. Calibrate against a real bill
My first estimate came out about 10% low. An open-source LESCO estimator on GitHub that its author tuned to their own real bills includes the FC surcharge line, which the SRO does not mention because it was notified separately in 2023. Adding it brought my 153-unit example within a few percent of their recorded bill; the remaining gap is the monthly fuel price adjustment.
The tool and the data
- BijliHisab (free, unofficial, in Urdu): https://bijlihisab.appin60.com. Enter today's meter reading and the reading date from your bill; it tells you how many of your 200 units are left, the daily budget to stay under, and the date you will cross 200 at your current pace. It also writes a printable Urdu application to the SDO for a wrong or late reading. Everything runs in the browser and nothing is collected.
- The tariff as JSON (CC0, with the billing rules): https://github.com/lowkey-studio/pakistan-electricity-tariff
If you spot a rate that differs from your bill, open an issue with the bill line (no reference numbers, please) and the source.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.