Investment Planning in Tableau: Part 1 – CAGR


Investment Planning in Tableau: Part 1 – CAGR

Every decade, I spend a few weeks planning the next 10 years. This thinking normally encompasses career and investment goals. This time, I decided to expand my time horizon. I’m 57 years old, so I wanted to start thinking about what my personal financial situation looks like in 10–20–38 year time horizons. Why 38 years? Well, my father managed to live till he was 94 years old. I figure that I’ve got a good shot at making it to 95. My investing started in the mid–1980s.

The Rule of 72

If you save and invest wisely, it’s possible to accumulate a decent nest egg. The Rule of 72 provides a short-cut method for determining the number of years it takes to double your money for a given interest rate. For example: If you believe that you can earn a 6% return, the Rule of 72 says that your money will double in value in 72/6 = 12 years. If you maintained that 6% return on investment over your entire working life (67–22 = 45 years), that implies that you will double your money 3.75 times. Suppose you won $100,000 in the lottery at age 22 and invested that money earning a 6% return. Your money would grow as follows:

  • 12 Years: $200,000 (age 34)
  • 24 Years: $400,000 (age 46)
  • 36 Years: $800,000 (age 58)
  • 48 Years: $1,600,000 (age 70)

If you wait until age 70 to start collecting your social security benefit, you’ll maximize the monthly payment from the government. So, $100,000 at age 22 grows to $1,600,000 by age 70 without putting in another penny. Ah, the magic of compounding. These are nominal dollar amounts (not adjusted for inflation), so $1.6 million in 2064 won’t have the spending power that $1.6 million has today (unless we experience monetary deflation). If you are smart and take advantage of your company’s 401K plan or some other tax-sheltered savings plan, you can accumulate much more over your working life, and you’ll need to.

How Tableau Can Help You Invest

In this blog series, I’ll take you though some ways you can use Tableau to analyze the stock market, calculate returns, track investments and build a portfolio with variable expected returns so that you can create a retirement plan that suits your lifestyle.

Using Tableau to Measure the Market

How can Tableau help you analyze the stock market? I used some data that I downloaded from Yahoo Finance on major stock indices to get on where the market is today and what the return rates have been over the past 10+ years using table calculations to derive a compounded annual growth rate (CAGR) for various time periods. Figure 1 shows a time series chart for the S&P500 stock index.

S&P500 Time Series

The chart shows you the trend over the past 30 years. If you’ve been using Tableau for any period of time, you know that this kind of view is very easy to build. Pick a date and then a measure and select Show Me. Tableau will create a time series line chart.

I wanted to look at several major stock indices in this same view, so I downloaded index data from Yahoo Finance for the Dow Jones Industrials, the S&P500, the Russell 2000 and the Nasdaq. All of these files came down as text (.csv). I put them into a single folder and used the Tableau UNION feature in V10.0 to join them all together into one big file. This allowed me to create a filter instead of having to resort to building a parameter to select. The steps required for the UNION:

  1. Download the text files (.csv) into a folder (find the files attached at the bottom of this post)
  2. Open Tableau and pick one file from inside the folder
  3. Remove the single file from the data source drop-here area
  4. Drag the New Union option into the drop-here area
  5. Drag all four .csv files into the New Union and click OK.

NewUnion in Tableau

You should see a sample of the first 1,000 rows of the stock data in the lower half of the data source screen. Because I chose to download daily stock data going as far back as 1059, I chose to exact the file after doing the UNION to improve the load speed and compress the source data.

What is CAGR?

Regular time-series data is useful, but I wanted to add rolling three-year, five-year and 10-year compound annual growth rates to the tooltip so that I could see those figures for any specific date. This was easy to accomplish using table calculations. A simple average percent change would overstate the actual return figures. Using a CAGR calculation is more accurate. Investopedia provides good definition of CAGR.

CAGR provides for an annualized compounding of the interest rate which will be a bit lower than a simple average.

The CAGR Table Calculation

By using the LOOKUP, ZN and POWER functions, it was easy to create CAGR calculations for three, five and 10-year periods. Here’s an example of the formula for the three-year CAGR formula:

CAGR Table Calculation in Tableau

The LOOKUP function tells Tableau where to find the first period that will be compared to the current period. I assumed that the markets were open 252 days/year. The POWER function is raised by 1/3 for a three-year CAGR. The ZN prevents formula generating a NULL result by making NULL values zero.

Once I finished that, I decided to add a lookup formula to display the close amount for both the three-year-ago figure and the current date closing index amount. I added the other formulas by duplicating the three-year CAGR formula and altering the amount for the other time periods. I then added the results to the marks card and edited the tooltip to display the CAGR calculation results and the comparison close figures.

By adding this data to the tooltip I can view three different CAGR calculations related to the current close date. Roll your mouse over any date and you’ll see the related CAGR values for that date. If Tableau doesn’t have enough historical data to make the computation, no value will display.

Tableau makes these kinds of enhancements fast and easy to do. If you’re really ambitious, you could create a web data connector for Yahoo finance and automate the collection of the index data or information for specific stocks you want to follow.

In the next post in this series, I’ll create a different kind of time series chart with Bollinger Bands that creates weighted average tracking values for any time period you desire.

More About the Author

Dan Murray

Director of Strategic Innovation
Tableau Conference 2020: Keynote Recap I’ve been going to Tableau Conferences ever since the first one at the Edgewater Hotel in Seattle in 2008. There were around 200 total ...
The Analytics Revolution: Old Stack, New Stack and Best-of-Breed Solutions Over the last 40 years, we’ve seen a revolution in data analytics, starting with the invention of SQL and the Relational Database by ...

See more from this author →

Subscribe to our newsletter

  • I understand that InterWorks will use the data provided for the purpose of communication and the administration my request. InterWorks will never disclose or sell any personal data except where required to do so by law. Finally, I understand that future communications related topics and events may be sent from InterWorks, but I can opt-out at any time.
  • This field is for validation purposes and should be left unchanged.

InterWorks uses cookies to allow us to better understand how the site is used. By continuing to use this site, you consent to this policy. Review Policy OK


Interworks GmbH
Ratinger Straße 9
40213 Düsseldorf
Geschäftsführer: Mel Stephenson

Telefon: +49 (0)211 5408 5301

Amtsgericht Düsseldorf HRB 79752
UstldNr: DE 313 353 072