I went through headaches with the cable company a few years ago.
I noticed their metering didn't seem to match my usage.
The first few people I talked to went back to their techs who scoffed at anyone who would questioning the system, so they brushed me off.
Of course when I followed up, they were dismissive and rude. Eventually the matter got escalated to the programmer and the technical manager. They too were dismissive and gave condescending and irrelevant lectures about how a kilobyte is actually 1024 bytes, not 1000.
The programmer himself was particularly convinced there could be no errors in his code.
After some patience though, someone else in the department let me know that because of the concerns raised, they found out that his program was in fact, flawed. It was doing something along the lines of treating GB, MB, and KB usage as the same unit.
But even after that was fixed, the problems continued.
The technical management again was blindly convinced that since the program was now 'fixed', it could not possibly be their fault. I received annoying lectures about how my computer probably had some virus or worm that was generating traffic that I wasn't aware of.
There weren't financial overcharges at the time, just annoying messages and throttling.
Eventually one of the non-technical managers started to believe me. So we worked out an arrangement where I would send daily usage estimates to her and I would also disconnect data from the modem whenever going out of town.
Sure enough, the billing system would report huge usage even on days the modem was disconnected. And on days that I estimated high usage, sometimes the readings were near zero.
She got the same condescending treatment from her tech department but pushed it further. By that time I had friends and family using their own net meter programs and comparing against their bills and finding all kinds of gaps.
In the end it turns out they had scrambled up customer ID's and metering ID's. In other words, it would mean customer 23444's record could be showing customer 50021's usage.
It was fixed but in the end they said:
- we found and fixed the problem, what's the big deal
- we don't charge for the extra usage, so what's your problem
- it wasn't the programmer's fault, it was a scrambled database, so we were right after all
So in the end, no real lessons were learned.