If SMS was priced like data, a message would cost 0.03c

If mobile operators in South Africa priced SMS like they do data, a message would cost 0.03 cents – even at out-of-bundle data rates of R2 per MB.
When sending an SMS in SA at the cheapest possible rate – which is 21c per message – you are effectively paying over R1,500 per MB for the amount of data you are sending.
This is assuming the standard 1,120 bits – or 140 bytes – are used to send a single 160-character SMS.
It is possible to send more characters than there are bytes available because SMS was originally designed to use a 7-bit character encoding scheme.
The table below summarises what an SMS would cost if it were priced like data – using a variety of data plans.
Message cost if billed like data | Per MB price | SMS |
Amount of data | 1MB | 140 bytes |
Vodacom prepaid ad-hoc | R2.00 | 0.0267c |
Other prepaid ad-hoc | R1.00 | 0.0134c |
Vodacom 30MB bundle | R0.40 | 0.0053c |
Telkom SIM-Sonke ad-hoc | R0.29 | 0.0039c |
Vodacom 20GB bundle | R0.05 | 0.0007c |
MTN 5GB+5GB Dataaa! | R0.04 | 0.0005c |
Telkom Internet Starter Pack | R0.04 | 0.0005c |
Cell C Giga 100 | R0.02 | 0.0003c |
For a more realistic comparison of what it might cost to send a 160-character message over a data channel, it is better to look at 8-bit or 16-bit character encoding schemes.
In standards like ASCII, UTF–8, and UTF–16, a single character can take up 1 to 4 bytes – depending on the encoding system used and the types of characters you send.
For the comparison below, we assumed a 1-byte character for messages that use UTF–8, and 2-byte characters for UTF–16.
Something to keep in mind is that with SMS, only the sender pays for the message. In a data-based messaging system, both the sender and receiver pay for the data a message consumes.
Even if you factor this in by doubling the amounts shown in the table below, data-based messages remain multiple orders of magnitude cheaper than SMS.
Message cost if billed like data | Per MB price | SMS | SMS-length message, UTF-8 | SMS-length message, UTF-16 |
Amount of data | 1MB | 140 bytes | 160 bytes | 320 bytes |
Vodacom prepaid ad-hoc | R2.00 | 0.0267c | 0.0305c | 0.0610c |
Other prepaid ad-hoc | R1.00 | 0.0134c | 0.0153c | 0.0305c |
Vodacom 30MB bundle | R0.40 | 0.0053c | 0.0061c | 0.0122c |
Telkom SIM-Sonke ad-hoc | R0.29 | 0.0039c | 0.0044c | 0.0089c |
Vodacom 20GB bundle | R0.05 | 0.0007c | 0.0008c | 0.0015c |
MTN 5GB+5GB Dataaa! | R0.04 | 0.0005c | 0.0006c | 0.0012c |
Telkom Internet Starter Pack | R0.04 | 0.0005c | 0.0006c | 0.0012c |
Cell C Giga 100 | R0.02 | 0.0003c | 0.0003c | 0.0006c |
Also worth noting is that South African mobile networks do not bill in fractions of a cent for data usage.
For the purpose of the calculations above, this is not an issue as long as your data connection – specifically your packet data protocol (PDP) context – remains active.
Under normal circumstances, the PDP context will only be torn down if:
- You turn off mobile data on the device.
- Are disconnected from the network.
- There is an unsuccessful handover between technologies – from 2G to 3G, for example.
When the PDP session is closed, operators will round it off to their nearest data billing increment and deduct data or airtime accordingly.
If the airtime cost is below a cent, it is typically rounded up to R0.01.
More on SMS costs and mobile data billing
Spam SMS – why South Africans pay to reply “Stop”
Vodacom data billing changes: how you’re affected
Happily paying R1.5-million per GB