New Monte Carlo Based Online Planner

FRPGuy

Dryer sheet wannabe
Joined
Sep 16, 2006
Messages
20
Hello,

I created a new online retirement planner that leverages Monte Carlo Simulation as well as the latest research on safe withdrawal rates using decision rules. I think this is a very unique calculator based on the combination of features (and the fact that it's free) and I thought the early-retirement audience might be interested in it.

The calculator is written in Java and runs inside your browser window. There's documentation on the web site that describes how to use the planner as well as the technical details of what it does.

Please give it a look and let me know what you think. It's brand new and I'm eager to hear people's thoughts on it.

You can get to it at www.FlexibleRetirementPlanner.com

Thanks,

Jim
 
Interesting calculator. I don't consider myself knowledgeable enough to give good input. I like FireCalc because of the comparison to historical returns. I suspect MonteCarlo simulations may have problems since there are probably real correlations from year to year that don't get addressed. I still like to run them to get another picture of my potential future.

Two observations on yours:

1) The default parameters for flexible spending are minimum expenses to fund 75% and maximum 500%. I changed the configuration to leave the minimum at 75% and drop the maximum to 150% expecting that the lower spending in good years would improve my results. But the success rate went down. Am I misreading what the parameters are doing or is there a calculation problem?

2) The simulator accounts for tax - something many posters here ask for. That is a useful feature but many others here like to calculate the success of a straight cash flow independant of tax. Why not offer a configuration setting that would allow the user to take taxes out of the picture?
 
donheff said:
2) The simulator accounts for tax - something many posters here ask for. That is a useful feature but many others here like to calculate the success of a straight cash flow independant of tax. Why not offer a configuration setting that would allow the user to take taxes out of the picture?

Never mind. I am not sure what I was thinking. Just set the taxes to zero -- duh.
 
Thanks, Don. I have been playing with Jim's simulator, too. So far it seems more optimistic than FIRECalc, in some instances considerably so, but I've only run 5 simulations so far.

This planner is easy to use and appears safe. I'd love to have at least one of our IT dudes look into safety...guess I'm trusting it isn;t gathering my cookies or installing malware in the background. Unfortunatley my personal IT dude--DH--is off with my brother this morning.
 
Donheff,

Thanks for the input and for giving the program a try.

To answer your questions:

1) about the spending percent floor and ceilings, your understanding of the control is correct. I would not have expected the probability of succcess to go down after lowering the cap on funding as you did. One possibility is that that probability went down very slightly (<1%) as a result of run-to-run variation in the simulation. The sim does 10,000 iterations to keep the variation low, but there still is some. I'll have to look into it a little more to see if something else could be going on.

2) About taxes, if you set both the income and investment tax rate to zero, you can nullify the effects of taxes.
 
I promise there are no cookies used by the site and I'm not collecting any information other than what google analytics (for ads) my ISP collects (and I'm not even sure what that is).

As it turns out, Java (as opposed to javascript) is extremely safe from the user's perspective. This can even be a little bit annoying since I can't offer to save the inputs for later and I can't print from within the java code. (You can print what's on the screen using the browser print functionality.) There's more flexibility with something called signed applets, but I haven't dug into them yet.

Anyhow, the short answer is that I cannot access any machine resources or save any data from within the Java planner code and the html should be very clean (I made the website with MS Publisher).
 
richmondjamesp said:
As it turns out, Java (as opposed to javascript) is extremely safe from the user's perspective. This can even be a little bit annoying since I can't offer to save the inputs for later and I can't print from within the java code. (You can print what's on the screen using the browser print functionality.) There's more flexibility with something called signed applets, but I haven't dug into them yet.

Anyhow, the short answer is that I cannot access any machine resources or save any data from within the Java planner code and the html should be very clean (I made the website with MS Publisher).

Get with the latest hot coding technique, Asychronous Java Script and XML (AJAX) - faster than a speeding bullet, able to leap tall buildings at a single bound.

But seriously, I like the simulator. Wait for the west coast crew to come online to get the detailed feedback.
 
astromeria said:
Thanks, Don. I have been playing with Jim's simulator, too. So far it seems more optimistic than FIRECalc, in some instances considerably so, but I've only run 5 simulations so far.

For long time horizon retirements (57 years) it seems much more conservative . . . at a 3.7% WR FIRECalc gives you 92% versus 80% for FRP. With FRP I need to take the WR down to about 2.7% to break 90% assuming "Stable" withdrawals.

However, if I take my withdrawals down to 2.7% I can get a 100% success rate over 57 years using 100% TIPS (at 2.4% real - ignoring reinvestment risk). So is FRP saying that for very long retirements you should skip equities and build a retirement plan around inflation indexed securities? :-\
 
I started playing around more specifically trying to plug in my Federal pension, wife's social security, changing tax rates based on initial withdrawal from taxed funds, then IRAs, etc. I could not find anything to describe whether the section that allows pensions to be added includes COLA's. If not I recommend that it be modified to increase with inflation and be clearly documented to explain that. For non-COLAd pensions, annuities, etc the user could just enter an additional income line. That should not increase with inflation.

Alternatively, the user needs to be able to specify whether pensions and income are flat or increasing.
 
3 Yrs to Go said:
However, if I take my withdrawals down to 2.7% I can get a 100% success rate over 57 years using 100% TIPS (at 2.4% real - ignoring reinvestment risk).  So is FRP saying that for very long retirements you should skip equities and build a retirement plan around inflation indexed securities?  :-\
Sure, just as long as your personal rate of inflation stays within the CPI!

I wonder how many endowments and charitable trusts stay 100% in TIPS. Good luck with that.
 
interesting, easy to use ... it's not clear to me what the "show % of failures" actually shows.
 
Thanks to all for the comments...

A few thoughts.

1) donheff - All the numbers used throughout the planner are in inflation adjusted dollars (I guess I need to say that somewhere other than the help or on the web site - I'll find a place).

Also, you bring up a definite shortcoming of the program. I always adjust cashflows for inflation, so therefore the program can't handle fixed payout pensions and annuities.

I realize this is a big deal and plan on adding support for that in the not to distant future. It turns out that it's a bit of a pain to do it because I'm maintaining all my data in adjusted dollars everywhere, but it shouldn't be a huge deal.

2) Comparing to FIRECalc -

First, I'm not sure I'm worthy - FIRECalc is very cool. Anyhow, when I started coding this thing, I was primarily trying to model the research about safe withdrawal rates and decision rules that's been discussed a bunch here. I wanted a tool where I could see for myself how that worked and experiment with the decision rules.

Also, I wanted to model both the accumulation and draw-down phases of the plan in a Monte Carlo Simulation. If you project out the balance at retirement start (using a simple calculator), then start the simulation, you're only modelling half of the volatility. Other calculators model only the accumulation phase, then use a fixed rate of return for the draw-down phase. I wanted to simulate the full range of the plan capturing the effects of volatility throughout the plan.

A side effect of this is that if retirement is a while away, the "balance at retirement start" which is used to get the withdrawal percentage is a "median" value, rather than an absolute. That means it was lower in 50% of the simulation runs and higher in 50% of the runs. This makes a big difference compared to running a simulation where the retirement start balance is known with certainty. Anyhow, that might explain some of the pessimism in longer plans.

Sorry for this getting so long, more in the next post...
 
d said:
interesting, easy to use ... it's not clear to me what the "show % of failures" actually shows.

Yeah, it was an afterthought (partly for debug) but it seemed cool.

Basically, over the course of the 10,000 simulation runs, when a trial runs out of money before the end of the plan (a failure), I bump a counter associated with the year that the money ran out.

At the end, I go through the years and see (for each year) how many times that year was the year the simulation ran out of money. In order to normalize the data, the graph shows the percent of the failures that happened in each year.

One thing this showed me is that sometimes you get plans with high "infant mortality," but if you get through the early years, things generally go well, and other times, your withdrawal rate is right on the edge and the more time that goes by, the more likely the plan will fail. Also, this graph is interesting if you have changing cash flows (like retiring early then starting up social security a while later).

Just to put this in context, if you get a 95% probability of success, that means about 10,000*.05 = 500 trials ran out of money.

I hope this explanation helped...

Please keep the questions coming, this is interesting and fun!
 
Nords said:
Sure, just as long as your personal rate of inflation stays within the CPI!

Isn't that also the assumption in FIRECalc?
 
Sure, just as long as your personal rate of inflation stays within the CPI!

Isn't that also the assumption in FIRECalc?

It is also more or less meaningless in any other context. When you get data on real returns of equities for example, no one consults you to find out your personal rate on inflation.

Probably 90% of us would be better off with mostly TIPS anywhere in the vicinity of where they now are-ca. 2.5% real.

But it wouldn't be much fun, because we would have to give up the fantasies of finally getting stinking rich.

Ha
 
donheff said:
I started playing around more specifically trying to plug in my Federal pension, wife's social security, changing tax rates based on initial withdrawal from taxed funds, then IRAs, etc. I could not find anything to describe whether the section that allows pensions to be added includes COLA's. If not I recommend that it be modified to increase with inflation and be clearly documented to explain that. For non-COLAd pensions, annuities, etc the user could just enter an additional income line. That should not increase with inflation.

I posted an update to the planner tonight that adds support for incomes that don't include colas. You can specify pensions as either having colas or not having colas, and misc income as either cola or not.

If you've previously run the program and haven't closed down your browser, you should close the browser (all windows) before going to the site since the java program gets cached. On IE you might be ok closing just the window it was in, but Firefox seems to hold onto it until you quit.

Anyhow, you can tell you have the latest version if the additional cashflow table has an option for "Pension (no cola)". ( I guess I need to start tracking revisions soon).

Hopefully, the program is clearer now on colas, but I'm still open to suggestions if people think it isn't clear enough.

Jim
 
FRP Guy said:
I posted an update to the planner tonight that adds support for incomes that don't include colas. You can specify pensions as either having colas or not having colas, and misc income as either cola or not.
Nice, that makes things clear for me. This is kind of like when Dory was working on the new FireCalc -- instant updates.
 
But it wouldn't be much fun, because we would have to give up the fantasies of finally getting stinking rich.

I've pretty much given up on that one long ago! - 2% real and I'll be just fine! 8)
 
FRP-

A nice addition to the aresenal of online calculators. I think you're really on to something.

Do you think it would be helpful to add the functionality of scheduled decreases to specfiied annual spending levels in the latter years of retirement, similar to what can be done in FireCalc? Say, for example, I want to specify a spending level of $60,000 per year at the beginning of retirement, but decrease that to $50,000 at some later point.
 
Java(TM) Plug-in: Version 1.4.2_05
Using JRE version 1.4.2_05 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\ME

Proxy Configuration: No proxy





----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
java.lang.UnsupportedClassVersionError: retirementsim/RunSim (Unsupported major.minor version 49.0)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$100(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

java.lang.UnsupportedClassVersionError: retirementsim/RunSim (Unsupported major.minor version 49.0)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$100(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)
 
Tadpole,

Thanks for the Java dump. (I Think - :confused:) I knew I'd get one of those eventually.

Unfortunately (or maybe fortunately), the error is before the planner got launched by Java. It's complaining of a versioning error trying to launch the main class, but I don't exactly understand what's going on.

One thing to try would be to close all your browser windows, and relaunch the planner from the home page.

If you could tell me what type of system (OS) and browser type/version you're on that might help too. I can see from the dump that your plug-in version is 1.4.2 which should be fine (the latest is 1.5).

Also, is this your first visit or a return visit?

Finally, if you'd rather you can email me at info@flexibleRetirementPlanner.com

I do appreciate the information and am eager to get to the bottom of it.

Thanks,

Jim
 
In the Help window (and maybe elsewhere) ctrl-F should allow you to search for a phrase. And/or right-click should have a pop-up menu with maybe has Search as a menu item.

Nice tool, unfortunately, it says I cannot retire with expenses of $100K a year yet.

I guess I am confused by the "Spending Adjustment Multiplier". I read the help, but I guess I need an example.

In the Summary table output on the right-hand-column says 97% to 150% "Percent expense funded" So in the "Spending policy configuration" dialog I change "Minimum % of expenses to fund" from 50% to 97% and change nothing else, and I get a lower success rate. I change from 97% to 96% and I get a lower success rate still.

I guess I am trying to answer this question:

With our current assets, can we have annual expenses of $100K nominally, but if we needed to cut back to $X in some years, what would that $X be?

Thanks!
 
LOL! said:
In the Help window (and maybe elsewhere) ctrl-F should allow you to search for a phrase. And/or right-click should have a pop-up menu with maybe has Search as a menu item.
These are good ideas for the search. I use a canned java HTML display class to put up the help, so I'd need to do some rewrite to get that in. In the meantime, all of the help is also on the web site under the "technical details" section. You can use your browser search functions (and print, etc) there.
In the Summary table output on the right-hand-column says 97% to 150% "Percent expense funded" So in the "Spending policy configuration" dialog I change "Minimum % of expenses to fund" from 50% to 97% and change nothing else, and I get a lower success rate. I change from 97% to 96% and I get a lower success rate still.

I guess I am trying to answer this question:

With our current assets, can we have annual expenses of $100K nominally, but if we needed to cut back to $X in some years, what would that $X be?

ok, this is basically the exact question I wrote this planner to answer, so I'm hoping I can explain this well, and I'm hoping that you think the planner helps answer your question when we're done.

First, this planner isn't like most planners because it tries to be flexible and apply small spending cuts to save the portfolio when things aren't looking so good. You can turn this off by setting the spending policy to "Stable" and then the planner will just withdraw the amount you asked for every year (adjusted for inflation).

With the "Flexible" spending policy selected, the planner tries to improve portfolio survivability by implementing small incremental spending reductions when the plan isn't going so well.

In the output, the "Percent Expenses Funded" value (tracked per year) gives you an idea of how much pain (in the form of belt tightening) the plan is imposing on you in order to get the probability of success that's shown.

For example, if under a worst case scenario you'd be willing to cut back and spend only 50% of your target annual expenses (during the worst years), you could set the "Minimum percent of expenses to fund" to 50% (in the spending policy config). Reducing the spending floor like this is likely to improve the odds of the plan being successful.

Conversely, the default spending floor is 75%. If you think a 25% reduction in expenses would be too steep, you could bump that up to 80% or 85%, and see how much that lowers your probability of success. Usually the lower you set the floor, the higher your success rate will be.

One caveat on the use of a low floor is that the output shows the MEDIAN value (half of simulation runs had a higher value and half were lower). So just because the simulation doesn't show any years where you hit the spending floor, you can be nearly certain that in some simulation trials the floor was hit, and that if that was real life you would have had to cut all the way back to the floor.

Finally, if you click show "% of expenses funded" just above the graph, you can see the year-by-year effects of the spending policy overlaid on the graph.

Ok, now onto the multiplier. First, this control probably shouldn't even be there, but I liked to experiment with this so I left it in.

In each simulation trial, the program decides year-to-year whether the amount the retiree gets to spend should stay the same, go down, or go up. The decision is based on whether the portfolio is bigger or smaller than it was at retirement start, and based on whether the portfolio went up or down in value since last year.

The program implements this by adjusting the "percent of expenses to fund" variable. If things are going badly, the program doesn't cut the percent of expenses all the way back to the floor right away. Instead, it starts witholding the yearly spending COLA (cost of living adjustment), which will require the retiree to cut spending in the next year by the inflation rate.

The multiplier magnifies this effect so that the spending gets cut (or increased) by multiples of inflation rate instead of just by the inflation rate. The result is that a multiplier greater than 1 speeds up the adjustment process and usually causes the floor of simulation to be hit more quickly.

I know this was long winded, but I hope it clarifies things a little bit. Please keep asking questions if it's still foggy.

Jim
 
ldc said:
Do you think it would be helpful to add the functionality of scheduled decreases to specfiied annual spending levels in the latter years of retirement, similar to what can be done in FireCalc? Say, for example, I want to specify a spending level of $60,000 per year at the beginning of retirement, but decrease that to $50,000 at some later point.

If you don't mind entering it manually, you can do this already. Just zero out the "Annual Retirement Spending" on the main input section, and go to the "Additional Inputs" tab, and enter your retirement spending there. Instead of entering just one value for the whole retirement period, break it into 2 or three values, entering each one as a separate "Other Expense" cash flow with a given start and end year.

You can take a look at the attached screenshot for an example.
 

Attachments

  • adjustingExpenses.JPG
    adjustingExpenses.JPG
    48.7 KB · Views: 82
  • adjustingExpenses.JPG_thumb
    8 KB · Views: 1
For example, if under a worst case scenario you'd be willing to cut back and spend only 50% of your target annual expenses (during the worst years),

OK, maybe a dumb question but...

If I take the results of this panner and follow it as my retirement plan, how will I know when I am in a "worst case scenario" (according to the planner) and should cut my spending back to 50%?
 
Back
Top Bottom