**What is 95 ^{th} Percentile?**

Working as a network administrator in an IT Managed Services Provider Company gave me first-hand experience on how customers are billed based on their monthly bandwidth consumption. One such billing structure regarded as very accurate method of determining this is called the 95th percentile. In a period of one month, bandwidth traffic link utilization varies a lot due to factors such as traffic spikes, chance to be over-utilized and congested during operations and business hours, or under-utilized during off business hours and long periods of inactivity, and unexpected outages among others. Taking this into consideration, internet service providers needed to come up with a fair and practical billing for monthly traffic consumption and so, as the famous saying “Necessity is the mother of invention’, 95th percentile was put into practice. It is widely recognized as a good measure of utilization for most traffic flows, particularly where there are bursts of traffic or where there are long periods of little traffic.

This is due to the fact that, 95^{th }percentile, as the name implies, is the number that is greater than 95% of the numbers in a given set meaning that it is the highest value left when the top 5% of a numerically sorted set of collected traffic data is dropped. As a result, it is a measure of the peak traffic value when one discounts the short amount of traffic spikes. This percentile number is an accurate depiction of the consumed data throughput in a given period of time rather than other models such as average monthly bandwidth traffic where the lowest and highest traffic data is consolidated instead.

**How is 95 ^{th} Percentile calculated?**

The calculation is performed as described below:

- Collect all the traffic data points for a period of time (commonly a day, a week, or a month).
- Sort the traffic data points by value from highest to lowest and discard the highest 5% of the sorted data set.
- The next highest traffic point is the 95th percentile value for the data set.

**Example mathematical calculation:**

Over the course of this short month, we gathered the following data sets for the inbound and outbound traffic (all numbers in Mb/s):

*inbound* = [0.139 0.653 0.201 0.116 0.084 0.032 0.047 0.185 0.198 0.203 0.276 0.370 0.971 0.233 0.218 0.182 0.169 0.126 0.131 0.157]

*outbound* = [1.347 1.435 1.229 0.523 0.438 0.231 0.347 0.689 0.940 1.248 1.385 1.427 3.988 1.265 1.221 1.013 0.992 0.874 0.896 1.002]

**After sorting, we obtain:**

*sorted_in* = [0.971 0.653 0.370 0.276 0.233 0.218 0.203 0.201 0.198 0.185 0.182 0.169 0.157 0.139 0.131 0.126 0.116 0.084 0.047 0.032]

*sorted_out* = [3.988 1.435 1.427 1.385 1.347 1.265 1.248 1.229 1.221 1.013 1.002 0.992 0.940 0.896 0.874 0.689 0.523 0.438 0.347 0.231]

Each sample set contains 20 samples–5% of 20 is 1, so discarding the top 5% means we must discard the top sample from each data set. We are now left with:

*remaining_in* = [0.653 0.370 0.276 0.233 0.218 0.203 0.201 0.198 0.185 0.182 0.169 0.157 0.139 0.131 0.126 0.116 0.084 0.047 0.032]

*remaining_out* = [1.435 1.427 1.385 1.347 1.265 1.248 1.229 1.221 1.013 1.002 0.992 0.940 0.896 0.874 0.689 0.523 0.438 0.347 0.231]

The highest sample from each remaining data set is the 95th percentile value for the originating set. So, for each set, above, we obtain the following values:

**95th_in = 0.653 Mb/s**

** 95th_out = 1.435 Mb/s**

The higher of the two computed 95th percentile values becomes the final 95th percentile value used for billing:

**95th percentile = 1.435 Mb/s**

Looks a bit complicated? Do not worry! Most network monitoring solutions perform the calculation using their own software and provide you a detailed network traffic. Check the below example

**Graphical Representation of 95th Percentile**

Another example:

In the sample network traffic report below, Network traffic is automatically plotted in a given period of 2 hours as well as giving the 95th percentile on the network interface. This is done with the assistance of a network monitoring software.