My last article “Should I like to join China’s retirement pension (social insurance) programme?” explains how to calculate the cash-flow of retirement pension (how much you pay, how much you get). This article explains how to calculate its the return of investment. It is not an easy calculation: calculating the return of investment is always much more difficult than calculating its cashflow. Use the program I wrote for this calculate you can save the 6 hours I spent on calculating it myself.
How to calculate
Parameters
- rate of salary growth
- Gansu province’s average salary growth rate is 12.2 from 1996 to 2013. You may calculate it from your own province. Although this salary data is fake, the growth rate of it is rather likely true. Even so, the growth is unlikely to maintain at this rate. Take a guess, but you have to be really confident to make it larger than 12%. Keep in mind that local government has
the incentive to set this rate to stagnation when most people are receiving retirement pension instead of paying for it – and the condition is predicated by one-child policy population structure. - rate of inflation
- Official rate is 2.2% between 2000-2008. Common-sense guesses are between 5% to 15%. Inflation rate is the most influential factor for Personal Retirement Account, which is paid by employees from 8% of their salary. It generates no interest, and is designed to give back the same amount of money that you invest with deteriorated purchase power.
- Years to invest
- The longer you invest, the less the return. See above entry for the reason.
- Retirement age
- Currently, 60 for men, 55 for women. The Ministry of Human Resource and Social Security intends to change it in 15 to 20 years, as reported in 2012. 65 for both men and wemon is a rather likely target. This number also impacts the fragment of personal pension fund are returned to you per month: 1/170 if you retire by the age 55 and 1/139 if you retire by the age of 60.
- Yeasr to receive pension
- The longer you live, the more the return. The employee-paid part returns to you in fixed annunity, which gradualy shrink in value due to inflation. Employer-paid part of your retirement pension is pagged to average salary, thus neglecting inflation – if the average salary statstics are true, which it never was.
- your salary compared to the official average, a percentage
- The lower this is, the higher the return. However, if you earn not as much as 60% of the official average, you are required to pay the same amount for social insurance as those who do. Legal requirements also do not ask you to pay more than those who earn 300% of the official average, unless you are an expat. Since the official average is faked, most people’s real salary falls below 60% of it.
- the average salary of where your HUKOU is compare to where you work, a percentage
- If you work where your HUKOU is, this is 100%. If you left your hometown to pursuit a better life in bigger cities, your retirement pension is pegged to your homeotwn salary averages, and you can find the difference by checking the previous years’ salary average from the “Bureau of Human Resource and Social Security” of both places.
Program
The calculation is done with an old calculation language: BC programming language. If you use Linux or Mac OS, or practically anything on your desktop that is not Windows, you can run this program without additional software.
Copy and save the code into pension.bc
:
define roi(e, p, hukou_factor, gap_years, r1, r2, n1, n2) { # employer-paid part: roi1 = (0.5 + 0.5/p) * (n2/0.2) / 100 roi1 = roi1 * hukou_factor # employee-paid part investment = 0 for (i=0; i<n1; i++) { investment += e(l(1+r1)*i) * e(l(1+r2)*(n1-i))} investment = investment * e(l(1+r2)*gap_years) cf = (e(l(1+r1)*n1) - 1) / r1 * (1/(e/12)) proceeds = (e(l(1+r2)*n2) - 1) / (r2 * e(l(1+r2)*n2)) * cf roi2 = proceeds / investment # weighted average return (roi1 * 0.2 + roi2 * 0.08) / (0.2 + 0.08) } define roi_table(e, p, hukou_factor, gap, r1, r2, min, max) { print "years" for (n2=min; n<<=max; n2+=5) { print "t", n2 } for (n1=15; n1<=35; n1++) { print "n", n1 for (n2=min; n2<=max; n2+=5) { roi = roi(e, p, hukou_factor, gap, r1, r2, n1, n2) oldscale = scale scale = 4 print "t", roi/1 scale = oldscale } } }
Result
If you do not know how to use command-line, Google for it. The knowledge helps in many other occassions, and I have too short time to invent additional methods for readers without that knowledge – but if you did that work, write me, I’ll be happey to replace my method with it.
Let’s calculate an average worker who earns 60% of the city’s faked average salary, assuming 10% of healthy salary growth and 5% of moderate inflation (in the sense of China), and that he/she works where his/her HUKOU is, and that there is no gap year between working years and retirement.
The relationship between the years to invest (from 15 years to 35 years) and the years to live after retirement is as following:
For men, the parameter is roi_table(139, 0.6, 1, 0, 0.1, 0.05, 0, 40)
$ bc -lq pension.bc roi_table(139, 0.6, 1, 0, 0.1, 0.05, 0, 40) years 0 5 10 15 20 25 30 35 40 15 0 .3150 .6135 .8988 1.1740 1.4411 1.7019 1.9578 2.2099 16 0 .3138 .6113 .8959 1.1705 1.4372 1.6976 1.9533 2.2051 17 0 .3127 .6093 .8932 1.1672 1.4334 1.6935 1.9489 2.2005 18 0 .3116 .6073 .8905 1.1640 1.4298 1.6896 1.9447 2.1962 19 0 .3105 .6054 .8880 1.1610 1.4264 1.6859 1.9408 2.1920 20 0 .3095 .6036 .8856 1.1581 1.4231 1.6824 1.9370 2.1880 21 0 .3086 .6019 .8833 1.1554 1.4200 1.6790 1.9334 2.1843 22 0 .3077 .6003 .8812 1.1527 1.4171 1.6757 1.9299 2.1807 23 0 .3068 .5988 .8791 1.1503 1.4143 1.6727 1.9267 2.1772 24 0 .3060 .5973 .8771 1.1479 1.4116 1.6697 1.9235 2.1740 25 0 .3052 .5959 .8752 1.1456 1.4090 1.6669 1.9206 2.1708 26 0 .3044 .5946 .8734 1.1434 1.4066 1.6643 1.9177 2.1679 27 0 .3037 .5933 .8717 1.1414 1.4042 1.6617 1.9150 2.1650 28 0 .3030 .5921 .8701 1.1394 1.4020 1.6593 1.9124 2.1623 29 0 .3024 .5909 .8685 1.1375 1.3999 1.6570 1.9100 2.1597 30 0 .3018 .5898 .8670 1.1357 1.3979 1.6548 1.9076 2.1573 31 0 .3012 .5887 .8656 1.1340 1.3959 1.6527 1.9054 2.1549 32 0 .3006 .5877 .8642 1.1324 1.3941 1.6507 1.9032 2.1527 33 0 .3001 .5868 .8629 1.1309 1.3923 1.6487 1.9012 2.1505 34 0 .2996 .5858 .8617 1.1294 1.3907 1.6469 1.8993 2.1485 35 0 .2991 .5850 .8605 1.1280 1.3891 1.6452 1.8974 2.14660
For women, the parameter is roi_table(170, 0.6, 1, 0, 0.1, 0.05, 5, 45)
$ bc -lq roi_table(170, 0.6, 1, 0, 0.1, 0.05, 5, 45) years 5 10 15 20 25 30 35 40 45 15 .3010 .5884 .8652 1.1336 1.3954 1.6521 1.9047 2.1542 2.4013 16 .3000 .5867 .8628 1.1307 1.3922 1.6486 1.9010 2.1503 2.3972 17 .2991 .5850 .8605 1.1280 1.3891 1.6452 1.8974 2.1466 2.3933 18 .2982 .5834 .8584 1.1254 1.3862 1.6420 1.8940 2.1430 2.3897 19 .2973 .5819 .8563 1.1229 1.3834 1.6390 1.8908 2.1396 2.3861 20 .2965 .5804 .8544 1.1206 1.3807 1.6361 1.8877 2.1364 2.3828 21 .2957 .5790 .8525 1.1183 1.3782 1.6333 1.8847 2.1333 2.3796 22 .2950 .5777 .8507 1.1162 1.3758 1.6307 1.8819 2.1303 2.3765 23 .2943 .5764 .8490 1.1142 1.3734 1.6281 1.8792 2.1275 2.3736 24 .2936 .5752 .8474 1.1122 1.3712 1.6257 1.8767 2.1249 2.3708 25 .2929 .5741 .8459 1.1104 1.3691 1.6235 1.8743 2.1223 2.3682 26 .2923 .5730 .8444 1.1086 1.3671 1.6213 1.8719 2.1199 2.3657 27 .2917 .5719 .8430 1.1069 1.3652 1.6192 1.8697 2.1175 2.3633 28 .2912 .5709 .8416 1.1053 1.3634 1.6172 1.8676 2.1153 2.3610 29 .2907 .5700 .8404 1.1038 1.3617 1.6153 1.8656 2.1132 2.3588 30 .2901 .5691 .8391 1.1023 1.3600 1.6135 1.8637 2.1112 2.3567 31 .2897 .5682 .8380 1.1009 1.3585 1.6118 1.8618 2.1093 2.3547 32 .2892 .5674 .8369 1.0996 1.3570 1.6102 1.8601 2.1075 2.3528 33 .2888 .5666 .8358 1.0983 1.3555 1.6086 1.8584 2.1057 2.3510 34 .2883 .5658 .8348 1.0971 1.3542 1.6071 1.8568 2.1040 2.3493 35 .2879 .5651 .8339 1.0959 1.3528 1.6057 1.8553 2.1025 2.34760
From these two calculations, it seems men are harder to be. Both man and women recovered their invesment 20 years after retirement, but by that time men are 5 years older than women, for they retire at the age of 60. Life expetancy now in China is 70 years, most men will recover less than 60% of their investment before they die, and women recovers 85% of their investments. This projection is based on our assumed parameters of course. The reality is usually worse, as I explained in my previous article.
Let’s look at a more complicated life-like case with many future predictions: a woman who forgo her work for a household life of 18 years for her son – in the interim, her “employee-paid” personal pension fund devalue with inflation but “employer-paid” basic pension did not. She register retirement at the age of 60 due to legal minimal retire age of women shifting from 55 to 60. Her Hukou is in a smaller city whose average salary is 79% of her job city. Her personal retirement fund returns to her still at 1/170 rate monthly, unaffected by her late retirement, due to growth in life-expectancy and poorly supplied pension fund pool. The government, with surprsing honesty, did not fake a very low average salary to cope with a future society of more taking hands than giving hands, so the salary growth had been 10% constantly, but inflation too had been on an unforgiving rate of 5%. (The government is so honest, because I am not able to calculate dishonesty into formulars.) The parameters and the calculation result will be:
$ bc -lq pension.bc roi_table(170, 0.6, 0.79, 18, 0.1, 0.05, 5, 45) years 5 10 15 20 25 30 35 40 45 15 .2142 .4228 .6270 .8276 1.0256 1.2214 1.4156 1.6084 1.8002 16 .2138 .4221 .6260 .8265 1.0243 1.2199 1.4140 1.6068 1.7985 17 .2134 .4214 .6250 .8253 1.0230 1.2186 1.4125 1.6052 1.7969 18 .2130 .4207 .6241 .8242 1.0218 1.2172 1.4111 1.6037 1.7954 19 .2127 .4201 .6233 .8232 1.0206 1.2160 1.4098 1.6023 1.7939 20 .2123 .4195 .6225 .8222 1.0195 1.2148 1.4085 1.6010 1.7925
Observe, that she will recover her investments if she lives to 85 years old. The longer she worked before her 18 year gap, the less she could recover from her investment.
How do you calculate that?
Two parts, the part that employer pays, and the part that employee pays, are calculated differently.
The part that employer pays
Let n1 be the number of years to invest, n2 be the number of years to receive, we have:
Investment is:
p₁ × average_salary × 20% × n1
Return is:
p₂ × average_salary × n2 (where p₂ = (p₁+100%)∕2 × n1%)
Return of Investment is:
ROI = (p₂ × average_salary × n2) / (p₁ × average_salary × n1 × 20%)
If average salary is the same – for those whose HUKOU is where he works, it means the general growth of per-worker purchase power is balanced by society’s aging, and the purchase power of average salary remains the same – the calculation can be simplified to:
ROI% = (p₂ × n2) / (p₁ × n1 × 20%)
ROI% = (0.5 + 0.5/p₁) × (n2/20%)
So ROI is a variable of your salary in relationship to the faked average salary, and the number of years you are to live after retirement. This table relates both variables. The columns represent retirement years. If you are a man, you retire by the age of 60, and you are 105 years old when you have retired for 45 years. The first column represents your salary in relationship with the city’s average.
# Man 65 70 75 80 85 90 95 100 105 # Woman 60 65 70 75 80 85 90 95 100 # n2 5 10 15 20 25 30 35 40 45 $ bc -q for (p=0.6; p<=3; p+=0.6) { print "n", p*100, "%"; for (n=5; n<=45; n+=5) { print "t", (0.5 + 0.5/p) * n / 0.2} } 60.0% 33.25 66.50 99.75 133.00 166.25 199.50 232.75 266.00 299.25 120.0% 22.75 45.50 68.25 91.00 113.75 136.50 159.25 182.00 204.75 180.0% 19.25 38.50 57.75 77.00 96.25 115.50 134.75 154.00 173.25 240.0% 17.50 35.00 52.50 70.00 87.50 105.00 122.50 140.00 157.50 300.0% 16.50 33.00 49.50 66.00 82.50 99.00 115.50 132.00 148.50
Since n1 does not appear in the calculation, how many years you have invested have no influnce of your investment return. This is by design. You musth have wondered why the monthly retirement payment is a percentage whose value equal to the working years – it is designed so, that the return of investment is independent of the number of years.
The part employee pays
Unlike the part employer pays, the part employee pays always return at a lose. It is also by design.
This part is harder to calculate, because it is an annunity. When you pay or receive the same amount of money every year, for a number of years, it is called an annunity.
The previous employer-paid part is a special case of annunity – because the payment is not a fixed amount, but a fixed percentage to average salary which neglects inflation. A real annunity is harder to calculate, because we need to introduce inflation variable.
Let CF be the Cash Flow, r be the rate of inflation, n be the number of years. The formulars for Present Value of Annunity and Future Value of Annunity are:
PVAₙ = CF × [(1+r)ⁿ-1] / r(1+r)ⁿ
FVAₙ = CF × [(1+r)ⁿ-1] / r
Let n1 be the years to invest, n2 be the years to receive return, p be the percentage your salary compares to the average; use rₛ for the rate of raise of salay. The first year’s average salary is S₁. Then
First year’s investment is:
S₁ × p × 8%
Its value by the time of retirement is:
S₁ × p × 8% × (1+r)ⁿ¹
The second year’s investment is:
S₁ × p × 8% × (1+rₛ)
Its value by the time of retirement is:
S₁ × p × 8% × (1+rₛ) × (1+r)ⁿ¹⁻¹
FVAₙ₁ = [(1+r)ⁿ¹-1] / r × CF₁
The value of your investment at its end (the time you retire) cannot be calculated with FVA formular, because each year’s investment is a different amount. For the simplicity of calculation, let’s assume rₛ equals to r, that is, salary rases with inflation at the same pace. Then the value of your personal retirment fund investment by the time you retire, is:
Investment = S₁ × p × 8% × (1+r)ⁿ¹ × n1
Return is harder to calculate. The official formular is the sum of all your investment divided by the expected month you will receive it: 195 months, 170 months, 139 months if your retirement age is 50, 55 and 60, respectively. Let’s use e to represent expected months to receive investments. Let also use rₛ for the rate of raise of salay.
CF₂ = S₁ × p × 8% × [(1+rₛ)ⁿ¹-1] / rₛ × [1/(e/12)]
PVAₙ₂ = [(1+r)ⁿ²-1] / r(1+r)ⁿ² × CF₂
Observe, and you will find the first year’s average salary, your salary compare to the average, and the investment percentage (8%) are all illrevalent to the ROI.
Now let’s program it in BC:
$ bc -lq define roi(e, n1, n2, r1, r2) { investment = 0 for (i=0; i<n1; i++) { investment += e(l(1+r1)*i) * e(l(1+r2)*(n1-i))} cf = (e(l(1+r1)*n1) - 1) / r1 * (1/(e/12)) proceeds = (e(l(1+r2)*n2) - 1) / (r2 * e(l(1+r2)*n2)) * cf return proceeds / investment }
Let’s observe results about inflation:
# assume high rate of 15% roi(170, 15, 14.167, 0.15, 0.15) .15811871916943979796 # assume low rate of 3% roi(170, 15, 14.167, 0.03, 0.03) .640692844 # conclusion: high rates (both salary raise and inflation), poor return # assume moderate inflation of 5% and and salary raise of 10% roi(170, 15, 14.167, 0.1, 0.1) .265166525 # compare to roi(170, 15, 14.167, 0.05, 0.05) .487507478 roi(170, 15, 14.167, 0.1, 0.05) .507983514 # conclusion: inflation rate, not salary raise rate, decides return # study the years to invest: roi(170, 15, 14.167, 0.1, 0.05) .507983514 roi(170, 25, 14.167, 0.1, 0.05) .442967070 roi(170, 35, 14.167, 0.1, 0.05) .402560455 # the longer you invest, the poor the return. # study the impact of longevity: roi(170, 15, 10, 0.1, 0.05) .393013377 roi(170, 15, 20, 0.1, 0.05) .634289502 roi(170, 15, 30, 0.1, 0.05) .782412109 roi(170, 15, 40, 0.1, 0.05) .873346540 # conclusion: the longer you live after retirement, the less the lose # if you live 40 years, you recover 87.3%. It's a small lose of 12.7%.