Round-robin assignment is familiar to most sales teams. It's a deceptively simple concept that often becomes more complex in practice. We'll take you through the key concepts you need to supercharge your round-robin approach.
While round-robin assignment is most common for inbound lead routing or case routing, you can use it anywhere you have a group of users that need to receive work from a central list. For simplicity, I'll refer to leads in the rest of this post, but remember it applies to anything you want to assign, at any stage of your customer lifecycle.
This post discusses adjustments that turn a basic round-robin into something that's more adaptive. While round-robin is "fair" in that it distributes an equal number of leads, it doesn't always give you the outcomes you're looking for.
In our experience, sales organizations almost always use a modified form of round-robin. This post is about the kinds of modifications you'll likely need in the real world. It won't dive into the details of how to implement round-robin assignments in Salesforce or any other system. If you're looking for a detailed guide on how to implement the basics, I recommend this excellent post by Kicksaw.
Before we get into advanced round-robin, let's talk about the basics. Forget about leads and sales reps for a minute and let's use something a bit more tangible: a card game.
Most of us have played some form of card game with a dealer who hands out cards. The dealer starts with one player, gives that player a card and then goes around the table, handing each player a card until some number of cards have been given out. This is a good way to evenly divide a large number of things (cards) among a small number of people (players). That's basic round-robin.
Let's apply this to sales. The cards are leads (or accounts, etc) and the players are sales reps. Pretty simple right? There's just one change we need to make. Instead of having a limited set of cards that we hand out all at once, imagine our dealer has a machine running 24/7 that periodically hands them a card to distribute. This is more like how inbound leads work. From there the process is the same. Keep track of the last rep to get a lead, then hand the new lead to the next player around the table. Rinse and repeat, forever.
Card games don't stop when you deal the cards (obviously). Playing the game usually involves players "using up" cards in their hand and getting assigned new ones, until there are no cards left. Round-robin assignment in sales is similar. We assign leads to reps and those leads get disqualified, they close, they go quiet, and so on. The difference is that, unlike a card game, we a) never stop playing the game since there are always new leads, and b) don't control when a new lead becomes available. Over time, players (reps) can end up with very different "hands" (books).
This causes several challenges:
- How do you handle a ramping rep who is just getting started and doesn't currently have anything to work? Essentially you have a game where new players with no cards can join at any time.
- What happens if some reps have more leads than they can reasonably work? Imagine a card game where one player has 20 cards in their hand and another player has 5. Do you keep handing out new cards equally to both?
- What happens when a rep isn't available? Maybe they're out sick or taking a vacation. This is like a player getting up and leaving the table for a little while; you probably don't want to just keep handing them cards.
Let's go back to the card game analogy. We assumed that every time we went around the table, we gave one card to each player. It doesn't have to be that way. Imagine if one player was special and got dealt two cards every time around. This approach is known as "weighted round-robin" (in the same sense as a weighted average).
To fully generalize this idea, imagine that at the start of every "round" of distribution, each player has a counter of how many cards they're supposed to receive. Each time the player gets a card, their counter goes down by one. If their counter is 0, they don't get a card. The dealer continues dealing cards until each player's counter is at 0. Once that happens, everyone's counter resets and the process starts over.
Why all the complexity with rounds and counters and such? The reason comes back to our "card machine" that periodically produces cards. If you're dealing with something like leads that come in randomly one at a time, you generally want to avoid handing a whole bunch of consecutive leads to the same rep. Doing so wouldn't be particularly fair because you're "starving" the other reps for some period. It's also not optimal because you might overload the lucky rep who's getting several leads at once.
Weighting has many real-world uses. It can help a rep who's "behind" catch up to other reps without totally unbalancing the distribution. Teams often use this approach to help certain reps build pipeline when ramping or if they've been out for a while. Weighting can be a good way to reward certain reps or ensure that senior reps get more opportunities than more junior reps.
Take capacity into account
As we assign leads to reps, some leads enter sales cycles and some get disqualified. Over time, different rep behaviors (and some luck) will lead to some reps having too much and some reps not having enough.
One way to handle this is to take capacity into account. This kind of "capacity-aware" assignment can really take two forms: load-balancing (which really isn't round-robin at all) and "capping".
Load-balancing, like it sounds, is about ensuring every rep has the same amount of stuff to work (aka "load"). If we go back to our card game analogy, imagine if the dealer always gave the next card to the player with the fewest cards in their hand. That would be a fully-load balanced approach. It may not be ideal, however, because it has the same issue as weighted round-robin in which you might give a lot of consecutive cards to a single player. (Fun fact, a similar situation in computer science is referred to as "the thundering herd problem".)
With a simple load balancing approach, think about what would happen when a ramping rep suddenly gets added into the rotation. You'd immediately hand every assignment to them until they had as many assignments in their book as the next lowest rep. If you do that, you'll end up with some unhappy reps.
A variation on this approach is "capping". You use the normal round-robin distribution approach (weighted or otherwise) but you also introduce a maximum capacity. If any rep's load is "at capacity", you skip that rep in the distribution until they have available capacity. (Clever readers will realize this is like setting their weight in the round-robin to 0.)
One challenge with capping is that you need some way to deal with the scenario in which every rep is at capacity. In this case, you could run into a scenario in which no one gets a lead which is... not ideal. Often, it makes sense to institute some kind of fail-safe assignment to a manager.
It's important to realize that in both of the above scenarios it's not necessary for the load or maximum capacity to just be a count of leads or even a fixed number that's the same for every rep. It could be defined as a potential book value or even a multiple of each rep's quota.
Capping is an under-utilized tool in the round-robin assignment toolkit. It can lead to more balanced outcomes while avoiding the "thundering herd" issue that assigns a bunch of leads to one rep.
Handle rep availability
When one of the players gets up and leaves the card table, it doesn't make to keep handing them cards. The same is true if your reps are out sick or on vacation. Any good round-robin implementation needs to take this into account and allow certain reps to be temporarily removed from the rotation.
Another availability consideration is working hours. This is especially important in global organizations that use a follow-the-sun model to ensure they're responsive at all hours. While that full round-the-clock model is more common in customer support or IT, the basic concept often shows up in organizations that try to cover a lot of time zones. For example, a sales org might have East Coast reps handle inbounds from 8am to 5pm ET and West Coast reps handle inbounds from 11am to 8pm ET (8am to 5pm PT). In short: East Coast handles the early morning, both handle the midday period and the West Coast handles the evening. A full round-robin implementation should be able to handle this kind of approach.
We have yet to see a round-robin assignment implementation where the need to manually skip a rep didn't come up in some way. No matter how pure and optimized your assignment method is there will always be a case when a manager wants to skip a rep.
The reason for this is simple: unexpected things happen. Managers might skip a rep if they've recently assigned them a discretionary lead (e.g. as a result of a rules-of-engagement judgment) or, more rarely, as a disciplinary action.
A flexible round-robin implementation will allow for skips in certain circumstances. It's always a good idea, however, to document skips and the rationale for them since one of the main purposes of a round-robin approach is to fairly and automatically allocate leads. It may be necessary to explain the decision later.
As you move to more advanced forms of round-robin, make sure you can always explain to a rep the rationale for why they received (or didn't receive) a particular lead. We highly recommend that you maintain a log of assignments logic, an audit trail of assignment decisions, and some kind of process documentation. These will come in very handy if you need to explain the system's behavior.
Most organizations start with some form of basic round-robin and quickly find they need to handle the situations described above. We also find that once a round-robin capability is in place, most organizations see opportunities to use it beyond leads and start cutting back on their assignment mullet.
It probably doesn't surprise you that we built Gradient Works Assignment to address all these challenges. Regardless, when you're considering routing and assignment solutions, make sure that whatever you use supports advanced round-robin, but can also handle assignments throughout your entire customer lifecycle.