Table turnover rate is the number of parties a table serves in a shift; seat occupancy is the share of available seat hours actually occupied. They diverge whenever party size does not match table size — the usual reason a queue forms in a Warsaw dining room while seats sit empty. Different numbers, different arithmetic, different fixes for the owner.
Turnover counts parties, occupancy counts hours, and the two are not interchangeable
Ask a manager how the room performed and you will get one of two answers. "We turned every table two and a half times" is a count of parties. "We were seventy per cent full" is a share of time. Neither one contains the other, and neither one is wrong — they are simply measuring different things, and the fix each of them calls for is different too.
Table turnover rate — the number of parties one table serves during a defined service, in parties per table.
Seat occupancy — occupied seat hours divided by available seat hours for the same period, a dimensionless share usually printed as a percentage.
The first is a headcount of events on a piece of furniture. The second is a share of an inventory measured in time. Turnover goes up when you seat more parties; occupancy goes up when guests fill more of the chairs you had open, for more of the hours you had them open. Push the first without watching the second and you get a room that seats parties of two at tables for six all night and reports a healthy number while chairs inside those occupied tables sit empty — inventory the room paid for in trading hours and never sold.
That last sentence is the whole page, and the rest of it is the arithmetic that makes it checkable.
The turnover formula: parties served over tables, for one named service
Table turnover rate = Parties served ÷ Number of tables
Parties served— groups seated and served at a table during the service, parties;Number of tables— tables open for sale during that service, tables;- result — turns per table.
Two things about this formula matter more than the formula itself.
It is a shift measure, not a monthly one. A month contains a Tuesday lunch and a Saturday dinner, and the average of the two describes neither. Compute turnover for a named service — Friday dinner, weekday lunch — and compare it against the same named service in earlier weeks. A monthly average of table turns is a number with no decision attached to it.
It counts parties, not guests. A table that serves four parties of two has turned four times and fed eight people. A table that serves two parties of six has turned twice and fed twelve. Higher turnover, fewer guests. Anybody optimising the first of those numbers alone is optimising against the till.
And this page prints no target band for turns. There is no statistical office anywhere that publishes a turnover norm for restaurants, the ranges that circulate come from software vendors quoting each other, and the reason we hold that line across the whole restaurant series is set out on the prime cost page. What you get here instead is the method for computing your own ceiling and your own history.
Seat occupancy: the same denominator that RevPASH uses
Seat occupancy % = Occupied seat hours ÷ Available seat hours × 100
Occupied seat hours— seat hours actually filled by guests in the period, seat-hours;Available seat hours— seats open for sale multiplied by trading hours, seat-hours;- result — a percentage.
Available seat hours = Seats × Trading hours
Seats— guest seats physically available for sale, seats;Trading hours— hours the room was open for sale, hours;- result — seat-hours.
Occupied seat hours = Covers × Average seated time
Covers— guests served in the period, guests;Average seated time— average time one guest occupies one seat, hours per guest;- result — seat-hours.
This denominator is deliberately identical to the one used on the RevPASH page, because two of our pages measuring the same room on two different denominators would be worse than no page at all. Fifty seats open for six hours is three hundred seat-hours of inventory, on both pages, in every example.
Occupied is counted by seats, not by tables. A party of three at a table for six occupies three seats, not six, and the other three seat-hours are inventory you held and did not sell. Systems that report "occupancy" from the table plan quietly count all six. That gap is the subject of half this page.
Four quantities, four units, and the division that breaks between them
This is where the arithmetic of a dining room is most often broken, and the break is invisible because every number involved looks reasonable.
| Quantity | Unit | What it counts |
|---|---|---|
| Available seat hours | seat-hours | inventory the room had to sell |
| Covers | guests | people fed |
| Seatings | parties | groups sat down at a table |
| Table turns | turns per table | seatings divided by tables |
Now the trap, with numbers. A fifty-seat room trades six hours: three hundred available seat-hours.
Available seat hours × Seat occupancy = 300 × 0.50 = 150
That result is 150 occupied seat-hours. It is not 150 guests. Seat-hours multiplied by a dimensionless share gives seat-hours, and guests are not measured in seat-hours. To get guests you have to divide the seat-hours by the time each guest holds a seat:
Covers = Occupied seat hours ÷ Average seated time = 150 ÷ 1.5 = 100 guests
One hundred guests, not one hundred and fifty. The broken version overstates the room by half, and it overstates it in exactly the direction that makes a manager relax. Written the other way round, the safe identity is:
Covers = Seats × Seat turns
Seats— seats open for sale, seats;Seat turns— covers divided by seats for the period, turns per seat;- result — guests.
Cornell's own worked example uses that identity and can be checked in one line: a hundred-seat room over four hours, "assuming all 100 seats were occupied four times for exactly one hour each time", serves four hundred guests, and if seated time falls to fifty minutes "the potential number of customers served would increase to 480 (240 minutes/50 minutes * 100 seats)" (Kimes, Restaurant Revenue Management, Cornell Center for Hospitality Research, CHR Reports vol. 4 no. 2, February 2004). Minutes divided by minutes-per-seating, multiplied by seats, gives guests. The units resolve, which is why the answer can be trusted.
Seat turns and table turns are not the same number either. In the evening laid out below the room does 2.0 seat turns and 2.67 table turns at the same time. Both are correct. They differ by exactly the amount that party size fails to match table size.
Time at the table in four segments, and which one is cheapest to shorten
Dwell time — the total time a party occupies a table, from being seated to the table being sellable again.
Each row below is a component of the row above
Seated time — the part of that during which guests are actually in the chairs.
Reset time — the minutes between a party leaving and the table being sellable again.
Dwell time = Wait-to-order + Service time + Payment time + Reset time
Wait-to-order— from the party sitting down to the order being taken, minutes;Service time— from the order to the check being requested, minutes;Payment time— from the check being requested to the party rising, minutes;Reset time— clearing and re-laying the table until it can be sold again, minutes;- result — minutes per seating.
We put clearing and re-laying inside dwell, and that differs from part of the industry, which stops the clock when the guests stand up. We say it out loud because it changes the answer: a table with a twelve-minute reset is not sellable for twelve minutes, and pretending otherwise inflates every capacity calculation built on top of it. Seated time is dwell minus reset, and it is seated time — not dwell — that belongs in the occupancy formula, because the guest is the one occupying the seat.
In the evening worked through below the four segments come out at 14 minutes of wait-to-order, 62 minutes of service, 14 minutes of payment and 12 minutes of reset: 14 + 62 + 14 + 12 = 102 minutes, which is the 1.7 h of dwell, and 102 − 12 = 90 minutes — 1.5 h — is the seated time that goes into the occupancy formula. Those segment lengths are illustrative, exactly like the evening they belong to.
| Segment | Who controls it | What shortens it | What breaks if you over-tighten |
|---|---|---|---|
| Wait-to-order | floor manager, staffing plan | greeting standard, menu already on the table, one server owning the section | guests feel processed before they have opened the menu |
| Service time | kitchen and menu design | dish mix by cooking time, course pacing, prep that is genuinely done | food arrives before the table is ready to eat it |
| Payment time | the paying step itself | terminal at the table, split-bill handling, paying without hunting for a server | the last impression of the evening becomes a queue at the till |
| Reset time | shift structure | a runner during peak, cutlery and linen staged near the section | tables go out re-laid badly and come back as complaints |
The cheapest segment to shorten is almost always payment, because nobody enjoys it. Nobody has ever left a restaurant complaining that paying was too easy. The most expensive one to touch is service time, because that is the meal, and the second most expensive is wait-to-order, because that is the welcome.
Theoretical turns = Trading hours ÷ Dwell time
Trading hours— hours of the service, hours;Dwell time— average dwell per seating, hours per turn;- result — turns per table.
Six trading hours over a dwell of one hour forty-two minutes is 3.53 theoretical turns. Treat that as a ceiling, never as a goal: it assumes a new party is standing ready the instant each table clears, which is true for perhaps two hours of a Friday and false for the rest of the week.
One Friday evening in a fifty-seat room, told in seat-hours
The numbers below are illustrative — a worked example built to be re-checked line by line, not a measurement of any restaurant and not a benchmark. Run your own data through the same shape.
The room: 50 seats, dinner 17:00 to 23:00, six trading hours, 300 available seat-hours. The table map: 8 tables for two, 4 tables for four, 3 tables for six — 15 tables, 50 seats. Average seated time 1.5 h, reset 12 minutes, so dwell is 1.7 h.
The evening: 40 parties, 100 guests, average party size 2.5.
- occupied seat hours = 100 × 1.5 = 150
- seat occupancy = 150 ÷ 300 = 50.0 %
- table turnover rate = 40 ÷ 15 = 2.67 turns
- seat turns = 100 ÷ 50 = 2.0 turns
- table hours held = 40 × 1.7 = 68 of 90 available table-hours = 75.6 % table occupancy
Four different percentages describe the same evening, and only one of them is seat occupancy.
Where the evening's seat-hours actually went
| Table type | Tables | Available seat-hours | Parties | Guests | Occupied seat-hours | Empty seat-hours at occupied tables | Turns | Seat occupancy |
|---|---|---|---|---|---|---|---|---|
| For two | 8 | 96 | 20 | 40 | 60 | 0 | 2.50 | 62.5 % |
| For four | 4 | 96 | 12 | 36 | 54 | 18 | 3.00 | 56.3 % |
| For six | 3 | 108 | 8 | 24 | 36 | 36 | 2.67 | 33.3 % |
| Whole room | 15 | 300 | 40 | 100 | 150 | 54 | 2.67 | 50.0 % |
Every cell is checkable. 8 tables × 2 seats × 6 hours = 96 available seat-hours.
The twelve parties of three sitting at tables for four leave one chair each: 12 × 1 × 1.5 = 18 empty seat-hours. The eight parties of three at tables for six leave three chairs each: 8 × 3 × 1.5 = 36. Total 54.
Read the last two columns together and the evening tells a different story from the headline.
The room did not have a demand problem that evening. It had a furniture problem.
Cornell's field case says the same thing in one sentence about a real restaurant: it "found that its table mix (mostly 4-tops) was inappropriate for its customer base (mostly singletons and couples)".
The moment the queue forms with thirteen empty chairs
Freeze the room at half past eight, when every one of the fifteen tables is occupied. Eight tables for two hold parties of two, four tables for four hold parties of three, three tables for six hold parties of three. Fifty seats are held. Thirty-seven people are sitting in them.
Thirteen chairs are empty and there is not one table to give away. A couple walks in, looks at a room with thirteen visible empty places, and is told the wait is forty minutes. From behind the host stand this is obvious. From the doorway it looks like incompetence, and half the time it is described to the manager afterwards as exactly that.
Seat occupancy is 37 ÷ 50 = 74 %. Both numbers are true, and only one of them explains the queue. If you want the operational side of the queue at the door and on the phone, we wrote about what unanswered calls cost separately.
A party of three at a table for six: the arithmetic of the mismatch
Lost seat hours = Σ ((Table capacity − Party size) × Seated time), summed only over parties where table capacity is greater than or equal to party size
Table capacity— seats at the table the party was given, seats;Party size— guests in the party, guests;Seated time— how long that party held the table before it stood up, hours;- result — seat-hours held and not sold.
The condition in the subscript is not decoration. Five people squeezed onto a table for four give a negative term, and a sum that goes negative on the tables working hardest would flatter exactly the rooms that are struggling. Sum only where the table is bigger than the party.
Reset time stays out of this figure on purpose. Clearing costs you seat-hours on every seating, including the perfectly fitted ones, so it is not a cost of the mismatch — it belongs in dwell, where it changes the turn ceiling instead.
What is 54 seat-hours worth? At the same seated time of an hour and a half it is capacity for 36 more guest-seatings — 54 ÷ 1.5. Whether that capacity turns into money depends entirely on whether anyone was waiting during those hours, which is the question RevPASH answers and this page does not. Recovered capacity in an empty hour is worth nothing. Recovered capacity at half past eight on a Friday is worth the most expensive hour you sell.
The levers on the mismatch are furniture and policy, in that order: combinable tables that make a six into a four plus a two, a host stand that is allowed to refuse a table for six to a party of two before nine o'clock, and a booking system that assigns tables by party size instead of by whatever is free. Large groups deserve their own channel entirely, and we treat them separately in event and banquet inquiries.
Shortening time at the table without hurrying anyone
Every minute you remove from dwell is a minute of inventory returned to the room, and there are two entirely different ways to remove it. One of them the guest never notices. The other one the guest notices immediately and remembers for a year.
The invisible minutes live at the edges of the meal, not in the middle of it:
- the menu is on the table before the guest sits, not fetched afterwards;
- the order is taken by whoever is already at the table, not by whoever owns the section;
- the check can be settled at the table, on request, without a search party;
- the table is cleared by a runner during the peak, not by the server who is three tables away.
Cornell's report is explicit that this is the direction of travel: anything a restaurant does to speed the check-processing step "will enhance guest satisfaction and reduce dining duration (again, without unduly rushing the guest)".
The visible minutes are the ones in the middle: chasing a table that has ordered dessert, clearing plates while somebody is still eating, dropping the check unasked. Those minutes are cheap to take and expensive to have taken, because the guest who felt hurried does not come back, and the seat-hour you saved cost you a return visit worth several of them.
The other half of the job is not on the floor at all — it is knowing how many parties of which size to expect in which hour, which is what a demand forecast is for, and staffing the reset accordingly with a shift plan that puts a runner where the turns are. The turnaround itself is a routine like any other and can be run as a checklist rather than as folklore.
Where a faster turn starts costing more than it returns
Cut reset from twelve minutes to six and dwell falls from 1.7 h to 1.6 h. The theoretical ceiling rises from 3.53 turns to 3.75, and the same forty parties now need 64 table-hours instead of 68. Four table-hours come back.
That is the entire gain, and it is conditional. Four table-hours returned in the dead hour between five and six are worth nothing at all, because nobody is at the door to take them. The same four hours returned at half past eight are the most valuable inventory in the week. Speeding the turn only pays where demand exceeds capacity, and every restaurant knows which two hours of its week those are.
The cost side is just as concrete. A six-minute reset during peak needs a runner, and the runner is paid for the whole shift, not for the peak. Cornell puts the trade-off exactly this way: managers' "common desire to minimize labor costs may backfire if reduced staffing leads to slower table turnovers and longer meal times", and the extra revenue from faster changeovers "may more than compensate for the increased labor costs". May. The word is doing real work in that sentence, and the arithmetic that settles it is hours of labour against seat-hours recovered in the hours where somebody was waiting.
There is a third cost that never appears on a rota. A room that turns faster than its guests want to eat converts a restaurant into a canteen, and the average check follows the atmosphere down. Turnover has an optimum, not a maximum, and the optimum is different for a bistro at lunch and the same bistro on a Saturday night.
Booking slots in seat-hours: what the buffer takes out of the room
A booking does not sell a table. It sells a block of seat-hours, and the block is bigger than the meal.
Booking slot = Expected seated time + Buffer
Expected seated time— how long a party of that size is expected to hold the table, hours;Buffer— the margin added for late arrival and reset, hours;- result — slot length, hours.
Slot seat hours = Table capacity × Slot length
Table capacity— seats at the table the slot blocks, seats;Slot length— the block sold, hours;- result — seat-hours removed from inventory by that one booking.
A fifteen-minute buffer on a table for four is 4 × 0.25 = one full seat-hour, gone, per booking.
Now run every one of our forty bookings at a slot of 1.5 h plus a quarter of an hour: 136 seats held × 1.75 h = 238 slot seat-hours against 300 available.
Both numbers come out of the same evening and the same software, and a manager reading only the first one will swear the room was almost full.
Two bases run through this evening, and they are never added to each other. The seated-time base counts what guests and their tables actually held: 136 seats × 1.5 h = 204 held seat-hours, of which 150 were occupied. The slot base counts what the booking book blocked: 136 seats × 1.75 h = 238. Everything in the next section is on the slot base, at the same 1.75 h, for kept and missed bookings alike — and the three missed bookings there sit on top of these forty.
Cornell is candid about how little is settled here: a restaurant taking reservations "must decide on the number of tables to allocate to each time slot and determine the desired interval between reservations", and "little research exists on the optimal number of tables to allocate to each time slot". What the source does commit to is the shape of the answer, not a value: "the desired interval between reservations will be dictated according to the expected meal duration by party size." Which is to say the slot is derived from your own measured seated time, per party size, and there is no published length to copy. How the confirmations themselves are sent and chased is a separate job, handled by booking.
No-shows and late arrivals priced in seat-hours, not in guests
No-show seat hours = Σ (Table capacity held × Booking slot length)
Table capacity held— seats at the table the booking blocked, seats;Booking slot length— the block the booking held, hours;- result — seat-hours lost.
The variable that matters is capacity held, not guests expected. A party of two that never arrives at a table for four, blocked for the room's 1.75-hour slot, costs 4 × 1.75 = 7 seat-hours, not the 3.5 that counting the two absent guests would give. Counting it by the number of guests who failed to appear understates the loss by exactly the mechanism this page exists to explain: the empty chairs were unsellable too.
Three no-shows on our Friday — a two at a four-top, a three at a six-top, a four at a four-top, each holding the same 1.75-hour slot as every other booking that evening — cost (4 + 6 + 4) × 1.75 = 24.5 seat-hours. Counted by the nine guests who failed to appear it would look like 15.75.
The 204 held seat-hours from the section above are on the seated-time base and are not added to that figure.
The same absence has a second measure, counted not in seat-hours but in bookings: No-show rate.
No-show rate % = Missed bookings ÷ Total bookings taken × 100
Missed bookings— bookings where nobody arrived at the table and nobody cancelled, bookings;Total bookings taken— every booking accepted for the same service, kept and missed together, bookings;- result — a share in per cent.
The denominator is bookings, not guests and not tables — that is the only way the same number means the same thing in a fifty-seat room and in a two-hundred-seat one.
No-show rate and no-show seat hours answer two different questions and neither replaces the other: the rate says how often the booking book is wrong, the seat-hours say how much that error costs the room.
Use the rate to compare periods and booking channels; use seat-hours to decide on deposits and overbooking.
Late arrival is the same arithmetic with a smaller clock. Cornell prices one directly: a table for four held thirty minutes for a party running late is 4 × 0.5 = 2 seat-hours, and at a RevPASH of thirty dollars per seat-hour the report puts the loss at sixty dollars. Two seat-hours times thirty dollars per seat-hour is sixty dollars — the units resolve, which is the only reason that example is quotable. The dollar figure is a 2004 illustration from the United States and transfers to nothing; the structure transfers to everything.
Measuring the loss is this page's job. Stopping it is a process question — the confirmation chain, the deposit, the release rule — and it has its own article: the no-show confirmation chain.
Lunch turns and dinner turns are two different measurements
Merging the two services into one daily turnover figure destroys the only useful thing about it.
Lunch sells speed. The party is smaller, the menu is shorter, the guest has somewhere to be, and the constraint is how fast the kitchen and the payment step can move. Dinner sells the table itself. The party is larger, the meal has courses, and the guest lingering over coffee is not a fault to be fixed — it is the product.
Cornell's field measurement of one American chain restaurant in 2004 found average dining duration of 50 minutes with a standard deviation of 20 minutes for dinner after 16:00, and 44 minutes with a standard deviation of 16 minutes for lunch before 16:00. Those numbers describe a suburban Phoenix casual-dining room twenty years ago and are not a target for anybody in Warsaw — the useful part is that the two services differed, and that the spread within each was large enough to matter more than the mean when you are sizing slots.
So keep two series. Two turnover figures, two occupancy figures, two seated-time distributions, two slot lengths. And when you set a slot, set it from your own spread rather than your own average: a slot built on the mean is too short for half your bookings by construction.
What GUS counts in Polish catering: outlets and revenue, never seats or minutes
This is the section that explains why there is no norm on this page, and it is a statement about the Polish data specifically.
Poland's official annual publication on the sector is Rynek wewnetrzny w 2024 r., from Glowny Urzad Statystyczny (GUS), the Polish statistical office, published 03.11.2025.
That revenue figure is published by GUS including VAT, which is why it can never be used as the denominator of a net-sales ratio.
Now the part that matters here. We read the publication looking for our own variables. It counts outlets, revenue, sales structure and the retail network. It does not report seats, it does not report table turns, and it does not report how long anybody sits at a table — the words simply do not appear in it in that sense. The European figures are the same shape: Eurostat's structural business statistics for NACE I56, food and beverage service activities, give Poland 57 999 enterprises and 240 592 persons employed for 2023 (Eurostat, sbs_ovw_act, dataset updated 10.03.2026), and that is enterprise accounting, not a dining room's seat plan.
So there is no official Polish turnover norm to quote, and no honest way to manufacture one. Anything you have read that gives a range for turns per evening traces back to vendor marketing rather than to a statistical office or a study. Your benchmark is your own past services on your own table map, which is the next section.
Building your own base from the seating log
Everything above is checkable against your own data, and the data already exists — it is sitting in the reservation system and the point of sale, in a form nobody exports.
One: pull the seating log with seated-at, left-at, table and party size
Four fields per seating are enough for every formula on this page. If the system records the check open and close instead of the seating and the departure, use it, but write down the substitution: a check opened after the guests sat and closed before they left will understate seated time, and it will understate it consistently, which is what makes the series usable anyway.
Two: write the table map down next to it and freeze it
Number of tables, capacity of each, seats open for sale. The denominator has to stand still across every period you compare. Move furniture, open the terrace, close the mezzanine, and you have a different measurement wearing the same name — restate the earlier services on the new map, or start a new series and say why.
Three: compare the same weekday and the same hour, and take the median
This Friday at eight against the last eight Fridays at eight, never against last Tuesday and never against a monthly average. Take the median rather than the mean: one wedding party of fourteen will drag an average around a whole quarter.
Once the series exists, the number worth watching every week is not turnover at all. It is empty seat-hours at occupied tables, because that is the one that tells you whether the problem is demand or furniture, and those two problems have nothing in common. Getting it onto a screen you actually look at is a job in itself, and the whole question of which numbers belong there lives on the KPI page and in dashboards; the shape of the underlying data is what analytics is for, and there is a good blog piece on which numbers an owner actually looks at.
Tying turns back to RevPASH so you do not optimise blind
The founding paper on restaurant revenue management is direct about the limits of the number this page is named after: "Instead of counting table turns or revenue for a given day part, restaurant operators should measure revenue per available seat hour (RevPASH). This measure captures the time factor involved in restaurant seating."
That is not a reason to stop counting turns. It is a reason to stop counting only turns. Turnover and occupancy are both physical quantities — parties and hours — and neither of them knows what anyone spent. Two evenings with identical turnover and identical occupancy can produce different takings, and nothing on this page would tell you by how much.
The join is one line:
Revenue = Available seat hours × RevPASH
Available seat hours— seats × trading hours, seat-hours;RevPASH— revenue per available seat hour, PLN per seat-hour;- result — revenue, PLN.
Read from left to right that says something obvious and useful: everything you recover on this page — the 54 seat-hours lost to the wrong table, the 24.5 lost to no-shows, the 12 spent on booking buffers — becomes money only at the rate the room earns per seat-hour, and only in the hours where somebody was waiting. The same source makes the connection in the other direction: "a reduction in meal duration during busy periods can increase seat occupancy and table turnover and can lead to increased revenue."
So the working order is: count the seat-hours here, price them on the RevPASH page, and decide from the two together. Restaurants that skip the second step end up shortening the meal in the empty hours, where it changes nothing except the mood of the room. The rest of the operational plumbing — reservations, suppliers, reviews — is covered in restaurant automation, and the full restaurant section lives at our restaurant hub.
Frequently asked questions
What is table turnover rate?
Table turnover rate is the number of parties one table serves during a defined service, calculated as parties served divided by the number of tables open for sale. It is a shift measure: Friday dinner, or weekday lunch, compared against the same service in earlier weeks. A monthly average of table turns mixes services that have nothing in common and supports no decision. Note that it counts parties rather than guests, so a table that serves four couples turns four times and feeds eight people, while a table serving two groups of six turns twice and feeds twelve.
How is table turnover different from seat occupancy?
Turnover counts events on a table; occupancy is a share of time on seats. Table turnover rate is parties divided by tables, in turns. Seat occupancy is occupied seat hours divided by available seat hours, as a percentage, where available seat hours are seats multiplied by trading hours. They come apart whenever party size does not match table size: in the worked evening on this page a fifty-seat room reaches 2.67 turns per table and 50.0 % seat occupancy at the same moment, and the gap between them is 54 seat-hours held at tables that were bigger than the parties sitting at them.
What is a good table turnover rate?
There is no published norm, and this page does not print one. No statistical office measures it: Poland's GUS publication on the sector counts outlets and revenue, not seats or minutes at a table, and Eurostat's business statistics count enterprises and employees. The ranges circulating online come from software vendors citing each other, with no study or statistical source behind them. The usable ceiling is your own: theoretical turns equal trading hours divided by dwell time, and your realistic target is the median of your own past services on the same table map, compared weekday by weekday and hour by hour.
How do I reduce dwell time without rushing guests?
Take the minutes from the edges of the meal rather than the middle. The menu on the table before the guest sits, the order taken by whoever is already standing there, the check settled at the table on request, and the table cleared by a runner during peak instead of by a server three tables away. Those minutes are invisible to the guest. Clearing plates while someone is still eating, or dropping an unasked check, is visible immediately and costs a return visit worth more than the seat-hour it saved. In our four-segment breakdown, payment is nearly always the cheapest segment to shorten, and service time the most expensive to touch, because service time is the meal itself.
Why is there a queue when seats are empty?
Because you sell tables and you measure seats. Freeze our example room at its peak: all fifteen tables are occupied, fifty seats are held, thirty-seven people are sitting in them. Thirteen chairs are visibly empty and there is no table to give a couple at the door. Table occupancy at that instant is 100 %, seat occupancy is 74 %, and both are true. The cause is party-to-table fit, not demand and not staffing, which is why discounting or adding staff does nothing about it. The fixes are furniture and seating policy: combinable tables, assignment by party size, and a rule about who may be given a table for six before the peak.
How long should a booking slot be?
A slot is expected seated time plus a buffer, and both parts come from your own measurements rather than from a published length. The founding Cornell report says plainly that "little research exists on the optimal number of tables to allocate to each time slot", and that the interval "will be dictated according to the expected meal duration by party size". Price the buffer before you set it: a quarter-hour buffer on a table for four removes a full seat-hour from inventory per booking, and across twelve such bookings in one evening that is twelve seat-hours. Build the slot from the spread of your own seated times, not the average, because a slot built on the average is too short for half your bookings by construction.
How much do no-shows cost in seat hours?
Count them by the capacity that was held, not by the guests who failed to arrive. No-show seat hours are the sum, over the missed bookings, of table capacity held multiplied by slot length. A party of two that never arrives at a table for four blocked for the room's 1.75-hour slot costs 4 × 1.75 = 7 seat-hours, not 3.5 — the empty chairs at that table were unsellable too. In the evening worked through above, three no-shows cost 24.5 seat-hours, which is 8.2 % of the room's 300 available seat-hours, while counting the nine absent guests would have shown 15.75. Keep the two bases apart: the 204 seat-hours parties actually held are a seated-time measurement and are never added to the slot figure. What that loss is worth in money depends on the revenue per available seat hour in those specific hours.
Take one Friday service, export the seating log, and put your own numbers through the two formulas at the top of this page — available seat hours and empty seat-hours at occupied tables. If the second one surprises you, it is a furniture and booking-policy question, and that is a conversation worth having with booking and your own dashboard open side by side.