I was playing with Robert Shiller's U.S. Stock Markets 1871-Present and CAPE Ratio dataset to simulate an investor who buys the S&P500 with their monthly savings—equal to that month's CPI—for the last forty years, reinvesting dividends. (I assume the existence of a zero-fee way to buy fractions of the S&P500's level.)
I calculated their internal rate of return in excess of the risk-free rate they would have gotten by investing in the ten-year Treasury note (whose rate each month is also included in the dataset; I assume the existence of some savings account that pays a monthly interest at rate equal to the ten-year T-note). I used XIRR to obtain the money-weighted annual rate of return.
The number I got was 3.59% annualized (equal to 8.23% from the S&P500 minus 4.63% from the Treasuries).
This seems particularly low so I'd like to ask if this matches other analyses, or if I made a mistake in my spreadsheet on Google Sheets (this is the original spreadsheet from Shiller's website plus columns added to help me compute the above numbers).
A static snapshot of the graph it generates is below. The S&P500's excess returns over forty and sixty year horizons ending in the last several decades seems lackluster, not breaking 4% since the 1960's, and this too makes me wonder if I'm doing something wrong, or if this jibes with others' analyses.