// . //  Insights //  How To Create The Perfect Seating Plan Using Analytics

Let me set the scene. For the first time in a few years, your organization has decided to plan a major corporate event with attendees from various regions around the world. You want to spark networking between individuals and groups that are typically siloed and never, or rarely, interact. The challenge you face is not only arranging the seating for a large number of people, many of whom approach such interactions with trepidation, but also doing so in a way that will maximize the diversity of the guests at each table. Thankfully there is a solution.

After struggling to find adequate software to help with table arrangements, I aptly solved the problem for a recent Oliver Wyman event. Based on my operations research background, I built an open-source program to do the job of mixing up 1,500 people. The three-day event was a huge success. While some company veterans griped about not seeing many old friends at their table, most, including staff who joined during and pre-COVID, raved about how well it helped them meet and network with new people.

What to consider for the perfect seating plan

Our criteria for having a mixture of people at each table was based on the information available to us in company profiles. In our system, we had access to details including a person’s job title, office location, level of seniority, and gender identity. Loaded with this data we were able to utilize the algorithm to ensure a perfect representation of personalities at each table, mixing new joiners and veterans as well as people across a range of roles (partners, specialist, associate consultants, core consultants, support), office locations, seniority level (pre-COVID and COVID joiner), and genders.

We quantified maximum diversity using a penalty score that had a low value when the entire table was highly diversified and a high value when it was not. For example, imagine there are 31 specialists at an event, which means we don’t want to seat more than four at one table. Consider a score that is the square of the number of people with the same role at a table. For two tables, one with two specialists and the other with five specialists, we would have a score of 22 + 52 = 29. If we rearranged the seating so that there were three and four specialists at the two tables, that would be 3+ 42 = 25, which is a lower score, and better distributes the specialists.


This equation could be extended to consider all the attributes and is a simple penalty score. Highly complex diversity penalty scores could be handled as well.

How it works: table assignment and seating plans using an algorithm

The overall algorithm has two primary roles:

  1. The placement of the employees at tables that maximize diversity based on simple rules that yield a low overall penalty score, although not the lowest possible penalty score.
  2. The iterative improvement process that remixes a small set of employees to find rearrangements that further reduce the overall penalty score.

The algorithm will be explained using an example with 67 people, split by roles, offices, COVID or pre-COVID joiner, and gender. Below is the split among roles. Not shown is that the group has five offices ranging from Atlanta with 26 to London with five people. Twenty-four people joined during COVID and 43 joined pre-COVID. There are 20 females, 44 males, and three people who identify as non-binary.

Generating an Initial Solution
In our example, we start by looking at the role with the smallest head count, and in this case it’s partners.

There are five partners that are assigned randomly to five tables. At this point four tables have no one assigned yet.

We’ve run out of partners, so then we begin to assign the next smallest group which are the six support professionals. We begin by randomly assigning four of them to the tables that have no attendees.

Now comes the tricky and interesting part. We have two more support professionals to assign somehow to these nine tables that all have one attendee.

For each of the two remaining support personnel, calculate the different penalty scores if they are placed in each of the nine tables.

For example, there will be a high penalty if a support employee is placed at a table with a partner from the same office.

And a high penalty if the support employee gets placed at one of the four tables that already have a support employee.

There are a total of 18 penalty scores, one for each of the two support employees to assign to each of the nine tables.

We then do an optimized assignment between the two remaining employees and the tables that minimizes the total penalty over all the tables. This is done efficiently using a well-known ‘network flow’ algorithm.

Next, the eight associated consultants are distributed to the seven tables that only have one attendee. Again, we develop 8 x 7 = 56 penalty scores for how each of the associated consultants would affect the diversity at each of the seven tables. Then we do an optimized assignment that maximizes the total diversity, using the network flow algorithm.

We assign the remaining associated consultant to the table that most improves the diversity score.

At this point eight tables have two seats assigned and one table has three seats assigned.

For the 31 specialists we develop the penalty scores for assigning them to the eight tables that have two assigned seats which considers the entire diversity at each table. Then we perform the same optimization to select eight of the 31 specialists and assign them to the eight tables. This continues until all 23 remaining specialists are assigned. Finally, we do the same process with the remaining 17 core consultants.

Solution Improvement
This is a pretty good solution, but not perfect due to the sequential manner of going through each role and not having a globally optimal assignment. For example, tables four and seven have six employees that were hired pre-COVID, however we only wanted no more than five.

And table five has four Atlanta employees when we wanted no more than three.

At this point, we use an iterative solution improvement technique to obtain what is most likely the optimal solution, although we can only claim it is an improved solution.

The approach is to pick one attendee from each table and see if there is a rearrangement of these attendees to different tables that raise the diversity by lowering the penalties we established for not having sufficient diversity.

This uses the same underlying network flow algorithms to find a better assignment. Most of the time, the randomly picked employees cannot be reassigned in a way that makes the tables more diverse or reduces the upper bound exceptions. But sometimes it does.

For the simple penalty score discussed earlier, the optimal solution was reached after 20 iterations in a matter of seconds.

In general, the algorithm runs quickly. Less than one minute for the 1,500 person-sized problem with a highly complex diversity penalty scoring.

Final table arrangements
Here’s what the final output looked like. Click on each of the tables or seating to see the details.

What’s new in this approach

Many papers have been written on using heuristics to solve this problem, but it is a very hard problem to solve to provable optimality. In these papers, the heuristics involve testing to see if swapping two or three attendees at a time could improve the solution. Our approach that uses a network flow for the improvement step simultaneously tries to swap many attendees at a time. In the small example above, each improvement step looked at swapping nine attendees at a time. For the offsite, it swaps 150 attendees at a time. When we tested this compared to one of the existing algorithms, we achieved a much higher diversity score.

While this algorithm does not guarantee a perfectly optimal amount of diversity at each table, it comes very close, and it definitely sparked a lot of valuable connections for our company. Try the algorithm yourself at your next event.