The problem is the fundamental disconnect between how they pay for data and how they charge you for data. Their cost is for capacity - speed - and not for volume. So they have to balance their spend on bandwidth (last "mile", transit, backbone, breakout, international) with their revenue from data. Selling you 1GB now doesn't actually correlate with any precision to how much bandwidth they need to provision to cater for your gig, if that gig could be used at any arbitrary time in the future.
it is indeed tricky, yet each unit of data still has a value assigned to it, which they use to get a price, to sell it.
a capacity/speed link paid for a month or a year, still equates to a certain amount of total of data. usage patterns do come into the calculation as you say, but make things tricky as said. its pretty impressive how its all calculated, if done correctly. which doesnt always seem like the case here in good ol' rsa.