It would be like charging you by the minute for watching cable TV, or charging customers by how far away they are from the telephone company (running that copper that extra mile, etc).
I don’t know about your case, but heavy users on Citywest are using their bandwidth outside of peak times, when it is essentially free. The difference between light and heavy should be the speed, not the amount transferred. Someone who uses dropbox to transfer 50 gigs at 20k/sec is less of a load on your network than someone watching youtube during peak hours.
If you have a customer using 800 gigs, then do some traffic shaping and slow him down during peak times. But what does it matter if he’s using 10 gigs overnight when nobody else is “on the highway” ?
The problem with Citywest, as I understand it, is that they have rising costs for many reasons, none of which are because of heavy users. For example, one of their costs is that they are losing money by bundling services. How is that heavy users fault?
I think Citywest should be charging for internet bandwidth, not how much you use. If you’re a light user, then great, you’ll be ok with 512mb/sec for $20/month. If you’re a heavy user, how about 15gb/sec for $100/month?