Thanks for the notebook, and highlighting this issue. It appears to be taking the quarter on quarter growth, except for every fourth quarter, when it uses quarter on same quarter prior year. This behaviour changed in 2014 when it changed to the latter every quarter. I think we must decide to use one of the following:
- Quarter on quarter
- Quarter on same quarter last year
- Trailing 4 quarters on same figure for previous quarter
I recommend 2.
apple = data.groupby('revenue_growth_asof_date').first()
apple['qoq_change_in_total_revenue'] = apple.total_revenue.pct_change()
apple['yoy_change_in_total_revenue'] = apple.total_revenue.pct_change(4)
apple