Ramblings
Prepaid Electricity: Doing the Sums
Introduction
Recently we were moved from postpaid to prepaid electricity, with very little information on what to expect. Tshwane Municipality keep its cards very close to its chest with regard to the cost of the electricity — in fact, I could find NO reference to the current price on their website. There are several third party websites with this information, but many of these have outdated tariffs. The tariff document I use here, corresponds with my own calculations
South African municipalities commonly use a block tariff structure, approved by NERSA, where the price per kilowatt-hour increases once certain consumption thresholds are reached.
On this page I share an up-to-date table of the current electricity tariffs for the Tshwane Municipality, including VAT.
| Usage (kWh) | Cost (R/kWh) | |
|---|---|---|
| Block 1 | 1 - 100 | 3.425 |
| Block 2 | 101 - 400 | 4.044 |
| Block 3 | 401 - 650 | 4.368 |
| Block 4 | > 650 | 4.709 |
(updated: 12 March 2026)
How the block tariff works
Electricity is not charged at a single rate. Instead, units are priced in blocks. The first portion of your usage is charged at a lower rate, and once that portion is used up, additional units are charged at higher rates. Each purchase therefore consists of a combination of these blocks, rather than a single fixed price. The resulting price per kilowatt-hour is a weighted average of the blocks involved.
The block counter resets to zero at the start of each month, meaning that consumption begins again at Block 1, regardless of how much electricity was used in the previous month.
The (real-life) example below shows how units are allocated across a block boundary, using tariffs from March 2026.
| Purchase (R) | Received (kWh) | Cost (R/kWh) |
|---|---|---|
| 200 | 58.40 | 3.425 |
| 400 | 105.80 | 3.781 |
| 20 | 5 | 4.000 |
As you can see, the first purchase was entirely in Block 1, the second purchase spanned Block 1 and Block 2, and the third purchase fell entirely in Block 2.
| Units (kWh) | Cost (R) | |
|---|---|---|
| Block 1 | 41.60 | 142.466 |
| Block 2 | 64.20 | 259.625 |
| Total | 399.266 |
In this table, 41.60 kWh are the units still available in Block 1 after the initial purchase of 58.40 kWh. 64.20 kWh are the remaining units of the 105.80 kWh purchase after subtracting the 41.60 kWh allocated to Block 1. The total of R399.266 is very close to the R400 actually purchased. In calculating the costs, I used the actual values per kWh derived from the purchases rather than the rounded values shown in TableĀ 1.
A common misconception
A common misconception circulating on social media is that the cheapest rate for electricity is obtained by making a purchase on the first day of a month. This is not true. The first purchase of the month, regardless of the date, will always include a component charged at the Block 1 tariff.
In the example above, the purchase was made in the middle of the month showing the allocation of units between Block 1 and Block 2.
(updated: 12 March 2026)
Doing the sums
In this section I look at two different scenarios. The first is an extension of the real-world example shown in Table 3 above; the second addresses a common situation — you want to purchase X kWh, but the supermarket or bank only deals in rands.
In either scenario, you need to have a reasonable idea of your average daily usage.
How much will 500 units cost
The calculation in Table 4 shows how the cost of 500 kWh is distributed across the tariff blocks. The first 100 kWh are charged at the Block 1 tariff, the next 300 kWh at the Block 2 tariff, and the remaining 100 kWh at the Block 3 tariff.
| Units (kWh) | Cost (R/kWh) | Cost (R) | |
|---|---|---|---|
| Block 1 | 100 | 3.425 | 342.50 |
| Block 2 | 300 | 4.044 | 1213.20 |
| Block 3 | 100 | 4.368 | 436.80 |
| Total | 500 | 1992.50 |
How many units will I get for R500
The reverse calculation is shown in Table 5. Starting with the available amount, the cost of each block is subtracted until the remaining balance falls within the next tariff block.
| Cost (R/kWh) | Cost (R) | Units (kWh) | |
|---|---|---|---|
| Block 1 | 3.425 | 342.50 | 100.00 |
| Block 2 | 4.044 | 157.50 | 38.95 |
| Total | 500 | 138.95 |
In order to calculate the units available divide the available rand value by the cost (in R/kWh) for the relevant block.
Letting a spreadsheet do the work
The calculations above demonstrate how the tariffs work, but doing them manually quickly becomes tedious. Fortunately, a spreadsheet is very good at doing sums.
In order to use the spreadsheet, the average daily consumption is required. With postpaid electricity, most residents had their meters read by the municipality. In practice this often did not happen, and an estimate of the consumption was used instead. These estimates should not be used for this calculation, as the values are often wildly off target.
A simpler method is to use the readout of the prepaid meter. After buying units, note the date and the units remaining. After two or three weeks, note the date and remaining units again. The units used during that period can then be calculated. Dividing the units by the number of days will give an estimate of daily consumption.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Input | Req | Tariff | Limit | Units | Cost |
| 2 | 7.8 | Note 2 | 3.425 | 100 | Note 5.1 | Note 6.1 |
| 3 | 31 | 4.044 | 400 | Note 5.2 | Note 6.2 | |
| 4 | 9.8 | 4.368 | 650 | Note 5.3 | Note 6.3 | |
| 5 | 4.709 | Note 5.4 | Note 6.4 | |||
| 6 | Note 6.5 |
Notes
The formulas below can be copied into a spreadsheet.
- Input:
- A2: average daily usage
- A3: number of days remaining in the month
- A4: number of units remaining (from meter)
- Req: the number of units required for the month (formula:
=A2*A3-A4) - Tariff: the block cost from Table 1
- Limit: the block limits from Table 1
- Units: the formulas to calculate the units required per block
- E2:
=MIN(B2,D2) - E3:
=MAX(MIN(B2,D3)-D2,0) - E4:
=MAX(MIN(B2,D4)-D3,0) - E5:
=MAX(B2-D4,0)
- E2:
- Cost: the cost per block
- F2:
=E2*C2 - F3:
=E3*C3 - F4:
=E4*C4 - F5:
=E5*C5 - F6 (the sum of F2 to F5):
=SUM(F2:F5)
- F2:
Cell F6 contains the rand value required to purchase the calculated number of units.
The picture below shows the results using 7.8 as the average units per day, 31 as the number of days remaining in the month and 9.8 as the residual units. If the spreadsheet produces the same values, the formulas have been entered correctly.
Showing user input of 7.8 kWh/day, 31 days and 9.8 kWh
Another example, which extends into the third block, with 15.3 as the average units per day, 28 as the number of days remaining in the month and 2.3 as the residual units.
Showing user input of 15.3 kWh/day, 28 days and 2.3 kWh
Topping up
The spreadsheet described in the previous section can be adapted for topping up by including the number of units already purchased during the month. If this value is zero, the calculation reduces to the example shown Table 6.
The data below was created on the same spreadsheet as shown in Table 6, starting at cell A9.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| Input | Req | Tariff | Limit | Units | Cost | |
| 9 | 7.8 | Note 2 | 3.425 | 100 | Note 5.1 | Note 6.1 |
| 10 | 5 | 4.044 | 400 | Note 5.2 | Note 6.2 | |
| 11 | 9.8 | 4.368 | 650 | Note 5.3 | Note 6.3 | |
| 12 | 175 | 4.709 | Note 5.4 | Note 6.4 | ||
| 13 | Note 6.5 |
Notes
- Input:
- A9: average daily usage
- A10: number of days remaining in the month
- A11: number of units remaining (from meter)
- A12: number of units already purchased during the month
- Req: the number of units required for the remainder of the month (formula:
=A9*A10-A11) - Tariff: the block cost from Table 1
- Limit: the block limits from Table 1
- Units: formulas to calculate the number of units allocated per block
- E9:
=MIN(A12+B9,D9) - MIN(A12,D9) - E10:
=MAX(MIN(A12+B9,D10)-D9,0)-MAX(MIN(A12,D10)-D9,0) - E11:
=MAX(MIN(A12+B9,D11)-D10,0)-MAX(MIN(A12,D11)-D10,0) - E12:
=MAX(A12+B9-D11,0)-MAX(A12-D11,0)
- E9:
- Cost: the cost per block
- F9:
=E9*C9 - F10:
=E10*C10 - F11:
=E11*C11 - F12:
=E12*C12 - F13 (the sum of F9 to F12):
=SUM(F9:F12)
- F9:
As expected, the formulas in cells F9 to F12 are a bit more complex than those shown in Table 6.
Showing user input of 7.8 kWh/day, 9 days, 9.8 kWh remaining, and 350 kWh already purchased
In the example shown above, 350 kWh has already been purchased during the month. This means no units are available from Block 1, while 50 kWh remain available in Block 2. The remaining 10.4 kWh are therefore allocated at the Block 3 tariff.
Showing a comparison between the data sets from Table 6 and Table 7
In the comparison above, the same input data is used for both data sets, with 0 kWh entered as the units purchased for the month in the second set. This yields the same number of units required, confirming that the two approaches are consistent.
This approach allows both initial purchases and mid-month top-ups to be calculated using the same spreadsheet.
This sheet will be made available shortly.
(updated: 17 March 2026)
Bulk purchases
From the calculations in the previous section, it should be fairly obvious that it is more expensive to buy units for more than one month. Firstly, subsequent months will not benefit from the lower Block 1 and Block 2 tariffs; and secondly the additional units will be purchased in the more expensive blocks. Thus purchasing units for more than one month is not recommended.
At the time of a tariff increase there may be a small price advantage in buying units for more than one month, but this will quickly be offset by paying for units in the higher blocks.
In most circumstances, purchasing units only for the current month will therefore give the lowest average cost.
(updated: 15 March 2026)
Purchasing units
The spreadsheet will give a rand value for the units to be purchased in a month. This value should yield sufficient units to last for the month, with very little remaining. Unfortunately, the meter readout device starts beeping when between 10 kWh and 25 kWh remain, as a warning that the units are running out. My Conlog wCIU(X) starts beeping with 25 kWh remaining. The beep on this device can be disabled by holding down the backspace key for a few seconds — however, it does return after 24 hours if the meter has not been topped-up.
To avoid this, add the number of units at which your meter starts beeping to the calculation in cell B2 or cell B9 (for example, 25 kWh in cell B9):
=A9*A10-A11+25
This ensures that a small reserve remains when the next purchase is due.
(updated: 18 March 2026)
Footnote
NERSA
The National Energy Regulator of South Africa regulates electricity tariffs in South Africa and must approve tariff structures used by Eskom and municipalities.
Google Sheets
Google Sheets was used to create the spreadsheets shown on this page. This software is free to use for anyone with an active Gmail account. On a desktop, it can be accessed as a browser-based program from either the apps menu in Gmail, or directly from the Sheets website. On Android, there is a stand-alone Sheets app.
(updated: 21 March 2026)
