Calculating IPv4 Run Rate: How to Make Your Own Projections – Guest Blog

By Jennifer Bly - Public Affairs Specialist, ARIN

Have you seen projections of when each RIR will run out of IPv4 space, and wondered where that information came from or even how you could come up with your own? Lee Howard provides easy step by step instructions on how to forecast the run out of IPv4 address space DIY-style.

Guest blog post by Lee Howard

Everyone should be able to run their own analysis of when ARIN (or LACNIC or AFRINIC, but I’m going to use ARIN as an example) will run out of IPv4 addresses. Here’s how you do it.

1. Grab the data (use FTP or web browser) from

a. Save As a text file

b. Open a new worksheet in Excel, do File > Import > CSV File, and choose Delimited, and the | character.

c. Delete the summary, ASN, and IPv6 rows.

2. Convert dates to dates.  The 20130717 format isn’t recognized by Excel, so in a new column, use this formula (replacing F2 with the cell that has the date): =DATE(LEFT(F2,4),MID(F2,5,2),RIGHT(F2,2))

a. You may want to add a few hundred dates after the final date given, to label the projections you’re going to do.

3. Save your work!

4. Create a new tab to calculate ARIN’s inventory.

a. Find the Block Size Distribution of Remaining IPv4 Inventory at

b. Copy it into the worksheet.

c. I found it easiest to clean up the CIDR sizes by hand; you want a column with just the CIDR value (i.e., “8” for “/8”); the net column is the inventory for that size.

d. The third column will be the count of addresses in that CIDR range.  If A2 is the CIDR value and B2 is the count of CIDR blocks, use the formula: =POWER(2,(32-A2))*B2

e. Add up all those addresses to see how many addresses ARIN has left.  Check your work: is it equivalent to the number of /8 equivalents shown on ARIN’s home page?

5. On the worksheet that has the delegated-arin-latest date, add a column to the last row: the value of ARIN’s remaining inventory (the actual total IP addresses remaining or pull it from the other sheet with something like =’ARIN Inventory’!C19).  This makes sense: this is a list of all of the allocations and assignments ARIN has made, and now you show the inventory after all of those assignments.

6. The inventory on the previous row will be how many addresses ARIN had before the assignment.  So for instance, cell J50954 will be =J50955+E50955.  In other words, add the inventory to the number of addresses.  For each row above that, add the amount issued; you can use the autofill function here.

7. Save your work!

8. Select the inventory column, and Charts > Line Chart.  Your x-axis labels will be the entire date column.  Check your work: does this look like other run-rate charts you’ve seen?

9. Run some projections.  Right-click the line on the chart, and choose “Add Trendline.”  Then pick Linear, Polynomial (try different order polynomials!), or whatever looks interesting.

10. You may need to adjust the x-axis scale, by right-clicking on the x-axis labels.

11. You may want to add charts using different historical sets.  For instance, choose only assignments from 2013, or the last 12 months, or since IANA runout, or since Y2K.

Spreadsheet Calculate IPv4 Run Out


Here’s what I got when I did this on 14 July 2013.  Sometimes the curves go up; that’s a vagary of trying to draw a curve—it’s very unlikely that ARIN will get more addresses, so upward curves should be ignored.

Since Y2K

Since IANA Runout

Since July 2012

Since YTD2013


Run your own analysis, and compare to the predictions of Geoff Huston ( and Tony Hain ( and ).


Lee Howard Lee Howard
Director, Network Technology
Time Warner Cable







Any views, positions, statements or opinions of a guest blog post are those of the author alone and do not represent those of ARIN. ARIN does not guarantee the accuracy, completeness or validity of any claims or statements, nor shall ARIN be liable for any representations, omissions or errors contained in a guest blog post.



Jennifer Bly

Public Affairs Specialist, ARIN