← Projects
Demand forecasting for 4 national restaurant chains
Altametrics · ML intern · Summer 2025 & Summer 2026
I build the production demand forecasting model that four national chains run on, and I lead the data pipeline that feeds it.
- I cut daily sales forecast error from 12% to 5% for McDonald's, Taco Bell, Jack in the Box and Chipotle, across thousands of locations.
- I was put on production demand forecasting before I had taken a single machine learning class.
- I led a team of 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 own 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 so far — Summer 2025 and Summer 2026.
Python · XGBoost · LightGBM · CatBoost · Prophet · TimesFM
Code for classes still running is kept private under Berkeley's academic-honesty policy. Happy to walk through it in person. ← Back to all projects