← Projects
Demand forecasting for 3 national restaurant chains
Altametrics · ML intern · Summer 2025 & Summer 2026
I worked on the production demand forecasting model that three national chains run on, and with the other interns I built the data pipeline that feeds it.
- I cut daily sales forecast error from 12% to 5% for Jack in the Box, Chipotle, and Buffalo Wild Wings, across thousands of locations.
- I was put on production demand forecasting before I had taken a single machine learning class.
- I worked with the other interns on the data pipeline behind the model. Crawlers run on a schedule behind a rotating proxy pool, pages that render client-side go through a headless browser, and failures retry on exponential backoff. Every page is keyed on source and scrape date, so a re-crawl upserts instead of duplicating.
- I designed the schema and the indexes. The sales table is range-partitioned by date with a composite B+ tree on (location, date), and the table the model trains on is denormalized to one wide row per location-day. Ordering the feature joins by selectivity is what made the whole thing usable.
- Holidays and local events are lined up against the sales dates, so the model can tell a holiday spike from a real trend and forecast restaurant sales through those weeks.
- The model reads 30+ features: weather, zip-code demographics, holidays, school calendars, CPI, unemployment.
- I worked on the lifecycle end to end: preprocessing, feature engineering, cross-validated tuning, back-testing.
- I compared 5 model families: XGBoost, LightGBM, CatBoost, Prophet, TimesFM.
- Two summers: full-time in Summer 2025, then part-time in Summer 2026 on staffing forecasts.
Python · XGBoost · LightGBM · CatBoost · Prophet · TimesFM