Talk Strategy

Automation & RevOps

Contact
Case Study: Performance-Based Lead Routing for 168 Franchise Agents | BizCres
BizCres  ·  HubSpot Enterprise  ·  Case Study

We stopped a franchise from leaving money on the table with 168 unscored agents

A national franchise was sending leads to agents based on location and luck. We built a system that routes leads based on who actually performs — and it runs itself every single week.

See If This Applies to You
What this system changed
168
Agents scored automatically
Zero manual input required
100
Point performance model
3 live metrics, recalculated weekly
0
Manual lead assignments
Fully automated end to end
Industry
Moving & Relocation
Region
Canada (National)
Platform
HubSpot Enterprise
Agents Managed
168 Franchise Locations
Service
RevOps & CRM Automation
The Situation

Good agents were being treated the same as bad ones. That was costing real revenue every week.

Imagine you run a national franchise with 168 locations. Every week, hundreds of inbound leads come in. Your system looks at where the customer is, finds the nearest available agent, and sends the lead. Simple enough.

But here is the problem. Agent A responds within two hours and closes 7 out of 10 leads. Agent B takes two days to respond and closes 2 out of 10. Your system sends them the same number of leads. That is not just inefficient. That is revenue walking out the door every single week.

This client came to BizCres with exactly that problem. They had a HubSpot routing system that was working technically. Leads were being distributed. Agents were being notified. But nobody had asked the harder question: are leads going to the people most likely to close them? The answer was no.


What Was Broken

Four things the existing system could not see or measure

01

No performance weighting at all

Assignment was geography plus randomness. A top performer got the same volume as someone who ignored half their leads.

02

Response speed was invisible

The system had no memory of whether an agent called back in 30 minutes or three days. Every assignment started fresh with zero accountability.

03

Revenue contribution meant nothing

An agent closing high value moves and one closing low value ones were treated identically. The routing engine had no idea which one was actually driving the business.

04

No catch up mechanism

If an agent fell behind their monthly minimum, nothing corrected it. They kept getting the same distribution while falling further behind.


What We Built

A scoring engine that watches every agent every week and adjusts automatically

We designed a 100 point performance score for each of the 168 agents. It is recalculated every week, stored directly on the agent record in HubSpot, and read live by the routing workflow the moment a new lead arrives. The best performing agents earn more leads because the system figured it out on its own.

Total Performance Score per Agent (0 to 100 points)
Recalculated every week
Response Speed Score
How quickly does the agent contact a lead after assignment? Measured in business hours. Consistent SLA breaches drop this score. Fast responders get rewarded with more volume automatically.
0 to 40 pts
Lead Progression Score
Does the agent move leads through the pipeline or let them sit? This tracks stage movement over 30 days and flags agents who let leads stagnate without meaningful activity.
0 to 40 pts
Revenue Contribution Score
Rolling 3 month revenue normalized against other agents in the same market. An agent doing well in a smaller city is never penalized against someone in a major metro. Always fair and local.
0 to 30 pts

We built in a critical safety net: agents with no score history yet default to 1 point instead of zero. New agents still receive leads while the system builds their profile. No one gets locked out before they even start.


How the Routing Works

From the moment a lead arrives to the moment it lands in the right inbox

1

Lead enters the system and gets classified

A new customer record is created in HubSpot. The routing workflow fires immediately and classifies the lead: referral, international, specific brand channel, or standard domestic. Standard domestic is where the performance scoring kicks in.

2

A serverless function finds every eligible agent

A Node.js serverless function pulls all active agents and calculates geographic distance between the customer location and each agent coverage area. If no agent covers the area, the search radius expands automatically in 50 km increments up to 2,000 km.

3

Agents below their monthly minimum get priority first

Before performance scoring runs, the system checks whether agents are below their 30 day distribution threshold. Agents who are behind get prioritized first. This keeps the floor fair across all 168 locations before high performers receive extra volume.

4

The performance score decides who gets the lead

Within the eligible pool, a weighted random selection runs using each agent’s total_performance_score. An agent with 80 points is four times more likely to receive the lead than one with 20 points. Probabilistic, not winner takes all.

5

The SLA clock starts and scores update every week

The moment of assignment is stamped on the record. A workflow monitors response against business hours SLA. Every week, all three score components are recalculated across all 168 agents and total_performance_score updates automatically. The routing engine always reads the freshest number.

Before
closing_ratio_number (static, never updated)
After
total_performance_score (recalculated weekly from live behavior)

The routing code change was three lines inside the existing Node.js function. The real work was the scoring infrastructure: 9 custom agent properties, 6 custom Move properties, and 9 automated HubSpot workflows running silently every week.


What Changed

A system that gets smarter every week without anyone touching it

168
Agents scored and routed dynamically with zero manual input
3
Live behavioral metrics combining into one weekly score per agent
0
Manual lead assignments. The system handles everything automatically
Self improving. Scores evolve every week as agent behavior changes

Because revenue is normalized within each geographic market, a strong agent in a smaller city is never unfairly compared to someone doing volume in a major metro. The score reflects how good you are relative to your own market, not the entire country.


Under the Hood

Built entirely inside HubSpot. No new tools. No new monthly costs.

Everything lives inside the client’s existing HubSpot Enterprise portal. No third party scoring platforms. No external databases to sync. We connected what was already there and made it significantly smarter.

HubSpot Enterprise Core platform
Custom Objects Move & Agent
Node.js Serverless routing function
HubSpot Workflows 9 automated flows
HubSpot API Live agent data
Haversine Algorithm Geographic coverage
Business Hours SLA Custom serverless function
Revenue Normalization Rolling 3 month per market

Is This You?

If you distribute leads across multiple agents, reps, or locations this problem probably exists in your business right now

Most multi agent and franchise businesses distribute leads the same way this client did: geography first, then round robin or randomness. It works well enough that nobody questions it. But quietly, the same pattern plays out everywhere: strong agents are underserved, weak ones are overserved, and the business never reaches its real conversion potential.

  • Real estate networks routing buyer and seller leads across licensed agents
  • Insurance brokerages distributing inbound quote requests to advisors
  • Home services franchises routing jobs to franchisees across regions
  • Financial services networks with distributed licensed reps
  • Any business where leads go to a pool of people and performance between those people actually matters

If your leads are being distributed by location and luck, let us fix that.

We build performance routing systems, scoring models, and CRM automation for franchises and multi agent operations on HubSpot, Zoho, and Salesforce. The first conversation is free and we will tell you exactly what is possible for your setup.

Book a Free Strategy Call
No obligation. No sales pitch. Just a straight conversation about your system.