#!/usr/bin/python3 ## NOTE: at present we clear 170 after tax between us # the amounts below are 'after tax' equivalent, but also just damien # no consideration of lump sums in my or Mandy's super (adds ~500k lump sum) ### Quote: ". So ... 60-year old male will need a lump sum of almost $500,000 to provide an annual income in retirement of $42,000 for 20 years." ### Quote: "apply the 60% rule for a comfortable retirement saving" # THEREFORE BEST GUESS... add $40k to the number below, AND it needs to be 60% of 170 => GOAL is 102k # SO, can retire as soon as I can get my hands on my money and just make sure we can 'manage' for 4 years for Mandys ## FINALLY, govt. says I can't get my super until I'm 60 # but, we have 100k in ME B, 100k in shares, 150k in citi & if redundant, maybe another 100k? -- thats 4.5 years, call it 3 with the new car, and being not too crazy so, maybe 57... one more 5 year contract three_ben_sal=195999.36 ben_serv_b4_2015=18.7096 pension_factor={} avg_serv_fraction=0.999901 avg_cont_factor=1 five_ben_sal=174156.79 ben_serv_after_2015=8.8603 ben_serv_b4_2000=3.71 avg_serv_frac_at_2003=0.999646 lump_sum_fac={} four_pct=0.04 MAX_AGE=66 # unisuper defined "globals" # pension factor is 1.3 at age 55 and climbs by 0.04 each year to 65+ for age in range (55, MAX_AGE): pension_factor[age]=(1.3+(age-55)*0.04)/100 # at age 52 its 20.4 with a .2 each year to 65 base_lump_sum=20.4 for age in range (52, MAX_AGE): lump_sum_fac[age]=base_lump_sum+(age-52)*.2 # cant retire here, so update 5bs, 3bs, ben_serv, etc. up to 55 as best I can guess # ben_serv_after just increases by 1 each year, so add 3 from 52 to 55 ben_serv_after_2015 += 3 # within 2 years, then 5bs will be what my 3bs is now (at least) five_ben_sal = three_ben_sal # we get a 4% increase each year, over the next 2 years?, so add them when I confirm three_ben_sal *= 1.04 three_ben_sal *= 1.04 #three_ben_sal *= 1.04 # this is a rough-ass guess (its 4% / 5 more each year) # need to make this smarter, e.g. # year 0 - five_bs # year 1 - five_bs / 5 * 1.04 + five_bs*4/5 # year 2 - (five_bs / 5 * 1.04 + five_bs*4/5)/5 * 1.04 + 4/5 of above # etc. five_ben_sal * 1.008 #five_ben_sal * 1.008 #five_ben_sal * 1.008 for age in range (55, MAX_AGE): line1=three_ben_sal*ben_serv_b4_2015*pension_factor[age]*avg_serv_fraction*avg_cont_factor line2=five_ben_sal*ben_serv_after_2015*pension_factor[age]*avg_serv_fraction*avg_cont_factor line3=three_ben_sal*ben_serv_b4_2000*four_pct*avg_serv_frac_at_2003*(pension_factor[age]/lump_sum_fac[age]) print(f"Pension amount at {age} = {line1+line2+line3}" )