Monte Carlo & Historical Analysis

Before we begin this discussion, keep in mind that this type of analysis is a huge topic with an extensive body of literature (both popular and academic). Our goal is to cover the basics to help you understand how OnTrajectory can be used to shed light on and give you confidence in your financial future.

The following topics will be covered in this Guide:

  1. “All models are wrong, but some are useful.”
  2. Basic vs. Advanced Analysis
  3. Portfolio Mix
  4. Factors Affecting Growth
  5. Running Monte Carlo Analysis
  6. Running Historical Analysis
  7. Viewing Results
  8. Calculate Success % / Chance of Success

1. “All models are wrong, but some are useful.”
— George Box

This quote should ALWAYS be kept in mind. We create models and run analysis to provide the outline of a picture, to validate broad assumptions — or to alert us of potential danger. No matter how painstakingly detailed our assumptions, there are no guarantees the results will be 100% accurate.

To give you the most complete view we can, OnTrajectory provides three different strategies for modeling growth in your investments.

1. Average Growth — This is the default technique employed when setting up and configuring your Trajectory. It is dictated by the % Growth field for each account. The advantage of this technique is that you can fine-tune your Trajectory and easily visualize the result of small changes over long periods of time.

2. Monte Carlo — This type of analysis provides the likelihood that your Trajectory will be defined as 'successful' (i.e. you didn't run out of cash). It is based either on randomized historical data or data parameters that you define, which then replaces % Growth and Inflation. The range of data is set through 'Advanced Analysis', as shown below:

MC Options

Unlike Average Growth, which produces a single Trajectory line, Monte Carlo produces a range of results because multiple randomizations ('Total Runs') are calculated for every year of your Trajectory. See the section Running Monte Carlo Analysis below for more information.

3. Historical — This type of analysis uses only historical data. Unlike Monte Carlo, however, data is not chosen randomly, but rather sequentially. In other words, for Year 1 data from 1928 is used, for Year 2 data from 1929 is used, for Year 3 data from 1930 is used, etc. In addition, a sequential run is created for every year in the range. For example, a sequence starting Year 1 on 1928, then a sequence starting Year 1 on 1929, etc.

The year range is set through 'Advanced Analysis', as shown below:

Historical Options

Since we calculate results for every available year in the year range, we can produce a success percentage similar to that for Monte Carlo analysis. See the section Running Historical Analysis below for more information.

2. Basic vs. Advanced Analysis

We provide two "modes" for viewing analysis results — Basic or Advanced. Both are available from the "Analyze and View" menu located in the top right portion of the screen. The menu is displayed below:

Views Menu

In Basic Analysis Mode selecting either "Monte Carol Analysis" or "Historical Analysis" automatically turns off auto-saving and prompts you to "Click for Refresh."

Refresh Prompt

Upon refreshing the chart, you will see two new shaded sections, a lighter one for Median results and a darker one for 10th Percentile results:

Basic Monte Carlo Results

Median shows the lower half of returns, meaning 50% of the returns are above the shaded area — another way to look at is you have a 50% chance of doing better than that result. The 10th Percentile region shows the "worst" 10% of returns, meaning you have a 90% chance of doing "at least" that well. Although 90% sounds quite high, it means you have a 10% of being at or below the darker region, which when performing long-term financial planning is about the minimum amount of safety you should plan on. We typically encourage folks to shoot for at least a 95% chance of success.

In any case, Basic Mode is a quick and easy way to get high-level Monte Carlo or Historical results without having to configure any other options or navigate through any other screens. If you are interested in configuring options or viewing richer results, read on as we next describe Advanced Analysis for the remainder of this guide.

3. Portfolio Mix / Management

Above we stated that for both Historical and Monte Carlo analysis, "% Growth" and "Inflation" can be based on historical data, but which particular data are we talking about — and how is that data applied?

The "Portfolio Mix / Management" tab defines the percentage of each Investment Type (Stocks, Bonds, Cash) in your virtual portfolio for when historical data is used (as shown below).

Portfolio Mix

Adjust the mix to your liking, but be careful. Although the default settings seem to take a very conservative approach, remember that when using Historical data, all Accounts get identical rates-of-return for a particular year — and this includes whatever funds you have in low-yield accounts as well as excess income you may not have invested. Our default ratio is similar to those used by other simulation tools.

The underlying data comes from a variety of sources:

Finally, "Mangement Expense Fee" represents a burden to your growth rate based on fees you may pay to an advisor or for other management costs. If populated, this percentage is subtracted to whatever growth rate is used, regardless whether Historical or Parameterized input data is chosen.

4. Factors Affecting Growth

As you experiment with different year ranges, portfolio mixes, or input parameters — you will see how your Trajectory is affected by factors such as Variance Drain (i.e. overall lower returns produced by periods of high volatility) and Sequence Risk (i.e. long-term lower performance when market declines occur at the beginning of an investment period). We recommend using sites such as Investopedia to understand how these and other various factors affect your investments.

5. Running Monte Carlo Analysis

When OnTrajectory runs Monte Carlo analysis, we take into account every Income, Expense and Account you have defined — along with every RMD, drawdown, rollover, gain, tax or penalty calculated along the way. Every aspect used to render your Trajectory is recalculated for each individual Monte Carlo 'run'.

To initiate Monte Carlo analysis, click the "Analyze & View" button Views Menu Icon

The following menu will appear on the right side of the screen:

Analysis Menu

The 'Analysis Options' window launches automatically when either the Monte Carlo or Historical option is selected, which they are by default. You can also launch the Simulation Options window by clicking 'Advanced Analysis' from the top of the Views Menu (as shown above).

To begin, select either "Historical Input Data" or "Parameterized Input Data".

Analysis Options

As discussed above, Historical Input Data simply draws randomly from a set of years as defined in the "Data From:" and "Data To:" fields. Parameterized Input Data, on the other hand, allows you to set both an Expected Return (expected average annual return) and Expected Inflation (expected average annual inflation) — as well as Volatility (standard deviation) for each.

Default values are populated as shown below, however you can change these at any time.

Analysis Options

The following tables lists historical annualized returns and volatility for various time periods and portfolio mixes that may be used while running simulations ("Equity" is the S&P 500 Index and "Bond" is the Five Year Treasury Note):

From 1929 to 2018 Annualized Return % Annualized Volatility
100% Equity / 0% Bond 10.2 18.6
80% Equity / 20% Bond 9.5 14.8
60% Equity / 40% Bond 8.6 11.2
40% Equity / 60% Bond 7.6 7.9
From 1970 to 2018 Annualized Return % Annualized Volatility
100% Equity / 0% Bond 10.5 15
80% Equity / 20% Bond 10.1 12.1
60% Equity / 40% Bond 9.5 9.4
40% Equity / 60% Bond 8.8 7.0
From 2000 to 2018 Annualized Return % Annualized Volatility
100% Equity / 0% Bond 5.6 14.4
80% Equity / 20% Bond 5.8 11.0
60% Equity / 40% Bond 5.7 7.9
40% Equity / 60% Bond 5.5 5.2

*Above data is from the the "Returns" program, Dimensional Fund Advisors (DFA).

The image below shows results of a Monte Carlo analysis.

Monte Carlo Results

Because multiple Monte Carlo cycles are run, multiple results are displayed. Your Trajectory is displayed in orange, along with a "success" percentage. This percentage represents the number of simulated runs that ended above $0. In other words, for the example above, 84% of the simulated runs ended with some amount of money left over. In 16% of them, you ran out of cash.

Optionally, you can display the 'Median' Monte Carlo Trajectory (displayed in blue), meaning there is an equal number of Monte Carlo runs above and below it.

The image below shows an example of Historical and Monte Carlo analyses run together, which allows you to compare success percentages from both types of analysis.

Analyses Results

Being able to see all of this information in a single view creates a more complete picture of your possible financial futures, and it helps to validate your assumtions along the way.

6. Running Historical Analysis

Just like Monte Carlo analysis, Historical analysis takes into account every Income, Expense and Account — along with every RMD, drawdown, rollover, gain, tax or penalty calculated along the way.

To initiate Monte Carlo analysis, click the "Analyze & View" button Views Menu Icon

The following menu will appear on the right side of the screen:

Analysis Menu

The 'Analysis Options' window launches automatically when either the Monte Carlo or Historical option is selected, which they are by default. You can also launch the Simulation Options window by clicking 'Advanced Analysis' from the top of the Views Menu (as shown above).

To begin, set the desired years in the "Data From:" and "Data To:" fields, and click "Save Changes & Run Analysis"

Analysis Options

The image below shows an example of Historical analysis.

Historical Results

Since OnTrajectory runs analyses for every available 'Start Year' in the range, multiple lines and a success percentage are displayed. This percentage represents the number of Historical simulated runs that ended above $0. In other words, for the example above, 93% of the simulated runs ended with some amount of money left over. In 7% of them, you ran out of cash.

Lastly, you will see a single Historical run in a thick yellow line. This is the run that starts on the year in the "Data From:" field.

7. Viewing Results

OnTrajectory provides a wealth of additional information at the completion of Monte Carlo / Historical Analysis. The Results tab on the Analysis Options pop-up displays the total amount for certain groups of results for every age/year of the simulation. Total amounts are shown for:

An example of Analysis Results is shown below:

Simulation Results

The CAGR % row displays the Compound Annual Growth Rate for the group represented by a particular column. It can be thought of as the growth rate that gets you from the initial investment value to the ending investment value if you assume that the investment has been compounding over the time period. In a scenario where either the initial Trajectory balance or the ending Trajectory balance is negative, it is not possible to compute CAGR % — you will see a blank entry to represent such an occurrence.

The Avg % Growth row displays the Average Growth Rate for all the years for the group represented by a particular column. Counterintuitively, these growth rates will not always go from smallest to largest. Based on the Sequence of Returns (as discussed above), the average of a group of returns could be higher for a group with worse results. For example, the Worst 10 % group could have a higher Average % Growth value than the Worst 25% group. Again, this is a result of growth rates occurring in a certain order where bad results at the beginning of a run have a greater impact over the entire run.

The CAGR % and Average % Growth fields are extremely helpful to determine a reasonable % Growth value when defining an Account item in OnTrajectory.

8. Calculate Success % / Chance of Success

Your 'Chance of Success' (located on the right side of the screen above Trajectory End Balance) automatically runs both Historical and Monte Carlo analysis. OnTrajectory then averages the results and displays your 'chance of success'. Success means NOT RUNNING OUT OF MONEY!

Could your Trajectory End Balance be negative, but your chance of success be quite high? It absolutely could. Remember, your Trajectory is based on Income, Expenses, and the % Growth set for each Account. Analysis is based on returns actually achieved in the past, albeit randomized over time. Could an end balance be positive, but yield a low chance of success? Yes — that would indicate you've set your % Growth assumptions a bit too high.

OnTrajectory actually calculates 2 percentages. The first, called 'Chance of Success', represents the number of simulated Trajectories that result in an end amount above 0. The second percentage is the number of Trajectories that result in an end amount at or above your Final Trajectory — it's displayed next to the Final Trajectory amount in parentheses.

Confidence Check

In other words, a 90% chance of success means that an ending amount above 0 was achieved in 90% of the Historical and Monte Carlo 'runs'. And 80% next to your Final Trajectory, means that in 80% of the runs, a number at or above your Final Trajectory was achieved. As you model your future, you will see that the Final Trajectory percentage is primarily sensitive to the "% Growth" values defined in your accounts. While the overall "Chance of Success" percentage is effected by your Income, Expenses and % Growth.

In addition, sections are color coded as follows:

It is important to note that percentages are NO GUARANTEE of success in your investments, and successive runs may vary due to the random nature of Monte Carlo analysis — usually +/- 3%. Finally, NO information provided by OnTrajectory should be considered investing advice. All financial information is solely for educational purposes. Please see your own professional for personal investment advice.

In any case, we urge you to use OnTrajectory to experiment and learn. The more you understand and the better your assumptions, the more clear your financial future will become.

9. Seek Alternate Results

The Seek Alternate Results tool (available from the main Menu) adds an EXPENSE ADJUSTMENT to demonstrate either the impact of increased spending or to calculate the additional savings needed to achieve a particular result.

For example, if your End Balance is calculated to be $200,000 — and you wish to know how much additional spending per month would yield an end balance of $100,000 — OnTrajectory calculates the amount and adds a new EXPENSE ADJUSTMENT item to achieve the result (which you can delete at any time).

Alternately, if you have a shortfall (meaning your funds do not last until your desired Trajectory End Age) OnTrajectory can calculate the amount to alleviate the shortfall by creating a NEGATIVE EXPENSE ADJUSTMENT. This adjustment represents how much more you need to save each month to achieve your goal.

You can target results based either on a "Chance of Success" percentage (a blend of both Monte Carlo and Historical Analysis, as described in previous sections) or based on a particular "End Balance" amount (as mentioned in the example above).

Results based on "Chance of Success"

Seek by Percentile

Selecting this option causes OnTrajectory to adjust expenses until a particular "Chance of Success" is achieved. Success is based on Monte Carlo and Historical analysis options as previously described and may yield either a positive or negative End Balance (which is based on the % Growth values for each of your Accounts).

Because of the variability involved, this process can take several minutes.

Results based on "End Balance"

Seek by Amount

Alternately, you can select a result based on achieveing a particular End Balance (as described in the examples above).

End Balance is based entirely on "Average Growth" calculated from the % Growth values entered for each of your Accounts. It is not based on any historical data like "Chance of Success."