You say you only charge for what I use, but really you have 3 or 4 tiers. Once in that tier, I almost by definition don't use all I have paid for. It would be even better if once in a tier, the charge is truly metered and reflects the fact that I only used 550MB of data. If I read your plans properly, I would be charged $24 for 550MB, whereas at $.024 per MB, it should only be $13.20 This is truly pay for what you use.
I understand your business model and that you probably are charged the same tiered (rather than metered) way from Sprint, but it sometimes would feel like a penalty by going only 10% into the next tier (as in the example). Here I am at the 28th of the month and I am at my data or voice limit of the plan. Do I shut the phone off for the next three days, or accept that I will pay the next tiered rate and waste 450MB of data or 300 minutes for a (small, yet not insignificant) fee.
I know it is an accounting nightmare, but if you charge by the actual usage, you could incent people to move up to get the lower rate. For instance, my first 100 minutes are $.03 per minute, my next 1400 are at $.018 per minute, the next 1000 are at $.0175, etc. Using 200 minutes would be (100*.03)+(100*.018) or $4.18. 600 minutes would be (100*.03)+(400*.018)+(100*.018)=$12.00. 1900 minutes would be (100*.03)+(400*.018)+(500*.018)+(900*.0175)=$34.95.
The alternative is to charge for whatever is used by the rate the month ends up in, so if I use 200 minutes, it is $3.60. If I use 600 minutes it is $10.80, and for 1900 minutes, it is $33.25. Instead of today you would charge me $9, $18, and $35, respectively.
These two alternatives actually incent me to use more to get into the next billing tier (okay, it is a psychological incentive instead of a savings), rather than make me paranoid about using too much.
Just an idea.