Growth of money by Morgan Housel on Unsplash

Growth of money by Morgan Housel on Unsplash

If something is growing at a rate of 5%5\% per year, how many years will it take until it doubles? Common wisdom suggests it’s approximately 70/5=1470 / 5 = 14, but why? Or you can even divide 7272 by the rate if it makes it easier to divide (e.g., for 6%6\% or 8%8\% or 9%9\%) to get the number of periods it would take for it to double. But … where are these magic numbers 7070 and 7272 coming from and how does it work that you can just divide them by the rate to get the doubling time?

Formalization

What we’re actually trying to calculate is nn where 1.05n=21.05^n = 2. In many cases, nn is the number of years (since growth rates, e.g., for savings accounts or CDs are quoted annually), but more generally, it’s the number of periods where the growth is known to be a particular (constant) rate, and is assumed to be compounding.

If we have something growing at a rate rr where 5%5\% would be expressed as 0.050.05, we have:

(1+r)n=2ln((1+r)n)=ln2nln(1+r)=ln2n=ln2ln(1+r) \begin{align*} (1 + r)^n & = 2 \\ \ln \left( (1+r)^n \right) & = \ln 2 \\ n \ln (1 + r) & = \ln 2 \\ n & = \frac{\ln 2}{\ln (1 + r)} \\ \end{align*}

In the case of r=0.05r = 0.05, we have n=ln2ln1.0514.21n = \dfrac{\ln 2}{\ln 1.05} \approx 14.21 so our approximation above (70/5=14)(70/5=14) is not too bad! Still, where does the 7070 come from and why does it work?

Approximation

First, let’s note that f(x)=ln(1+x)f(x) = \ln (1 + x) can be approximated by f(x)=xf(x) = x in the small region where we typically deal with percents, which are typically up to 10%10\%, and still reasonably approximates for a fair bit beyond that.

Here’s a comparison between the two functions; you can see they’re quite close for smaller values, and diverges slightly beyond that1:

Plot of f(x) = ln(1 + x) and its approximation f(x) = xy = ln(1 + x)y = x0.00.10.20.30.40.50.00.10.20.30.40.5
xy = ln(1 + x)y = x
000
0.010.010.01
0.020.020.02
0.030.030.03
0.040.0390.04
0.050.0490.05
0.060.0580.06
0.070.0680.07
0.080.0770.08
0.090.0860.09
0.10.0950.1
0.110.1040.11
0.120.1130.12
0.130.1220.13
0.140.1310.14
0.150.140.15
0.160.1480.16
0.170.1570.17
0.180.1660.18
0.190.1740.19
0.20.1820.2
0.210.1910.21
0.220.1990.22
0.230.2070.23
0.240.2150.24
0.250.2230.25
0.260.2310.26
0.270.2390.27
0.280.2470.28
0.290.2550.29
0.30.2620.3
0.310.270.31
0.320.2780.32
0.330.2850.33
0.340.2930.34
0.350.30.35
0.360.3070.36
0.370.3150.37
0.380.3220.38
0.390.3290.39
0.40.3360.4
0.410.3440.41
0.420.3510.42
0.430.3580.43
0.440.3650.44
0.450.3720.45
0.460.3780.46
0.470.3850.47
0.480.3920.48
0.490.3990.49
0.50.4050.5

Thus, we can simplify our approximation even further:

n=ln2ln(1+r)ln2r0.6931r69.31100r70100r n = \dfrac{\ln 2}{\ln (1 + r)} \approx \dfrac{\ln 2}{r} \approx \dfrac{0.6931 \ldots}{r} \approx \dfrac{69.31 \ldots}{100 r} \approx \dfrac{70}{100 r}

And this is how you can divide 7070 by the percentage rate (e.g., 55 of 5%5\%) instead of thinking about the decimal rate as 0.050.05 or the rate multiplier 1.05!1.05!

So how accurate is using 70100r\frac{70}{100 r} or even 72100r\frac{72}{100 r} in practice?

Plot of (ln 2) / (ln 1 + x/100) and several approximationsy = (ln 2) / ln(1+ x/100)y = 69/xy = 70/xy = 72/x5101520020406080
xy = (ln 2) / ln(1 + x/100)y = 69/xy = 70/xy = 72/x
169.66169.37072
1.163.3596363.63665.455
1.258.10857.7558.33360
1.353.66553.30853.84655.385
1.449.85649.55051.429
1.546.55646.246.66748
1.643.66743.31243.7545
1.741.11940.76541.17642.353
1.838.85438.538.88940
1.936.82736.47436.84237.895
235.00334.653536
2.133.3523333.33334.286
2.231.85231.531.81832.727
2.330.48230.1330.43531.304
2.429.22628.87529.16730
2.528.07127.722828.8
2.627.00526.65426.92327.692
2.726.01725.66725.92626.667
2.825.124.752525.714
2.924.24723.89724.13824.828
323.4523.123.33324
3.122.70422.35522.58123.226
3.222.00621.65621.87522.5
3.321.3492121.21221.818
3.420.73120.38220.58821.176
3.520.14919.82020.571
3.619.59919.2519.44420
3.719.07818.7318.91919.459
3.818.58518.23718.42118.947
3.918.11717.76917.94918.462
417.67317.32517.518
4.117.2516.90217.07317.561
4.216.84816.516.66717.143
4.316.46416.11616.27916.744
4.416.09715.7515.90916.364
4.515.74715.415.55616
4.615.41215.06515.21715.652
4.715.09214.74514.89415.319
4.814.78414.43814.58315
4.914.4914.14314.28614.694
514.20713.861414.4
5.113.93513.58813.72514.118
5.213.67313.32713.46213.846
5.313.42213.07513.20813.585
5.413.1812.83312.96313.333
5.512.94612.612.72713.091
5.612.72112.37512.512.857
5.712.50412.15812.28112.632
5.812.29411.94812.06912.414
5.912.09211.74611.86412.203
611.89611.5511.66712
6.111.70611.36111.47511.803
6.211.52311.17711.2911.613
6.311.3451111.11111.429
6.411.17310.82810.93811.25
6.511.00710.66210.76911.077
6.610.84510.510.60610.909
6.710.68810.34310.44810.746
6.810.53610.19110.29410.588
6.910.38810.04310.14510.435
710.2459.91010.286
7.110.1059.7619.85910.141
7.29.979.6259.72210
7.39.8389.4939.5899.863
7.49.7099.3659.4599.73
7.59.5849.249.3339.6
7.69.4639.1189.2119.474
7.79.34499.0919.351
7.89.2298.8858.9749.231
7.99.1168.7728.8619.114
89.0068.6638.759
8.18.8998.5568.6428.889
8.28.7958.4518.5378.78
8.38.6938.3498.4348.675
8.48.5948.258.3338.571
8.58.4978.1538.2358.471
8.68.4028.0588.148.372
8.78.3097.9668.0468.276
8.88.2187.8757.9558.182
8.98.137.7877.8658.09
98.0437.77.7788
9.17.9597.6157.6927.912
9.27.8767.5337.6097.826
9.37.7957.4527.5277.742
9.47.7157.3727.4477.66
9.57.6387.2957.3687.579
9.67.5627.2197.2927.5
9.77.4877.1447.2167.423
9.87.4147.0717.1437.347
9.97.34377.0717.273
107.2736.9377.2
10.17.2046.8616.9317.129
10.27.1376.7946.8637.059
10.37.076.7286.7966.99
10.47.0066.6636.7316.923
10.56.9426.66.6676.857
10.66.886.5386.6046.792
10.76.8196.4776.5426.729
10.86.7596.4176.4816.667
10.96.76.3586.4226.606
116.6426.36.3646.545
11.16.5856.2436.3066.486
11.26.5296.1886.256.429
11.36.4746.1336.1956.372
11.46.4216.0796.146.316
11.56.3686.0266.0876.261
11.66.3165.9746.0346.207
11.76.2655.9235.9836.154
11.86.2145.8735.9326.102
11.96.1655.8245.8826.05
126.1165.7755.8336
12.16.0685.7275.7855.95
12.26.0215.685.7385.902
12.35.9755.6345.6915.854
12.45.935.5895.6455.806
12.55.8855.5445.65.76
12.65.8415.55.5565.714
12.75.7985.4575.5125.669
12.85.7555.4145.4695.625
12.95.7135.3725.4265.581
135.6715.3315.3855.538
13.15.6315.295.3445.496
13.25.5915.255.3035.455
13.35.5515.2115.2635.414
13.45.5125.1725.2245.373
13.55.4745.1335.1855.333
13.65.4365.0965.1475.294
13.75.3995.0585.1095.255
13.85.3625.0225.0725.217
13.95.3264.9865.0365.18
145.294.9555.143
14.15.2554.9154.9655.106
14.25.224.884.935.07
14.35.1864.8464.8955.035
14.45.1524.8134.8615
14.55.1194.7794.8284.966
14.65.0864.7474.7954.932
14.75.0544.7144.7624.898
14.85.0224.6824.734.865
14.94.9914.6514.6984.832
154.9594.624.6674.8
15.14.9294.5894.6364.768
15.24.8994.5594.6054.737
15.34.8694.5294.5754.706
15.44.8394.54.5454.675
15.54.814.4714.5164.645
15.64.7814.4424.4874.615
15.74.7534.4144.4594.586
15.84.7254.3864.434.557
15.94.6974.3584.4034.528
164.674.3314.3754.5
16.14.6434.3044.3484.472
16.24.6174.2784.3214.444
16.34.594.2524.2944.417
16.44.5644.2264.2684.39
16.54.5394.24.2424.364
16.64.5134.1754.2174.337
16.74.4884.154.1924.311
16.84.4634.1254.1674.286
16.94.4394.1014.1424.26
174.4154.0764.1184.235
17.14.3914.0534.0944.211
17.24.3674.0294.074.186
17.34.3444.0064.0464.162
17.44.3213.9834.0234.138
17.54.2983.9644.114
17.64.2763.9383.9774.091
17.74.2533.9153.9554.068
17.84.2313.8933.9334.045
17.94.2093.8723.9114.022
184.1883.853.8894
18.14.1673.8293.8673.978
18.24.1453.8083.8463.956
18.34.1253.7873.8253.934
18.44.1043.7663.8043.913
18.54.0843.7463.7843.892
18.64.0633.7263.7633.871
18.74.0433.7063.7433.85
18.84.0243.6863.7233.83
18.94.0043.6673.7043.81
193.9853.6473.6843.789
19.13.9663.6283.6653.77
19.23.9473.6093.6463.75
19.33.9283.5913.6273.731
19.43.9093.5723.6083.711
19.53.8913.5543.593.692
19.63.8733.5363.5713.673
19.73.8553.5183.5533.655
19.83.8373.53.5353.636
19.93.8193.4823.5183.618
203.8023.4653.53.6
20.13.7843.4483.4833.582
20.23.7673.4313.4653.564
20.33.753.4143.4483.547
20.43.7343.3973.4313.529
20.53.7173.383.4153.512
20.63.7013.3643.3983.495
20.73.6843.3483.3823.478
20.83.6683.3323.3653.462
20.93.6523.3163.3493.445

As you can see, the various estimates are pretty close to the exact value.

Table of values

Below are the comparisons between the real, correct value and the various approximations, highlighting the one that is closest (in terms of absolute difference) from the correct value. As you can see, each of the approximations is best in a particular range of percentage values.

rate
(xx%)
ln2ln(1+x100)\dfrac{\ln 2}{\ln \left( 1 + \dfrac{x}{100} \right)}69x\dfrac{69}{x}abs.
diff
70x\dfrac{70}{x}abs.
diff
72x\dfrac{72}{x}abs.
diff
0.1%693.496903.497006.5172026.51
0.2%346.923451.923503.0836013.08
0.3%231.402301.40233.331.942408.60
0.4%173.63172.501.131751.371806.37
0.5%138.981380.981401.021445.02
1%69.66690.66700.34722.34
2%35.0034.500.50350.00361.00
3%23.45230.4523.330.12240.55
4%17.6717.250.4217.500.17180.33
5%14.2113.800.41140.2114.400.19
6%11.9011.500.4011.670.23120.10
7%10.249.860.39100.2410.290.04
8%9.018.630.388.750.2690.01
9%8.047.670.387.780.2780.04
10%7.276.900.3770.277.200.07
20%3.803.450.353.500.303.600.20
30%2.642.300.342.330.312.400.24
40%2.061.730.341.750.311.800.26
50%1.711.380.331.400.311.440.27

See also

For more detailed analysis, graphs, and charts, see these Wikipedia articles:


  1. The graphs on this page are implemented using Google Charts; I provided the data computed via JavaScript on the page before calling the API. To get the lines to curve, I used the curveType: 'function' option. ↩︎