The routing rule keeps handing enquiries to one consultant: finding out why
In short
When one consultant receives half the enquiries, the rule is usually working and the data underneath it is not: an enquiry with no usable destination cannot reach a destination specialist, so it falls to whoever the fallback branch names. Count a week of assignments per consultant beside the share of enquiries carrying a matchable destination — those 2 lines separate a data defect from a rule one.
Key takeaways
- An enquiry with no matchable destination cannot reach a destination specialist. It reaches the fallback, by design.
- Count assignments per consultant beside the share of enquiries carrying a usable destination — the gap is the diagnosis.
- Usable means in the vocabulary the rule branches on, not merely populated. Free text is an empty field with words in it.
- Match rate is a property of the channel: structured forms route, inboxes and message threads do not.
- Load should be measured as open enquiries owned, never enquiries received, when the sales cycle runs for months.
Before anyone rewrites a rule, separate 3 things that look identical from the outside: a rule that matches the wrong person, a rule that has no candidate to match, and a rule with nobody free to give the enquiry to. Only the first is a rule defect. The second is a data defect and by far the most common, because a destination specialist cannot be selected for an enquiry that does not say where anyone wants to go.
Designing the assignment method itself — scoring, acceptance, reassignment on no-touch — is a separate exercise covered in assigning enquiries by destination and load. This page is about finding out which of the 3 defects you actually have before you spend a fortnight on the wrong one.
The check: assignments beside matchable destinations
- Export 4 weeks of enquiries: id, arrival timestamp, channel, the destination field as captured, the consultant assigned, and which rule fired.
- Classify each enquiry as matchable or not, against the vocabulary the rule actually branches on rather than against your own judgement of the text.
- Count assignments per consultant per week, and split each consultant's total into matched by specialism and arrived via fallback.
- Compute match rate per channel. Web form, phone note, inbox, messaging, trade portal — the differences are usually larger than the differences between people.
- Check the specialist table against the current staff list. Leavers still listed and joiners never added both show up here and nowhere else.
- Read the rule set in evaluation order and write down what the last branch does. In most configurations nobody in the business has ever read it.
| Consultant | Assigned | Share | Matched by specialism | Via fallback |
|---|---|---|---|---|
| A | 105 | 49% | 22 | 83 |
| B | 27 | 13% | 27 | 0 |
| C | 24 | 11% | 24 | 0 |
| D | 23 | 11% | 23 | 0 |
| E | 19 | 9% | 19 | 0 |
| F | 16 | 7% | 16 | 0 |
Consultant A's 22 matched enquiries sit in line with everyone else. The other 83 are the fallback branch, and 83 of 214 is exactly the share of enquiries that arrived with no destination the rule could parse. The rule is not skewed. It is being handed 39% unroutable records and disposing of them the only way it was told to.
What counts as a usable destination
Populated and usable are different tests, and reporting on the first is what hides the problem. A field holding "somewhere warm in February, maybe Sicily" is a well-written enquiry and an empty field as far as any rule is concerned.
- It resolves to a value in the controlled vocabulary the rule branches on. If the rule tests country or region codes, prose about a coastline does not match, however clear it is to a human.
- It maps to a specialism at least 1 currently employed consultant holds. A region whose specialist left in March matches nothing and falls through silently.
- It survives the channel. Dropdowns and typeahead produce matchable values; free-text boxes, phone notes and message threads produce sentences. Compute match rate per channel and the ranking rarely surprises anyone once they see it.
- It exists at the moment routing runs. A destination captured on the qualifying call is 2 days too late to route on, which is why the field set is split by what it blocks in what a trip enquiry must contain to be quotable.
- It is not the highest-converting channel's blind spot. Messaging enquiries convert well and route worst, the tension examined in the messaging enquiry that never became a record.
Six causes and the signature each one leaves
| Cause | Signature | Confirming evidence | Owner |
|---|---|---|---|
| Destination empty or free text | Fallback share equals the unmatchable share | Match rate by channel varies wildly | Whoever owns enquiry capture |
| Specialist table stale | One region never assigns; a dormant user still receives | Table last edited before a joiner started | Sales manager, named |
| Availability data missing | Skew follows list order, not destinations | Everyone appears available every hour | System administrator |
| Rule order nobody has read | Specialist enquiries land on the generic branch | Rule audit shows 2 matches, wrong winner | System administrator |
| No load ceiling | Skew tracks breadth of specialism | The broadest specialist owns the most open files | Sales manager, named |
| Rotation state resets | Assignments favour whoever sorts first, jumping after releases | Counter restarts at deploy or midnight | System administrator |
Two rules matched and the one you did not expect won
Routing configurations grow by accretion: a rule for honeymoons, a rule for a trade partner, a rule someone added for a campaign 2 seasons ago and never removed. When an enquiry satisfies 3 of them something has to choose, and the choice is made by an evaluation order nobody in the business can describe.
The evidence is a firing audit rather than an opinion. Take 50 assigned enquiries and record, for each, which rules matched, which applied and what it set. Two findings are near-universal: a campaign rule still live long after the campaign, and 2 rules that are the same rule written twice by different people. Then write the surviving order on 1 page and keep it where the sales manager can read it, because a routing configuration that only exists in a settings screen is a configuration nobody owns.
A rule can only be as good as the table underneath it. Reference tables need an owner and a refresh path, or software acts on stale facts with complete confidence.
Availability and load, measured in the units this business runs on
Most routing tools ship with a load metric borrowed from transactional sales: enquiries received this week. In a business where an enquiry can take 6 months to close, that number says almost nothing about who has capacity to take another one.
- Measure open enquiries owned, not enquiries received. A consultant holding 40 live files is full whether or not any arrived this week.
- Weight by stage. An enquiry awaiting a client decision costs far less attention than one being itemised into an itinerary today.
- Write availability from approved leave, never from memory. A working-hours table nobody is required to update is more dangerous than none, because rules act on it confidently.
- Model out-of-hours explicitly. Enquiries that land overnight need a rule that does not pretend somebody is awake, worked through hour by hour in an enquiry arrives at two in the morning.
- Keep the trade channel out of the retail rule set. Portal enquiries carry an agent identity, credit terms and different service expectations, which is why a trade agent portal is a separate rule set rather than a reskin.
Reassignment is not the same operation as assignment
Fixing the skew usually means moving live enquiries, and a live enquiry is heavier than a new one. Anything already quoted carries a stack of itinerary objects, and a handover that loses track of which of them the client actually saw produces a worse conversation than leaving the file where it was. Keep the distinction between version, variant and revision intact through the handover, and give the receiving consultant the client-visible history rather than the latest draft.
Decision tree, with a name on each branch
- Fallback share matches the unmatchable share. Fix the data. Make destination a structured field with an explicit "not sure yet" branch that routes deliberately rather than falling through, and fix the worst channel first.
- Specialisms map to people who left or never arrived. Fix the table and give it a named owner with a monthly review. No routing change survives a reference table nobody maintains.
- Skew follows the user list order. Availability is absent. Add working hours and approved leave, and fail to a queue rather than to a name when the data is older than a stated age.
- The wrong specialist keeps winning. Run the 50-enquiry firing audit, retire the dead rules, and publish the evaluation order.
- Everyone is matched correctly and 1 person is still drowning. This is capacity, not routing. Add a load ceiling measured in open files and let the rule skip a full consultant.
- Ownership keeps drifting after assignment. Move ownership and state into a queue with an explicit owner per enquiry, and make one system authoritative — the split brain that follows from not doing so is traced in follow-ups still chasing a client who already paid.
Nearly all of this is reporting and reference-data work rather than a new platform: an export, a match-rate report by channel, an owned specialist table and a queue with an alert. That is ordinary internal tools and ops territory. The rest of the funnel sits under from enquiry to confirmed booking, inside our travel and tourism practice.
Frequently asked questions
Short answers to the follow-ups this page tends to raise.
Why do all our travel enquiries end up with the same consultant?
Almost always because they are reaching the fallback branch rather than a specialist rule. An enquiry with no destination the rule can match cannot be routed by destination, so it falls through to whoever the catch-all names. Count assignments per consultant beside the share of enquiries carrying a matchable destination: when the fallback owner's excess equals the unmatchable share, the rule is fine and the capture form is not.
Is round robin a fair way to assign travel enquiries?
Round robin is a reasonable tie-breaker and a poor policy on its own. It distributes evenly, which is not the same as distributing to whoever can answer, and it has no view of destination knowledge, current open files or whether anyone is working today. Use it to choose between candidates who have already passed a specialism and availability filter, and check that its rotation state survives a deployment.
Should enquiries be assigned to a person or held in a queue?
Assign to a person and fall back to a queue, never the reverse. Named ownership produces accountability and faster first replies, while an unowned queue produces neither until somebody claims from it. The queue exists to catch unmatchable enquiries and expired assignments, and it needs an owner and an alert or it becomes where enquiries go to be forgotten.
How do we route an enquiry that does not name a destination at all?
Route it deliberately rather than letting it fall through. A client who says only "somewhere warm in February" is a qualification job, not a specialism job, so send it to whoever runs first contact with an explicit rule and a target response time. The failure to avoid is treating an unqualified enquiry as an unmatched one, because the catch-all then quietly becomes your busiest consultant.
- enquiry routing
- assignment rules
- data quality
- sales operations
The work behind this page
Builds from our portfolio that this page draws on.
Read next
- Follow-ups still chasing a client who already paid: the state gapA paid client getting "still thinking it over?" is not an email problem. It is two systems holding quote state, with the exit condition wired to the wrong event or to no event at all.diagnostic
- Enquiry-to-booking conversion: the metric that lies at six monthsGroup enquiries by the month they arrived and follow them until they close. The calendar-month ratio moves when volume moves, so a growing month looks like a bad one.definition
- Bookings confirm on your site and the supplier has no recordA confirmation email proves the checkout finished, not that a supplier accepted anything. Here is the timed comparison that shows whether your booking script reads live availability or a copy.diagnostic
- Drafts that put a closed property on day four: fixing seasonal blindnessSeasonal blindness is a metadata failure, not a prompting failure: the closure lives in a sentence nobody can filter on, so the shut property stays in the candidate set the model draws from.diagnostic
- Hallucinated, not contracted, or not available: three different failuresOne symptom, three defects. An invented property, a real one you do not hold, and a contracted one that is sold out need three unrelated controls — and the middle case is the one that reaches the client.definition
- Net rate, sell rate and the gap you are actually paid forThree numbers sit on every costing line and only 1 of them is a fact: the contracted net rate. Store it as its own field or margin becomes a number someone types rather than one the system computes.definition
Working on something in this space?
Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.
Start the conversation