The argument about whether a complaint is a training problem or a staffing problem is unwinnable in a meeting, because both sides are reasoning from the same anecdotes.
It is, however, settleable on a page. Reviews carry a time. Rotas carry a time. Put them on the same axis and the question answers itself — usually in about forty minutes of work, and usually with a result nobody in the meeting had guessed.
Here is the exercise, done properly, with a real shape of numbers.
What you need
A quarter of reviews with a visit time attached. Not all of them will have one. Some say "Friday evening", some say "we arrived at 7:30", some say nothing. You will typically get a usable time out of forty to sixty per cent, which is plenty. Where a review says only "Friday night", bucket it as the midpoint of your evening service and note that you did.
The rota as actually worked, not as published. This matters more than anything else in the exercise. A no-show, a late arrival, someone sent home early, a manager pulled into the office — the published rota will tell you that Friday was covered and the reviews will tell you it was not.
Covers by fifteen-minute interval from the till, for the same period.
The worked example
A 90-cover gastropub. One quarter, 104 reviews, 61 with a usable visit time. Complaints bucketed by arrival time against covers and staff on the floor:
| Arrival window | Covers seated | Complaints | Complaints per 100 covers | Floor staff | Covers per staff member |
|---|---|---|---|---|---|
| 17:00–17:45 | 112 | 1 | 0.9 | 4 | 28 |
| 17:45–18:30 | 198 | 2 | 1.0 | 4 | 50 |
| 18:30–19:15 | 341 | 14 | 4.1 | 5 | 68 |
| 19:15–20:00 | 387 | 16 | 4.1 | 7 | 55 |
| 20:00–20:45 | 266 | 4 | 1.5 | 7 | 38 |
| 20:45–21:30 | 141 | 2 | 1.4 | 6 | 24 |
The whole quarter's complaint problem lives in ninety minutes. Thirty of 39 timed complaints — 77% — arrive from guests seated between half six and eight.
Two further things fall out of the table, and the second is the actual finding.
The 18:30 band is understaffed before the rush is acknowledged. Covers jump by 72% from the previous band and one extra person is added. Covers per staff member hits 68, the worst figure of the night by a wide margin.
The 19:15 band has the same complaint rate with two more people on. Which is the interesting part, because it means the extra bodies did not fix it. The complaints in the 19:15 band were generated in the 18:30 band — guests seated at 18:40 are complaining about food that arrived at 19:30, and the backlog created in the first window is being paid off during the second.
That is the thing an overlay shows you and a complaint log never will. The failure window and the complaint window are not the same window, and adding staff at the moment you feel the pressure is adding them forty-five minutes too late.
The arrival-spike check, which is where it usually lands
Pull covers for one Friday in fifteen-minute intervals and put the scheduled arrival times next to them:
| 18:00 | 18:15 | 18:30 | 18:45 | 19:00 | 19:15 | |
|---|---|---|---|---|---|---|
| Parties seated | 6 | 9 | 21 | 24 | 17 | 11 |
| Staff on floor | 4 | 4 | 5 | 5 | 7 | 7 |
Forty-five parties seated in half an hour, against a floor that gains one person at 18:30 and two more at 19:00. The 19:00 starters are arriving to clear up after the spike rather than to absorb it.
The fix that followed cost nothing: the two 19:00 starts were moved to 18:15. No additional hours, no new hires, no retraining. The following quarter's 18:30–19:15 complaint rate fell from 4.1 to 1.8 per hundred covers.
That is the shape of outcome this exercise produces most often. Not more labour — the same labour, forty-five minutes earlier.
What the overlay rules out, which is as useful
If complaints are flat across every band, you do not have a coverage problem. A problem that does not vary with load is not about load, and the rota is not the answer. Look at the dish, the plate, the route from pass to table, or the standard itself.
If complaints are concentrated on particular people rather than particular times — and you will see this when you tag by section as well as by hour — then it genuinely is individual, and that is a coaching conversation.
If complaints are concentrated on a single day regardless of load, check what else is true of that day. A delivery, a different chef, a shared rota with another site, a cleaner who does not come on Thursdays.
Doing it without the data being perfect
Objections to this exercise are usually about data quality, and they are mostly surmountable.
"Reviews do not give times." Enough do. And "Friday night" bucketed to your midpoint is still informative at the scale of a quarter, as long as you are honest that the resolution is coarse.
"Our rota is a photo in a WhatsApp group." Then reconstruct four weeks of it, not thirteen. Four weeks of actual-worked rota against four weeks of complaints is enough to see a ninety-minute hole.
"Covers by quarter-hour is not a report we have." Most tills export timestamped transactions; seating time is approximately first-order time minus a few minutes. Approximate is fine. You are looking for a spike, not a figure to four decimal places.
"We do not get enough reviews." Below roughly 25 a month the per-band counts get too small to read, and the honest answer is to run this on complaints from all sources — reviews, comment cards, comps, and the manager's log — rather than reviews alone.
How to misread the overlay
Complaints per hundred covers is the only version that works. Raw complaint counts will always point at your busiest band and send you to fix the hour that is working hardest. The argument for the denominator is worth reading in full before you rank anything.
One quarter of one site is a small sample. Thirty-nine timed complaints across six bands is six-ish per band. Treat a band at double the others as real; treat a band 30% higher as noise.
The lag can mislead you in the other direction too. If the complaint window is forty-five minutes behind the failure window, then a band that looks terrible may be inheriting a problem rather than creating one. Always read two bands back before you change the rota.
It will not tell you what the staff were doing. The overlay says there were not enough hands at 18:40. It does not say whether the host was on the phone to a third-party courier, whether two servers were doing a stock count, or whether the manager was signing for a delivery. Standing in the room for that one window, once, is the step that converts a number into a decision — and a shift with a specific thing to observe is a different exercise from a general look round. The wording of "slow service" complaints narrows it further.
Fix one window. The temptation after an overlay is to redesign the week. Move one set of start times, wait a quarter, measure the same table again.
OMMU buckets complaints by visit time and theme as reviews arrive, so the overlay is a chart rather than a weekend — but a quarter of reviews, a rota and an hour with a spreadsheet produces the same finding. What it will not survive is being done from memory in a meeting.