500Mb across the 10years? Monthly?
If you need more years or more data we can help, but in the vast, vast majority of narrowband use cases we've found this to be quite sufficient.
5,256,000 minutes in 10 years (ignoring leap years)
500,000,000 bytes of data (assuming mega and not mebi)
An average of 95 bytes a minute per device over that 10 years, or an average of 951 bytes every 10 minutes, or more than 5k an hour. For event messages, that seems like something that can be worked within fairly easily, depending on use.
The other secret of most IoT platforms is that their negotiated rates round sessions to 1KB boundaries. That's insane for IoT. For ours there is no rounding, and the 'practical' rounding is the 40-byte TCP/IP header.