Goal: Predict hourly email sends for Klaviyo throughout BFCM. Lowest SMAPE wins a prize!
Method: The simplest thing I could think of:
- Estimate the year-over-year growth rate in email sends based on the average year-over-year growth rate for the days leading up to BFCM
- Use the previous year's series times the forecasted growth rate
- Do it all in 40 lines of SQL with DuckDB
You'll need two things to run this "model":
- You'll need to set up DuckDB
- You'll need to have the historical data saved to
historicals.csv
Once both of those are all set, you can run the model:
duckdb --csv < model.sql > forecast.csv
This should output a CSV file called forecast.csv
with the forecasted email sends!