leotorres114 / RTA-peer-transit-analysis

Stores source data, scripts, charts, and tables related to a transit recovery analysis conducted by CMAP staff.
MIT License
0 stars 0 forks source link

Forecasting methodology #1

Closed dlcomeaux closed 7 months ago

dlcomeaux commented 7 months ago

@leotorres114 - in general, the code seems to work well for me. The for loops are very cleverly done, nice job. My only structural comment is that I think the forecasting methodology needs to be tweaked. What you have is workable, but in the PART report, we actually took one step further. Rather than just averaging 2023 figures, we took the YOY growth rate from the same period in 2022 vs. 2023 and then applied that rate to the relevant month figure from the prior year. That helps to better capture seasonal change, especially on ridership, where the seasonal effects and month length can both be fairly important.

Could you think about how the code could be adjusted to reflect that methodology? Let me know if that is confusing or you want to talk through it.

dlcomeaux commented 7 months ago

This is not going to move the needle appreciably at all for the 2023 forecast, given that we have 11 months of data - but it would have a larger effect on a half-year forecast like we did in PART.

leotorres114 commented 7 months ago

Interesting! Seems like it's an easy programmable thing to do. Going to schedule time to talk through the assumptions of using YOY growth though, not something I would initially consider as replicable from one year to the next.

dlcomeaux commented 7 months ago

I think that neither approach is perfect. In a normal year, this YOY approach should be more fine tuned (if I'm thinking about it correctly) but in a weirder one (for example, COVID year) you could get some weird results, I suppose. There is some sort of hybrid you could do where you build in a seasonal adjustment, but that is also probably too complex for what we are doing now.

Let's talk Wednesday. We should probably compare how different the results are. I mainly wanted to flag because we should be aware of how it worked in PART and be intentional if we are doing something else.

dlcomeaux commented 7 months ago

To be clear though the point of using YOY is to give us a way to get a figure for December 2023 that is informed by both December 2022 (seasonality) and January-November (growth). If we can compare Jan-Nov for 2022 and 2023, we get a growth rate that we can then apply. The rationale being that it is likely that December 2023 will probably be about the same difference from January-nov 2023 as December 2022 was from Jan-nov 2022. That won't always be true, and definitely wasn't in 2020-21, but as things have stabilized, I think it is more reasonable to do.

leotorres114 commented 7 months ago

Update - NTD released full year of service and ridership data for 2023. No need to forecast for this analysis. Script that stored projection methodology was archived in SharePoint. Should revisit later for future updates to the analysis.