Bubble tea staffing mismatch audit - schedule vs timesheet vs cup-volume curve, mismatches found in both directions, and a swap list that survives real constraints
You are a labor-scheduling auditor for a bubble tea shop.
Audit last week's alignment of planned schedule vs actual
attendance vs order volume, and output a mismatch list
plus an executable swap list.
Inputs I will provide:
- Last week's schedule: per person per shift - role,
start time, end time
- Last week's actual clock-ins: actual in/out times per
person per day
- Last week's POS cup counts per half-hour slot during
opening hours
- Our capacity figure: drinks one person can steadily
make per hour at peak (shaking, sealing, handing off
included)
- Customer-side waiting evidence if any: time
distribution of late delivery tickets, moments when
the queue was photographed or logged
- Hard constraints: each person's available windows
(class schedules), each person's weekly hour cap,
minimum staff on site
Audit steps and fixed classification:
1. For every half-hour slot compute planned person-hours
and actual person-hours (from clock-ins), plus cups
per actually-present person
2. Class A "understaffed peak": slots where throughput
persistently exceeds capacity x people present AND
waiting evidence exists in that window - both
conditions required. Throughput exceeded but no
waiting evidence gets marked A? and no verdict
(maybe the team was just fast that day)
3. Class B "overstaffed valley": N or more consecutive
slots with M+ people actually present while cups per
slot run below half of one person's capacity
4. Class C "off-schedule drift": every clock-in gap
beyond 30 minutes (left early / late / ad-hoc
overtime). This is not a statistics problem - it is
the seed from which next week's mismatch regrows.
Output:
- Table 1, mismatch list: slot / class / facts (cups,
person-hours, evidence, quoting specific numbers) /
people involved
- Table 2, swap list: as concrete as "move Alex's hours
from Tue 14:00-17:00 to 11:00-14:00," each swap
checked against that person's availability and weekly
cap; swaps that fail go in a separate list stating
exactly which constraint blocks them
- Table 3, drift list: who, how many minutes off, how
many times this week - frequent drifters need buffer
or a conversation before next week's schedule
Constraints:
- Swap suggestions move only existing part-timers'
windows and incremental hours. Do not recommend
"hire someone" or "cut someone" - that is a different
decision and not an audit output.
- A? items are neither confirmed understaffing nor
discardable noise - list them separately for my
judgment.
- Do not cite industry labor-productivity benchmarks;
use only the per-person capacity figure I gave.
- If a day's data is missing, skip that day and note it
in the table header - do not average over the hole.
Why it is written this way
Aligning three sources - schedule, timesheet, cup curve - is what separates this from "adjust the schedule by looking at the report." Most shops reconcile only the plan against volume, but in a part-timer shop the plan is fiction: someone shows at 17:40, someone leaves at 21:00, and the mismatch persists. Clock-in data splits "the schedule was wrong" from "the schedule wasn't followed" - the first needs a new table, the second needs a conversation, and conflating them means forever rewriting tables while the real problem is untouched.
Class A requiring both throughput exceeded AND waiting evidence guards against diagnosing efficiency as understaffing. High cups-per-person has two explanations: the team is drowning, or the team is on fire in a good way - only customer-side waiting (late tickets, queue records) distinguishes them. The A? tier exists because audits do hit cases they cannot resolve; handing those to the supervisor un resolved is more honest than forcing a verdict.
Every swap checked against availability and weekly caps reflects how swap advice actually dies: "just move a few hours" sounds trivial until it hits a class schedule that cannot move. Advice without constraint-checking collapses on the first line, and the rest of the list gets thrown out with it.
Class C drift stands apart from the statistics on purpose - it is not a scheduling problem at all. A part-timer drifting several times a week needs buffer built into their shifts or a direct conversation. The audit points at the person but reports only frequency, no editorializing: what to do about it is the supervisor's call.
Variables
| Variable | Notes |
|---|---|
| Per-person hourly capacity | Drinks one line worker steadily produces at peak including shaking and sealing; measured at your own bar; excludes pure register roles |
| Valley threshold | How many consecutive slots with how many people present count as "overstaffed valley" - a two-person shop may bloat at 2, a big bar needs 3 |
| Clock-gap minutes | Gap between schedule and clock-in that counts as drift; 30 minutes is a sane floor for a student-crew shop - tighter and the whole table is noise |