Idle time in meeting schedules is the complaint you will hear
Idle time in meeting schedules is the number of empty slots sitting between a participant's first and last booked meeting. Leading and trailing free slots do not count, because a buyer who starts at eleven has not been kept waiting. The spread between the best and worst served participant matters more than the average.
The post-show debrief for a hosted buyer programme rarely opens with match quality. It opens with a buyer who had a meeting at 9:20, a meeting at 15:40, and nothing at all in between, and who said so in the feedback form in capital letters.
Idle time in meeting schedules is the failure mode your participants can see. Match quality is invisible to them, because nobody knows what the alternative meeting would have been. Six empty slots in the middle of a day are not invisible to anybody, and they are the reason a buyer declines the invitation next year.
What counts as idle, precisely
The definition matters, because two reasonable people will count this differently and produce numbers that are twice apart.
A buyer whose only meeting is at 16:00 has not been idle all day in any sense worth measuring. They arrived when they arrived. A buyer with meetings at 09:00 and 16:00 and nothing in between has six or seven empty slots that the schedule created.
Nguyen, Kieu and To, in a 2026 arXiv paper on compact encodings for business to business meeting scheduling, use exactly this definition and it is the one to copy. For a participant holding at least two meetings, take the slot index of the last meeting, subtract the index of the first, add one to get the span, then subtract the number of meetings held. Leading and trailing free slots are excluded by construction. They call the result internal idle slots, and it is the honest measure of what the scheduler did to somebody's day.
Work it once. A buyer holds meetings in slots 2, 3, 7 and 11 of a 12 slot day. The span runs from slot 2 to slot 11, which is 11 minus 2 plus 1, or 10 slots. They hold 4 meetings. Internal idle is 10 minus 4, which is 6. That buyer sat through six empty slots inside their booked day, and slot 1 and slot 12 do not count against the schedule.
Compare a second buyer with meetings in slots 5, 6, 7 and 8. Span is 4, meetings are 4, internal idle is 0. Both buyers got four meetings. One of them will fill in a feedback form.
Why is the average the wrong number to report?
The instinct is to sum internal idle across participants and divide. Do that on a programme of 200 buyers and you will get something like 2.4 empty slots per buyer, which sounds like a schedule that works.
It is worth seeing what that average conceals. Suppose 200 buyers hold 480 internal idle slots between them. If 160 buyers have 1 each, 30 have 4 each, and 10 have 20 each, the total is 160 plus 120 plus 200, which is 480, and the mean is 2.4. Those ten buyers with 20 idle slots each spent effectively their whole programme waiting. They are also, on most hosted programmes, the buyers who flew furthest, because long haul arrivals get the awkward availability windows.
The original formulation of this problem, published by Bofill and colleagues in the Journal of Artificial Intelligence Research in 2022, sets out business to business meeting scheduling as assigning meetings between given pairs to slots and locations under availability and accommodation capacity limits, with breaks in participants' schedules to be avoided as far as possible. Avoided in aggregate is where most implementations stop.
Nguyen, Kieu and To changed the objective to the range: the maximum internal idle count across participants minus the minimum. On the distribution above, the range is 20 minus 1, which is 19. A schedule with every buyer on 2 or 3 has a range of 1 and a worse total. The second schedule is the one nobody complains about.
Which objective should you actually optimise?
I would report both and optimise the range, and the reason is about who bears the cost.
Total idle time treats an hour of one buyer's waiting as interchangeable with an hour of another's. That is not how the complaint arrives, and it is not how the money works either. A hosted buyer whose flights and hotel you paid for and who then sat alone for five hours is a specific loss with a specific invoice attached. Fifty buyers with one extra gap each cost you nothing you will ever hear about.
There is a caveat worth stating plainly. Minimising the range can make the total worse, and on a constrained floor it usually does. If the only way to give your worst served buyer a compact day is to fragment four other days, you have moved the pain around and added to it. Measure both, publish both, and decide deliberately.
The compact encodings work reports numbers on 126 official instances derived from the earlier benchmark set plus 100 higher density instances the authors generated, with the median clause count of their encoding coming in 40.3 per cent below an adapted version of the published formulation and median peak memory 55.9 per cent lower. That matters for one practical reason: the range objective is harder to encode than the sum, and until recently that was a decent argument for not using it. The argument has weakened.
What this looks like on a real diary
Take a two day programme, 12 slots per day, 24 slots total, 200 buyers and 260 exhibitors. Suppose the scheduler places 1,860 meetings.
Meetings per buyer averages 1,860 over 200, which is 9.3. If those nine meetings were consecutive, every buyer would have close to zero internal idle and about fifteen free slots at the ends of their days, which they would spend walking the floor. That is the ideal and no floor plan delivers it.
What actually happens is that the popular exhibitors get booked in the middle of day one, so every buyer with a proposal to a popular exhibitor is anchored there, and their remaining meetings scatter into whatever is left. A buyer with meetings in slots 6, 7, 13, 14, 15 and 22 has a span of 17, holds 6 meetings, and carries 11 internal idle slots. Six meetings, most of a day wasted.
Now count the cost in the currency the finance lead uses. If that buyer's hosting cost 1,400 and they held 6 meetings, each meeting cost 233. A buyer with the same 6 meetings compressed into slots 6 to 11 costs the same 233 per meeting on paper and is a different experience entirely, which is the thing the unit cost will never show you. Idle time is the quality measure that unit cost cannot see, and it is produced by the pass that placed the meetings instead of by anything the buyer did.
Where to put the fix
Three places, in descending order of how much they will move the number.
Slot domains before scheduling. Most idle time is created by availability that was collected badly, so a buyer who is genuinely free from 10:00 to 16:00 gets modelled as free all day and gets placed at either end. Tightening what you know about a participant's day before the solver runs removes gaps that no objective function can recover afterwards, and collecting arrival and departure properly is the whole job there.
A compaction pass after placement. Take the schedule the placement stage produced, hold the set of meetings fixed, and re-solve only for which slot each meeting occupies. This is a much smaller problem than the original and it can run in seconds. Most of the gain is here for most shows.
The objective itself. Putting idle time into a weighted objective alongside match score is the textbook answer and it is the last one I would reach for, because it needs weights nobody can defend and it makes every result incomparable with last edition's. Keeping the placement rules fixed and separating what is a hard limit from what is a preference is a decision that belongs with the constraint design, not with a knob in a config file.
Where this stops
Internal idle slots measure the shape of a booked day. They say nothing about whether the day was worth having.
A buyer with a perfectly compact schedule of eight consecutive meetings, none of which produced a follow up, had a better day than the buyer with eleven gaps and no worse an outcome. If you optimise hard on idle time and stop measuring meeting outcomes, you will build a scheduler that produces beautifully compact days full of meetings nobody wanted, and the feedback score will improve while the rebooking rate does not.
The second limit is structural. On a floor where 40 tables serve 200 buyers across 24 slots, there are 960 table slots and 1,860 meetings will not fit, so the arithmetic above was already assuming more capacity than that. Idle time on a capacity constrained floor is partly a physical fact and no objective function argues with a table count.
The third is that a compact schedule for buyers is usually a fragmented one for exhibitors, because they are the fixed points that everybody else is scheduled around. If you only measure buyer idle time, you will be systematically improving one side of the hall at the expense of the other and calling it progress.
Start by computing internal idle slots for every participant in last edition's schedule using the span minus meetings formula, then sort the list and read the top twenty. If the worst served participants are all long haul arrivals or all in one product category, you have found a fix that does not need a new solver, and the matchmaking engine was never the problem.
Questions people ask about idle time in meeting schedules
- How do you measure idle time in a meeting schedule?
- For each participant with at least two meetings, take the slot index of their last meeting, subtract the slot index of their first, add one, then subtract the number of meetings they hold. That gives the empty slots strictly inside their day. Free slots before the first meeting and after the last one are excluded.
- Why do buyers complain about gaps rather than match quality?
- A gap is visible and personally costly. A buyer sitting in a hall for two hours between meetings can name exactly what went wrong and how long it lasted. A mediocre match takes fifteen minutes and gets filed as a normal business meeting, so it never generates a complaint even when it wasted more of the programme's money.
- Should a scheduler minimise total idle time or the worst case?
- Minimising the total lets the solver dump every gap onto a handful of unlucky participants while the average looks fine. Minimising the range between the highest and lowest idle counts spreads the pain and removes the outliers who write the complaint emails. Report both figures so the trade is visible.