Case study — the 1-minute version

Predicting how busy a restaurant will be, so it schedules the right staff

By Gurjinder Johal, full-stack developer. I built this sales forecast on my own, inside Shiftova, the scheduling app I make for restaurants. It's live and in daily use at a real restaurant.

~41%

lower error on holidays than the franchise's own formula

1,211

real days tested, using only what was known at the time

26% → 22%

smaller miss on the days around a holiday, from a pattern I found

What I did

The pattern I found: sales around a public holiday
+3%
+36%
−11%
−20%
−2%
−19%
Day beforen = 19 · 11
1 day aftern = 19 · 12
2 days aftern = 19 · 12
Monday long-weekend holidaysHolidays on any other day

Compared with the same weekday in the surrounding weeks. Mid-week holidays move sales a lot; Monday long weekends barely do. Averaged together, the effect was hidden.

The honest part

It beats the franchise's formula by about 6% overall and ~41% on holidays. On ordinary days the edge over a simple average is small: most of what's left is random. With one restaurant's data, the holiday adjustment only switches on when the evidence is clear.

Skills used

Time-series forecastingBacktesting & validationStatistical testingRobust regressionExperiment designSQL / PostgreSQLTypeScriptData visualizationProduct analytics

About me

I'm a full-stack developer with a computer science degree and 10+ years building software and analytics for a restaurant franchise business. I also run Nechako Digital, the studio behind this site. I'm looking for a full-stack, backend or data role.