Portfolio Charts

Find a portfolio to love

Menu
Skip to content
  • Portfolios
  • Charts
  • Assets
  • Insights
  • Patrons

Methodology

The high-level goal of Portfolio Charts is to offer a neutral place to study the real-world performance of all types of investing ideas. My hope is that by painting a more complete and understandable picture of how different portfolios work, the charts will help people identify a simple and effective asset allocation to help them achieve their important life goals.

This page explains the calculation methodology, assumptions, and backtesting philosophy that powers every chart on the site. If you’re curious where the underlying numbers come from, see Data Sources. And for the tool-specific details of any individual calculator, check the Calculations and Assumptions notes on each chart page. Think of this page as the common foundation that everything else is built on.

Table of Contents

  • The Calculation Engine
  • Start-Date-Independent Backtesting
  • Reading the Numbers
  • Assumptions
  • Portfolio Sources
  • International Translations
  • Disclaimer

The Calculation Engine


Every tool on the site, from the simplest annual returns histogram to the most complex retirement calculator, runs on the same engine following an identical three-step process.

Step 1: Build the portfolio return series

It all starts with the annual total return of each asset, measured as a snapshot every December 31st with all dividends and interest reinvested. For each year of history, the engine blends the asset returns together using the target portfolio percentages. Because the same target percentages are applied fresh every year, annual rebalancing is baked directly into the math.

That blended return is then translated into your local perspective. First it’s converted into the currency of your home country, and then it’s adjusted for your country’s local inflation to produce the real return. This real return represents the total change in actual purchasing power. Note that inflation adjustment is done with proper compounding rather than simple subtraction:

Real Return = (1 + Nominal Return) ÷ (1 + Inflation) − 1

The difference between the two methods is small in any single year, but it definitely adds up over decades of compounding.

The end result of Step 1 is a single clean series of inflation-adjusted annual returns for the whole portfolio, denominated in your home currency. Every number on the site is calculated from a series just like it.

Step 2: Backtest every start date at once

Rather than simulating one investor who started at a single point in time, the engine simulates an investor starting in every year of the historical record and tracks how each of their journeys played out. That idea is important enough to deserve its own section below.

Step 3: Summarize the outcomes honestly

With the full set of historical outcomes in hand, each chart distills them into numbers you can actually plan with. As a rule the site favors worst cases and conservative percentiles over rosy averages, because a plan that only works on average is not much of a plan. The Reading the Numbers section explains the recurring metrics.

One nice side effect of a single shared engine: the numbers always agree with each other. The safe withdrawal rate you see on the Withdrawal Rates chart is the exact same calculation reported in the Portfolio Matrix and in the summary on every portfolio page. It’s not just a similar methodology, but the same code working from the same data.

Why annual data?

Portfolio Charts intentionally works with annual returns rather than daily or monthly prices. Annual data is the only format available consistently across every asset and all twelve home countries back to 1970, so it’s what makes the site’s breadth possible. But it’s also a deliberate philosophical choice. The questions this site is designed to answer — how should I allocate my life savings, what withdrawal rate can my retirement support — play out over decades, not days. Working in years filters out the short-term noise and keeps the focus on the big picture.

Start-Date-Independent Backtesting


An uncomfortable truth about most backtesting tools is that the result is often decided less by the portfolio than by the start date. Test the exact same asset allocation starting in 1970, 1980, or 2010 and you’ll get three very different verdicts. Cherry-picking a favorable window (intentionally or not) is the easiest way to make any investing idea look brilliant.

Portfolio Charts is built around a different idea that I call start-date-independent backtesting. Instead of picking one starting point, the engine models an investor starting in every individual year of the historical record simultaneously. And for questions where the timeframe matters, it also looks at every combination of start year and duration.

As just one example, this animation illustrates how a Portfolio Growth chart is built.

How start-date-independent backtesting worksA Portfolio Growth chart for the US total stock market, built in stages. The plot has calendar years from 1970 to 2025 across the bottom and portfolio value from 0 to 2.4 million dollars up the side. First a line is drawn for each start year in order: $10,000 a year saved from nothing into the market, in inflation-adjusted dollars, from the start of 1970 to the end of 2025, then after a pause the same from 1971, from 1972, and so on, faster and faster, each line starting further to the right and all of them ending together at the end of 2025; the earliest start years climb off the top of the plot before then. Once every start year from 1970 to 2025 has its line, all the lines slide left until every start sits at the same point, the axis changes from calendar years to years invested, and the plot zooms in to the first 30 years. Then a goal line at $500,000 appears with markers for the fastest start year to reach it, about 14 years, and the slowest, about 25 years. The finished picture is the standard Portfolio Growth chart at its default settings, which measures every start year from its own first day rather than from a fixed date.Goal, 500K197019751980198519901995200020052010201520202025012345678910111213141516171819202122232425262728293002004006008001,0001,2001,4001,6001,8002,0002,2002,400ThousandsCalendar YearYears InvestedPortfolio ValueIndividual PathsPerformance from each start yearGoal RangeRange of time required to reach the goal
A blank chart: portfolio value against calendar year
PortfolioCharts.com

The example models the compound account values of a Total Stock Market Portfolio in the US starting at zero and contributing $10k a year. Watch how it draws one growth path starting in 1970 traversing the full timeframe of the database at the time. Look familiar? Thats where most backtests stop.

After that, it starts again in 1971. Then repeats in 1972. And it keeps going until it has accounted for every start year on record. That mass of blue lines represents the full sample of investor experiences for people who started at every point along the way.

The magic happens when Portfolio Charts transitions all those unique growth paths to start at the same point on the chart. That shifting of mental framework transitions the image from a bunch of individual lines to a more understandable distribution of outcomes that can serve as a visual reference for conservative planning in a world of uncertainty.

The same process applies to all charts on the site. So no matter what chart you choose, the data reflects not just one lucky or unlucky investor, but the cumulative experience of them all. Here are a few good examples:

  • The Heat Map calculates the compound annual growth rate for every start year at every holding period. That’s thousands of combinations in a single image.
  • The Withdrawal Rates chart simulates every historical retiree at every retirement length, and reports the withdrawal rates that survived even the unluckiest timing.
  • The Start Date Sensitivity chart measures timing luck directly, by comparing the recent returns an investor had experienced at each point in history to the returns that actually followed.

Why go to all that trouble? Because in real life you don’t get to choose your start date. You invest when you have the money, and you retire when life says it’s time. A backtest that assumes perfect timing tells you about luck, but the full range of start dates tells you about the portfolio. When every start date is on the chart at once, you can see the best case, the worst case, and everything in between. And a portfolio that performed consistently no matter when you started is worth a lot more trust than one that just had a lucky run.

For more info on the unique Portfolio Charts approach to backtesting, I recommend these articles:

Language, Time, and the Beauty of Nonlinear Thinking

A Picture Is Worth a Thousand Calculations

A Faith Not Tested Cannot Be Trusted

When Past Performance Is Absolutely Indicative of Future Results

Reading the Numbers


A few metrics and conventions show up across many charts, and they follow a consistent philosophy.

Compound growth, not averages

Long-term performance is reported as the compound annual growth rate (CAGR) — the steady annual return that would produce the same final compounded result, and the number that reflects what an investor actually experienced. Simple average returns are shown where appropriate, but beware: because of volatility drag, the average always paints a rosier picture than the compound reality.

Percentile bands

Charts that project a range of outcomes, like Long Term Returns and Target Accuracy, summarize all of those historical start dates with five levels: the minimum, the baseline (15th percentile), the median, the stretch goal (85th percentile), and the maximum. The baseline return is my favorite conservative planning number (85% of historical outcomes did better), while the stretch shows what a fortunate run looked like without resorting to the single best case.

Worst-case metrics

Retirement numbers follow the most conservative convention. The safe withdrawal rate (SWR) is the constant inflation-adjusted spending level that never ran out of money over any historical retirement period of a given length, even for the retiree with the worst possible timing. The perpetual withdrawal rate (PWR) is the rate that always preserved the original inflation-adjusted principal. And the long-term withdrawal rate (LTWR) is the value that both converge to over very long timeframes. It’s my favorite number for early retirees and endowment-style planning.

Drawdowns in real terms

Losses are measured in purchasing power, not headline account balances, from every historical start date. Beyond the deepest and longest drawdowns, the Ulcer Index tracks the depth, duration, and frequency of every decline to quantify how stressful a portfolio was to actually hold.

Projections, clearly labeled

Some calculations (like the withdrawal rate for a 45-year retirement that started in 2010) extend beyond the available data. In those cases the engine projects the remaining years using the portfolio’s own full-history compound real return, and requires at least 15 years of real-world data before attempting any projection. Projected segments are always visually distinguished (dotted lines) so you always know what is history and what is extrapolation.

Every Charts page documents its own specifics in its Calculations and Assumptions sections, so when in doubt, that’s the place to look.

Assumptions


For quick reference, here are the core assumptions shared by every calculation:

  1. All returns are taken as a snapshot on December 31st.
  2. Returns include reinvested dividends and interest.
  3. Portfolios are rebalanced back to their target percentages annually.
  4. Returns quoted are REAL. This means that all returns are adjusted for inflation. Inflation varies every year and is measured by the CPI of each country.
  5. Returns are expressed in the local currency of each country. For Euro Area countries, exchange rates prior to 1999 are in local currency and after 1999 are in Euro. Portfolio returns are primarily driven by changes in exchange rates, which make them neutral to the switch to the Euro.
  6. For calculators like Portfolio Growth or Retirement Spending that account for annual contributions or withdrawals, those cash flows maintain constant purchasing power and adjust for inflation each year.
  7. Returns ignore taxes. Individual tax situations are far too complex for a tool like this to model. Your mileage may vary.
  8. The numbers represent fund performance before the effect of expense ratios. With the very low cost index funds available today the difference is small, but your personal results will always trail the ideal numbers by your own fund and account fees.

Be sure to read the detailed notes on the individual Charts pages for application-specific assumptions and methodologies.

Portfolio Sources


I’m simply the supplier of portfolio performance information, and the original authors deserve full credit for each portfolio idea. I do what I can to support the smart people who share their diverse investing knowledge in the following ways:

  • I provide attribution to each author and encourage everyone to read their original work. You can find references to their books and blogs on each portfolio page.
  • I do my best to preserve design intent and to not twist the author’s recommendation in any way. The only reasons I may change percentages are when I don’t have the right data or need to round to the nearest percent to not over-burden the tools. When that happens I try to faithfully represent the design intent as closely as possible. I always point out when I do that and why.

If you ever see something that looks like an error or that you think needs clarification, please don’t hesitate to contact me. Trust is earned, and I’m willing to do the work.

International Translations


Portfolio Charts is somewhat unique in how it is able to model portfolios in multiple countries using their own currency and local inflation. Since most portfolio authors write from a US perspective, I also do my best to interpret the underlying philosophy and design intent to the investments available in a different country.

The portfolio translations use the following logic:

Australian, Canadian, and Japanese portfolios use domestic & international definitions where “domestic” means your own home country and “international” is a broad developed world fund. The same interpretation strategy applies to European portfolios with simple asset types. For European portfolios with small and value tilts, I take advantage of the more numerous investing options in broad Europe funds and describe portfolios with Europe as the domestic market and the United States as the international market. Doing it that way not only follows fund availability but also captures more of the factor-based asset nuance in these types of portfolios.

To see the interpretation for your country, select the country from the dropdown at the top of any Portfolios page and it will display the full allocation. If you disagree with my interpretation for a portfolio or simply prefer your own tweaks, that’s great! You can always model your own version with any of the fully customizable charts. And no matter which country you choose, the returns are always calculated in that country’s own currency with its own local inflation. The same portfolio can tell a very different story depending on where you live.

Disclaimer


While I go to great lengths to double-check every source, the data has no guarantee of accuracy. Not only do I sometimes make mistakes, but the primary data sources also occasionally update their own numbers based on new information. Never make a decision based solely on the data you see here.

The numbers do not account for taxes. Properly managed they can be held to a minimum, but they can also take a big bite out of your returns depending on your personal situation. So be smart about it and plan conservatively. When in doubt, consult a tax professional.

Home » User Guide » Methodology
Widgets

Support the Cause


©2026 Portfolio Charts, LLC

Terms of Use ∙ Privacy Policy

User Guide ∙ Contact