Audit and redesign a lead-routing setup — Revenue Operations Lead take-home
Context
Fernwood Cloud is an invented B2B software company with 90 employees, 6 SDRs, 8 account executives (4 mid-market, 3 enterprise, 1 strategic), and one customer success team. Leads come from web forms, a webinar platform, a product trial registration, and uploaded purchased lists. Sales leadership says leads are "getting lost" and AEs complain about junk. You have been asked to diagnose the routing and propose a replacement. Nothing is changed in any live system.
Materials
Current rules, in the order they run: (1) If country is not US or Canada, assign to the next SDR in round robin. (2) If employees is 1000 or more, assign to the enterprise AE queue. (3) If the email domain matches an existing customer, assign to the account owner. (4) If lead source is "webinar", assign to SDR round robin. (5) Everything else goes to the mid-market AE queue. Stated SLA: "respond fast." Last month, 1,240 leads: 410 web form, 380 webinar, 290 trial, 160 list upload. Median time to first touch: 31 hours. 22 percent of leads untouched after 7 days. A 30-lead sample of last month's routed leads is attached as routed_leads.csv (columns: lead_id, source, country, employees, email_domain, existing_customer, company, account_type, assigned_to, rule_fired, hours_to_first_touch; "none" means untouched after 7 days). Misroute examples the team called out: (a, lead L-1007) a 3,000-employee customer's new employee starts a trial and goes to an SDR in Germany. (b, L-1008) A webinar attendee at a 1,200-person company goes to the enterprise queue before the webinar rule runs, and the AE ignores it as "just a webinar lead". (c, L-1009) A list-upload lead at a competitor is assigned to a mid-market AE. (d, L-1010 and L-1011) Two leads from the same company arrive an hour apart and go to two different SDRs. (e, the Enterprise-AE-queue rows) The enterprise queue has one AE on leave and nobody is covering it. The team has not reviewed the other rows, and the sample holds more misroutes than the five they listed. Capacity: SDRs average 60 leads per week each; AEs want no more than 25 new leads per week.
Data
Download materials.csv (30 rows, 11 columns)
| lead_id | source | country | employees | email_domain | existing_customer | company | account_type | assigned_to | rule_fired | hours_to_first_touch |
|---|---|---|---|---|---|---|---|---|---|---|
| L-1001 | web-form | US | 120 | brightdock.example | no | Brightdock | prospect | MidMarket-AE-queue | 5 | 4 |
| L-1002 | web-form | US | 450 | cobaltmill.example | no | Cobalt Mill | prospect | MidMarket-AE-queue | 5 | 22 |
| L-1003 | trial | US | 85 | pinewave.example | no | Pinewave | prospect | MidMarket-AE-queue | 5 | 3 |
| L-1004 | webinar | US | 300 | trellisworks.example | no | Trellis Works | prospect | SDR-1 | 4 | 70 |
| L-1005 | list-upload | US | 60 | quarryhq.example | no | Quarry | prospect | MidMarket-AE-queue | 5 | none |
| L-1006 | trial | CA | 210 | maplegrid.example | no | Maplegrid | prospect | MidMarket-AE-queue | 5 | 9 |
| L-1007 | trial | DE | 3000 | ostwindgroup.example | yes | Ostwind Group | customer | SDR-2 | 1 | 41 |
| L-1008 | webinar | US | 1200 | granitelane.example | no | Granite Lane | prospect | Enterprise-AE-queue | 2 | none |
| L-1009 | list-upload | US | 800 | rivalstack.example | no | Rivalstack | competitor | MidMarket-AE-queue | 5 | 18 |
| L-1010 | web-form | DE | 180 | kellerbau.example | no | Keller Bau | prospect | SDR-3 | 1 | 52 |
| L-1011 | web-form | DE | 180 | kellerbau.example | no | Keller Bau | prospect | SDR-4 | 1 | none |
| L-1012 | web-form | US | 2400 | tidalmedical.example | no | Tidal Medical | prospect | Enterprise-AE-queue | 2 | none |
| L-1013 | trial | US | 35 | sparkloop.example | no | Sparkloop | prospect | MidMarket-AE-queue | 5 | 6 |
| L-1014 | webinar | US | 90 | gmail.example | no | (personal email) | unknown | SDR-5 | 4 | none |
| L-1015 | web-form | GB | 600 | harrowtech.example | yes | Harrow Tech | customer | SDR-6 | 1 | 27 |
| L-1016 | list-upload | US | 150 | opalfreight.example | no | Opal Freight | prospect | MidMarket-AE-queue | 5 | none |
| L-1017 | web-form | US | 1500 | summitcare.example | yes | Summit Care | customer | Enterprise-AE-queue | 2 | 2 |
| L-1018 | trial | US | 500 | lumenroast.example | no | Lumen Roast | prospect | MidMarket-AE-queue | 5 | 14 |
| L-1019 | webinar | US | 2000 | bayfieldbank.example | no | Bayfield Bank | prospect | Enterprise-AE-queue | 2 | none |
| L-1020 | list-upload | US | 40 | tinyforge.example | no | Tinyforge | prospect | MidMarket-AE-queue | 5 | none |
| L-1021 | web-form | US | 320 | redfinchlabs.example | no | Redfinch Labs | prospect | MidMarket-AE-queue | 5 | 8 |
| L-1022 | trial | US | 320 | redfinchlabs.example | no | Redfinch Labs | prospect | MidMarket-AE-queue | 5 | 31 |
| L-1023 | web-form | MX | 270 | solmarfoods.example | no | Solmar Foods | prospect | SDR-1 | 1 | 60 |
| L-1024 | webinar | US | 75 | nimbusdesk.example | no | Nimbus Desk | prospect | SDR-2 | 4 | 29 |
| L-1025 | list-upload | US | 1100 | rivalstack.example | no | Rivalstack | competitor | Enterprise-AE-queue | 2 | none |
| L-1026 | web-form | US | 700 | cedarpoint.example | yes | Cedar Point Co | customer | AE-Luis | 3 | 5 |
| L-1027 | trial | US | 25 | gemstonehq.example | no | Gemstone | prospect | MidMarket-AE-queue | 5 | none |
| L-1028 | web-form | CA | 4500 | northernlight.ca | no | Northern Light | prospect | Enterprise-AE-queue | 2 | 44 |
| L-1029 | webinar | US | 2300 | ironbridgeco.example | no | Ironbridge | prospect | Enterprise-AE-queue | 2 | none |
| L-1030 | trial | US | 140 | foxglovebio.example | no | Foxglove Bio | prospect | MidMarket-AE-queue | 5 | 12 |
Task
Diagnose first, then design. Use a doc, a table, or a diagram, and explain your decisions as you go.
- Walk through each of the five misroute examples and name the rule or gap that caused it, then scan the remaining rows and list any further misroutes you find.
- Group the causes into a short list of root problems.
- Propose a routing design: the order of rules, what each segment gets (sales-ready, nurture, disqualify, customer, competitor), who owns it, and the SLA for each with a reason.
- Decide what happens when the owner is absent or over capacity.
- Choose three metrics that would tell you in a month whether it works, and what you would do if each moved the wrong way.
- Say what information you would still need to verify before shipping, and how you would roll out without breaking live routing.
Stay inside 45 minutes.
Deliverables
- A diagnosis table: each misroute (the five listed plus any you found in the sample), the cause, and the root problem it belongs to
- A routing spec: rule order, segments, owner, SLA, and the reason for each SLA
- An absence and capacity policy for owners
- Three success metrics with a stated action if each moves the wrong way
- A list of facts to verify before shipping and a rollout plan
- A one-paragraph summary a sales leader could read in a minute
Rubric
| Dimension | What good looks like | Evidence to look for | Levels, weak to excellent |
|---|---|---|---|
| Routing decisions | Defines segments, ordered rules, owners, SLAs with reasons, and a disqualify and competitor path; handles ties and absence. | A spec with rule order justified; SLAs that differ by segment; fallback owner; duplicate-company handling. |
|
| Systems thinking | Finds root causes behind the five examples instead of patching each one, and identifies where a human reviews exceptions. | Five examples collapsed into a few root problems; an exceptions queue; capacity limits used in the design. |
|
| Data hygiene | Notices what the rules cannot know without clean data (account match, company size, customer status) and what must be verified. | Named dependencies on account matching; a check on the company-size source; no assumption stated as fact. |
|
| Clear write-up | A leader can read the summary and the spec and know what changes and why. | Short summary at the top; consistent terms; trade-offs stated. |
|
| Working with AI | Uses an assistant to stress-test the spec against the examples, and verifies its suggestions. | Examples replayed against the new rules; a correction when the assistant produced a conflict. |
|
Why unaided AI alone does not pass this
The rules, volumes, and a 30-row routed sample are provided, so the work is judgment on that data: tracing specific rule-order failures (L-1008 is a rule-order bug, L-1010 and L-1011 are a company-level grouping gap) and spotting misroutes the team did not list, such as a personal-email webinar lead, a customer on a UK domain sent to an SDR, and enterprise leads sitting untouched. SLAs must be sized against the stated capacity of 60 leads per SDR and 25 per AE per week. A reviewer can verify the work by replaying the examples against the new design and by asking the candidate to walk through two decisions, such as how they ordered the rules and why.
Notes for the reviewer
Unlisted misroutes planted in the sample: L-1015 (a customer on a UK domain goes to an SDR through the country rule), L-1014 (a personal-email webinar lead), L-1021 and L-1022 (same company, a form and a trial, split across queues), L-1025 (a second competitor lead), and L-1028 (a 4,500-person Canadian company in the enterprise queue, untouched for days, like the other Enterprise-AE-queue rows). Check that the candidate replays the examples against the new design. Strong answers separate lead-to-account matching from routing. To verify, ask the candidate to walk through two decisions, such as how they ordered the rules and why. Not observed is informative, not punitive.