If you can figure out a way to store unused bandwidth, you'll pocket R6B very quickly.....
Something to consider when thinking about this concept (and I'm not advocating it one way or the other, merely giving some info I though others would have posted by now) is the whole supply chain for data communications.
Available bandwidth is a real-time product, i.e. you can't hoard it and is a function of the clock frequency of the links. As such it has a time component, we measure it in Mb/s or Gb/s, etc.
Vodacom does not buy a certain amount of data from companies like Telkom, rather it buys a certain amount of bandwidth. This runs constantly and if no-one is using it, it does not make any difference. It's lost forever.
To put this into perspective, lets assume everyone buys a 1G bundle in a specific month. Vodacom must ensure that there is enough bandwidth to deliver this. But no-one uses it that month. The cost to deliver is still the same to Vodacom. Although the bandwidth was paid for, it was never used. And you can't keep it in a bucket.
The next month everyone wants double the capability and Vodacom provides this (i.e. roll-over). Now the network must deliver the bandwidth and there will be a general performance hit, effectively everyone will run at ~50% of normal download speed. So the complaints come flooding in.
To accommodate this, Vodacom must double up on capacity with the corresponding cost implications.
So you can see when the bundle pricing is calculated, projected usage figures are included and contributes to a specific price.
A possibility to get data roll over could include paying some premium for it (as ic suggested before).
One could also build a range of products with different access speeds at different price points (like we used to have till you guys bitched so much (especially ic!!) that we dropped it.) I still like this idea, it makes a lot of sense to manage bandwidth. Low speed/ low price.