Moonlight Analytica Request demo
Floor intelligence

The table-dwell problem: why restaurants are flying blind on their best metric

Every restaurant tracks covers, tickets, and reviews. Almost none track how long a guest actually sits, the number that predicts revenue best.

Moonlight AnalyticaField notes June 18, 20265 min read

A restaurant's point-of-sale system can tell you the exact second an order fired and the margin on the branzino down to the cent. It has no idea how long the four people at table 14 have actually been sitting there. That gap, between what the POS clock measures and what a guest experiences, is where a meaningful share of a restaurant's controllable revenue quietly disappears. Almost no one on the floor is watching it. Ask a general manager for the average and most will hand you a ticket time, because it's the only clock the building actually has.

Table dwell is not the same thing as ticket time. Ticket time is what the POS captures: the interval between an order firing and a check closing. Table dwell is everything around that too, the minute a party stands at the host stand before being seated, and the ten minutes they linger over coffee after the card is signed. Restaurants track covers obsessively. They track online reviews, wait times, ticket times, food cost, labor cost. Almost none of them track dwell, the one number sitting underneath most of the others.

The number every POS clock gets wrong

Every table runs on two clocks, and only one shows up on a manager's screen. The POS clock starts when the first item fires and stops when the check closes, clean and precise, and reliably shorter than what actually happened at that table. Toast's table-turnover data puts average table time in casual dining at 45 to 75 minutes and two hours or more in fine dining, and that's before counting the wait at the host stand or the minutes after the card is signed. A host stand knows about the wait, and a server knows about the lingering. The POS system knows about neither.

Sheryl Kimes's research at Cornell's School of Hotel Administration produced a metric called revenue per available seat-hour, because meal duration multiplies against everything else on the P&L. Shave a few minutes off the right tables on a Friday and a floor seats another turn without adding a chair. Add a few minutes to the right tables and the check grows faster than the lost turn costs. Both decisions require an accurate number. Almost no floor has one.

The trade-off nobody prices correctly

The instinct is that shorter dwell always wins: fewer minutes per table, more covers a night, more revenue. That holds at a diner counter. It falls apart at a bar that sells a $140 bottle to a table that stays two hours instead of one. The real relationship between dwell and revenue is a curve, and it bends differently for every floor plan, menu, and price point a restaurant runs. The chart below models that curve rather than a specific restaurant's numbers, though the shape holds across formats: turns fall in a straight line as dwell rises, while revenue per seat-hour climbs, peaks, then rolls over once tables sit well past the point where a longer stay still buys a bigger check.

Covers per table Revenue per seat-hour
Value sweet spot 30 60 90 120 150 Average table dwell (minutes)
IllustrativeModeled on typical full-service seating patterns, not a specific restaurant's data. Each line is indexed to its own peak.
Table dwell is the fastest-moving number on a restaurant floor, and almost nobody has instrumented it. It's one of the only numbers on that floor a GM can actually change tonight.

Separating the busser from the guest

Here is what makes table dwell hard to measure honestly, camera or no camera: staff live inside the same physical zone as guests. A server refilling water, a busser pre-clearing plates, a host walking a menu over to a table, all of it looks identical to a guest who hasn't left yet, to a motion sensor bolted to the ceiling or a naive vision system doing simple presence detection. Any dwell number that doesn't separate staff from guests is inflated, and nobody knows by how much until someone actually tries to separate them.

On one fast-casual floor we instrumented, Janus tracked 17 distinct presences moving through the dining room over a single dinner service and correctly identified 4 of them as staff, time that had nothing to do with how long any guest actually sat. Once that staff time came out, guest table dwell measured 22% longer than what the restaurant's own ticket-close timestamps had implied. The reservation schedule assumed faster turns than the floor actually delivered. Guests were being seated, correctly, for longer than anyone on the management side had ever seen written down.

+22%
Guest table dwell, staff time removed
17
Presences tracked, one dinner service
4
Correctly separated as staff
Anatomy of one table, by the clock
What the ticket-close clock sees
Order firedCheck closed
What the floor actually experienced
Guest seatedGuest departs
+22% longer than the ticket implied
IllustrativeReconstructed from the fast-casual pilot floor described above. The 22% gap reflects that deployment, not every restaurant's dwell curve.

What changes once the number is real

A 22% gap between assumed and actual dwell is enough to break a schedule. A host stand quoting a 30-minute wait off ticket-time math is actually looking at something closer to 37 minutes once real guest behavior is priced in, which is the difference between a happy walk-in and an angry one standing by the door. A GM staffing Friday off average ticket times is a server short during the exact hour tables are running long. Speed alone isn't the lever guests reward: Citrin Cooperman's 2025 restaurant industry benchmarking report found most full-service diners rank the dining experience above price when choosing where to eat, which is exactly the group a pure speed-the-table strategy alienates first. None of this requires new tables or a new menu. It requires the restaurant's own number, corrected.

From minutes to a number a GM can use

None of this matters if the output is a minutes-and-seconds figure buried in a weekly report. A dwell number only earns its keep mid-service, while a host is deciding between a 25-minute promise and a 45-minute one. That's a live-inference problem. Janus runs its floor model at 42ms latency with a 94% confidence score attached to every reading, so a host stand sees a usable number before the next party walks in the door, in time to actually use it.

The POS will keep telling you the ticket time. It was never built to tell you the rest. The restaurants that learn their real table dwell first are the ones that get to write their own reservation math, instead of guessing at it every Friday night.

Janus · Physical-space intelligence

See table dwell on your own floor.

Janus separates staff from guests automatically, at 42ms latency with a 94% confidence score on every reading, so covers-per-hour and table dwell become numbers a host can actually check.