When I quit my job in 2011 I wrote a program to simulate retirement and give me a feel for the odds that we would be able to survive on the money we’d saved. The program used a Monte Carlo approach to simulate thousands of possible market scenarios and had logic for how we would spend money, collect social security, pay taxes, etc. At the time the program said that we had an 85% chance of outliving our money. That was good enough to quit; knowing that we could go back to work if we had to.
Since writing that program I’ve come back to it every few years to put in more recent data and make improvements. Once my spouse and I got married, I took out a bunch of code that split expenses and taxes between the two of us.
A few months ago I decided to give the program a full makeover and add features to make it useful to more people. The original program was very specific to our situation and didn’t handle account types, expenses, and investments that we didn’t have. Along with adding new features, I needed to make the program much more user friendly and error tolerant.
I’ve completed this project, and the program (and source) are available for download. It still doesn’t handle nearly as many situations as I’d like, and it has very little support for people who are still working, but it is good enough to release.