Back to Blog
Guide12 min read

How to Build a Buyer Scorecard That Ranks Pay-Per-Call Demand by Margin

Score buyers on payout, accept rate, return rate, and payment reliability. Route to margin, not intuition.

A home services operator in Dallas ran three HVAC buyers last summer. Buyer A paid $72 per billable call. Buyer B paid $58. Buyer C paid $65. For eight months, routing priority followed the payout ladder — A first, then C, then B.

Seemed obvious. Higher payout, higher priority.

Then someone actually ran the numbers. Buyer A's accept rate was 61% — they ducked almost four out of ten routed calls. Return rate? 14%. Net-30 payment terms with occasional "disputes" that dragged to net-45. Buyer B, the lowest payout? 93% accept rate. 2% returns. Paid every Friday like clockwork.

Effective margin per routed call: Buyer A delivered $38.47. Buyer B delivered $52.49.

For eight months, this operator prioritized the wrong buyer. Thousands of calls. Tens of thousands of dollars left on the table because nobody built a buyer scorecard.

I've made this exact mistake. Chased the big payout numbers, ignored everything else, wondered why my cash flow looked anemic. Felt smart right up until I did the math and realized I'd been subsidizing a buyer's bad operations with my own margin.

This pattern repeats across legal intake, Medicare, and insurance campaigns. Operators fixate on headline payout and ignore the five other variables that determine whether you actually get paid. Our ROI-by-publisher tracking guide covers the source side of this equation. This post is the demand side — ranking buyers, not sources.

Here's how to build a buyer scorecard that routes calls to whoever actually delivers margin, not whoever looks best on paper.

What You're Building

By the end of this, you'll have a weighted scoring system for every buyer in your rotation. Each buyer gets a composite score based on payout, accept rate, return rate, payment reliability, and (optionally) downstream close rate. Calls route to buyers in score order, not payout order.

The scorecard updates weekly (or daily, if you're running volume). Your routing rules pull from it automatically.

Prerequisites

  • At least 30 days of call data per buyer (statistical noise wrecks small samples)
  • Access to your call tracking platform's buyer-level reporting
  • Payment records showing actual deposits, not just invoiced amounts
  • A spreadsheet or BI tool for the initial build (automate later)
  • If you're tracking close rates, CRM access to match calls to outcomes

Step 1: Define Your Scoring Metrics

Five metrics matter. You can add more, but these five capture 90% of the margin variance between buyers.

Metric 1: Effective Payout

Not the contracted payout — the actual dollars received after adjustments, bonuses, and penalties. A buyer paying $75/call with a $3 "quality bonus" on 60% of calls has an effective payout of $76.80. A buyer paying $80/call with a $5 "short duration" penalty on 25% of calls has an effective payout of $78.75.

Pull this from your payment reconciliation, not your contract.

Metric 2: Accept Rate

Percentage of routed calls the buyer actually answers. If you send 100 calls and they pick up 78, accept rate is 78%. Low accept rates mean you're burning caller patience on buyers who aren't there. Those callers hang up and call your competitor.

Industry benchmark: 85%+ is solid. Below 75% is a problem. Below 60% is unacceptable — why are they in your rotation? If you're seeing consistently low answer rates, our fix low answer rates guide digs into root causes.

Metric 3: Return Rate

Percentage of accepted calls the buyer disputes, rejects, or claws back. "Caller wasn't qualified." "Duration didn't meet threshold." "Duplicate from last week." Some returns are legitimate. Above 5%, something's wrong — either your qualification is broken or the buyer is gaming you. See our fix high call return rate guide for troubleshooting.

Metric 4: Payment Reliability

Two components: days to payment (net-7 vs net-30 matters if you're funding publisher payouts) and dispute frequency (how often does the buyer short-pay and require chasing?).

A buyer who pays $70/call net-7 with zero disputes may be worth more than one paying $80/call net-30 who disputes 10% of invoices. Cash flow is real.

Metric 5: Close Rate (Optional)

If you have downstream visibility — the buyer shares conversion data, or you're running both sides of the marketplace — close rate is the ultimate metric. A buyer who closes 28% of qualified calls at $400 average ticket generates more value than one closing 18% at the same ticket.

Most operators don't have this data. If you do, use it. If you don't, the first four metrics are enough.

(Honestly? I've run campaigns where I begged buyers for close-rate data and got nothing but vague "it's good" responses. Frustrating as hell, but you work with what you have.)

Step 2: Collect Baseline Data

Pull 30-60 days of data per buyer. Under 30 days and statistical noise wrecks your analysis.

Data points to extract:

BuyerCalls RoutedCalls AcceptedCalls ReturnedGross PayoutNet ReceivedDays to PaymentDisputes
Acme HVAC41234722$24,696$23,108142
Beta Plumbing2872688$15,066$14,87270
Gamma Home19811931$14,256$10,944314

Look at Gamma Home. 60% accept rate. 26% return rate on accepted calls. Net received is 77% of gross. That $72/call headline? Effective value per routed call is $55.27. You can't see this from the payout column alone.

VeloCalls shows accept and return rates per buyer in the analytics dashboard. On Ringba, you'll pull from target reporting. For filtering fraudulent calls before they hit your buyer rotation, ClickzProtect handles click-level detection on the paid search side.

Step 3: Normalize and Weight Metrics

Raw numbers aren't comparable. Normalize each metric to a 0-100 scale, then apply weights.

Normalization: Accept rate = direct percentage (87% = 87 points). Return rate inverted (5% returns = 75 points). Payment reliability combines days and disputes: (100 - days_to_payment) * (1 - dispute_rate).

Default weights:

MetricWeight
Effective Payout30%
Accept Rate25%
Return Rate20%
Payment Reliability15%
Close Rate (if available)10%

If cash flow is tight, bump payment reliability to 25%. There's no universal answer — weight what matters to your operation.

Look, I'm not going to pretend I nailed these weights on the first try. My initial scorecard over-weighted payout (50%) because, I don't know, big numbers felt important? Took two months of cash-flow pain to realize payment reliability should've been higher. The act of scoring at all beats round-robin routing, even if your weights are slightly off.

Step 4: Calculate Composite Scores

Multiply each normalized metric by its weight, sum the results.

Example calculation for Acme HVAC:

  • Effective Payout: $56.08/call (after returns) → normalized to 78 → 78 * 0.30 = 23.4
  • Accept Rate: 84.2% → 84.2 * 0.25 = 21.1
  • Return Rate: 6.3% → normalized to 69 → 69 * 0.20 = 13.8
  • Payment Reliability: net-14, 0.5% disputes → score 84 → 84 * 0.15 = 12.6

Composite Score: 70.9

Run this for every buyer. Rank by composite score. That's your routing priority.

What you should see:

A ranked list where the highest-payout buyer isn't necessarily first. In the Dallas HVAC example, Buyer B (lowest headline payout) would score highest because accept rate and payment reliability crushed the competition.

Step 5: Implement Score-Based Routing

Your call routing should pull from the scorecard, not a static priority list.

In VeloCalls: Configure weighted routing in the buyer group settings. Highest score gets first shot, then waterfall to second-highest if unavailable. Our call routing best practices covers waterfall configuration in detail.

On Ringba: Update buyer target priorities weekly based on your scorecard export.

Automation tip: Export your scorecard via API. Have your routing platform ingest scores and update priorities automatically. Manual updates work until you're running 10+ buyers.

Step 6: Monitor and Iterate

Scores drift. A buyer who scored 82 in January might drop to 64 by March because they hit capacity and started declining calls.

Weekly checks: Accept rate drop > 10%? Return rate spike > 5%? Payment delays? Flag immediately. Don't be polite about it.

Monthly: Full scorecard rebuild with fresh 60-day data. Compare to prior month. Adjust weights if your priorities have shifted.

Strong opinion: most operators check scores too infrequently. They build the scorecard, feel accomplished, then ignore it for six weeks while a top buyer quietly tanks. If you can't commit to weekly reviews, automate the alerts or don't bother building the scorecard.

If your campaign analytics live across multiple tools, JustAnalytics can aggregate cross-platform data without GDPR consent headaches. The operators who score once and forget are only marginally better than the ones who never score at all.

Common Errors and How to Fix Them

Error: New buyer scores artificially high (small sample)

Five calls at 100% accept rate scores better than 500 at 88%. That's noise. Fix: Set a minimum 30-call threshold before including a buyer in ranked routing. Below that, route new buyers at 5-10% test allocation. Our detect pay-per-call fraud guide covers how small-sample anomalies can mask fraud patterns.

Error: Buyer drops score unnoticed for three weeks

Manual updates. Life got busy. Fix: Automate alerting. Alert on score drops > 10 points.

Error: Buyer gaming by accepting only easy calls

They decline borderline calls, inflating accept rate while ducking volume. Fix: Track "presented vs. accepted" separately. Cherry-picking still reduces effective routing value.

(This one burns me. Had a buyer with a gorgeous 96% accept rate. Turns out they were declining anything that smelled difficult — evening calls, callers with accents, anyone who mentioned a competitor. Their accept rate was high because they only accepted the layups. Took me way too long to catch it.)

Error: Weights don't match reality

You guessed based on intuition. Fix: Run historical analysis. What weighting would have maximized margin over the past 6 months?

Next Steps

You've got a scored buyer list and routing pulling from it. Here's where to go deeper.

Add capacity-awareness. Score matters, but so does whether the buyer has open slots right now. A score-92 buyer who's maxed out isn't useful. Layer real-time concurrency checks on top of score-based ordering.

Tier your buyers. Create A/B/C tiers based on score ranges. A-tier (scores 80+) gets first look at all calls. B-tier (60-79) gets overflow. C-tier (below 60) gets last-resort routing or probation status. Our call routing best practices guide covers tiered waterfall setup.

Share scorecards with buyers. Transparency motivates improvement. A buyer who knows they're ranked fourth because of a 14% return rate has incentive to fix it. Don't share exact formula weights — just metrics and standing.

Build publisher scorecards too. Same framework, different direction. Our publisher vetting checklist covers the due-diligence side. For ongoing publisher scoring, you're measuring traffic quality instead of demand quality, but the methodology is parallel.

Most operators treat buyers as interchangeable and route round-robin or by payout alone. That's lazy — and expensive. The difference between routing to your best buyers first vs. routing randomly can be 15-25% margin improvement on the same call volume.

Will you get the weights perfect on day one? No. Will you miss some gaming behavior for a few weeks? Probably. But imperfect scoring beats no scoring every single time.

Build the scorecard. Run the numbers. Route to margin, not to intuition.

Frequently Asked Questions

What metrics should I include in a pay-per-call buyer scorecard?

Track five core metrics: effective payout (actual dollars received after adjustments), accept rate (percentage of routed calls the buyer answers), return rate (calls disputed or clawed back), payment reliability (days to payment, dispute frequency), and close rate if you have downstream visibility. Weight these by importance to your operation — a 48-hour payment cycle might matter more than a $2 payout difference if you're running tight on float.

How often should I recalculate buyer scores?

Weekly minimum, daily if you're running 500+ calls/day. Buyer behavior shifts fast — a buyer who was accepting 94% of calls last month might hit capacity constraints and drop to 71% this week. Stale scores mean you're routing premium calls to buyers who can't handle them. Automate the calculation if possible; manual weekly pulls work for under 200 calls/week but don't scale.

Should I tell buyers their scorecard ranking?

Yes — with caveats. Share the metrics and general standing, not the exact formula weights. Transparency motivates improvement: buyers who know they're ranked third because of a 12% return rate will work to fix it. But if you publish the exact weighting, some buyers will game the specific metrics rather than actually improving. Share the inputs, keep the algorithm private.

How do I handle a high-payout buyer with poor accept rates?

Run the math. A buyer paying $85/call with a 62% accept rate delivers $52.70 effective value per routed call. A buyer paying $55/call with 94% accept rate delivers $51.70. The high-payout buyer is marginally better — but factor in return rates and payment terms. If the $85 buyer also returns 8% of accepted calls and pays net-30, while the $55 buyer returns 2% and pays weekly, the $55 buyer might net more cash in your pocket. Scorecard math exposes these trade-offs that gut instinct misses.


Try VeloCalls for Your Vertical

AI calling + pay-per-call platform built for HVAC, plumbing, roofing, PI lawyers, Medicare brokers, and insurance. Smart routing, real-time bidding, visual IVR builder, AI conversation intelligence. Per-minute pricing — Managed starts at 4¢/min, BYOC at 2¢/min, both drop as you scale.

See pricing → · Book a demo

pay-per-call-buyer-scorecardbuyer-rankingdemand-optimizationcall-routing-prioritymargin-analysisbuildinpublicsaasstudioaiworkforcebuildwithclaude
Share

Ready to try VeloCalls?

Set up intelligent call tracking and routing in minutes. No credit card required.

Get Started Free

Stay Updated

Get the latest articles and industry insights delivered to your inbox.

No spam. Unsubscribe anytime.

Related Articles