95th percentile is an averaging and reporting metric used for billing of burstable data usage. Unlike capped or fixed data pipes, burstable pipes are more difficult to bill. Over the years, 95th percentile has emerged as the industry standard for reporting usage. This article will explain how it works.
When you purchase a burstable internet connection, the connection itself is unlimited. So if you buy a FastEthernet circuit, its a full 100Mbps pipe and is not limited or capped in anyway. The service provider will bill you based on your 95th percentile commit. For example, say you commit to 10Mbps of 95th percentile. The provider will bill you accordingly for the cost of that 10Mbps commit. At the end of every month, the provider will run a 95th percentile usage report against your account, and if you are at or below 10Mbps of 95th percentile usage, your fine. If your above 10Mbps, then you pay overage at a predetermined price per Mbps. So if your monthly 95th percentile usage happened to be 14Mbps, you would pay for 4Mbps of overage.
The 95th percentile report is simple. Every 5 minutes, your circuit is polled for the total number of bytes transferred since the previous polling which occurred 5 minutes earlier. This total data amount is averaged over 300 seconds to calculate a per second 5 minute average transfer rate. These "5 minute average" data points that get collected every 5 minutes are stored in a database. It is important to note that 5 minute averaging is not instantaneous, and as such it in itself is forgiving since it averages in all the downtime. For example, say during one of your 5 minute intervals the only data transferred was a download of a 50MB file, and that transfer lasted 9 second (5.5MBps transfer rate). Because 50MB was the only data transfered within the 5 minute period, its gets averaged down to 0.16Mbps (50MB / 300 seconds). So even though your circuit hit the 5.5MBps mark, only 0.16MBps got reported for that data point which covered that 5 minute interval.
The 5 minute average transfer rate polls get collected in the database over the course of the month. When the month is complete, those data points are sorted from high to low and the top 5 percent high data points are removed. The next highest data point after that is your 95th percentile average. A more anecdotal way of think about it, the fastest 5% of your traffic is nullified, or the fastest 36 hours of the month is nullified. But again, everything is relating to 5 minute data averages, not instantaneous transfer rates.
See the below image displaying real transfers (inbound is green, outbound is blue) and the 95th percentile average for inbound and outbound (red lines). Outbound 95th percentile is 170Mbps, but as you can see that usage frequently runs up into 280Mbps and higher. Hence, the "forgiving" nature of 5-min average data polls and 95th percentile averaging.