Methodology · Version 1
How G2 evaluates AI Outbound SDR agents
The tasks, execution and scoring behind G2’s evaluation of AI Outbound SDR agents.
Summary
Our first attempt at evaluating Outbound SDR agents starts with the prospecting foundation: finding prospects, filling in missing details and deciding who to contact first. We give products the same tasks and score what they return. This measures preparation for outreach, not performance across a complete sales cycle.
The benchmark defines 30 tasks across Discover, Enrich and Prioritize. Each scored task combines Accuracy (50%), Breadth (25%) and Depth (25%) on a 0–100 scale. This methodology covers prospect research and selection; outreach generation, message delivery and follow-up are outside this scope.
Task set and execution
- Discover10 tasks
A prospecting brief. Find people or companies that meet its eligibility rules.
Example task: Find up to 15 current Director-level-or-above cybersecurity leaders at companies headquartered in California, Oregon or Washington with 200–5,000 employees, with at most one person per company.
- Enrich10 tasks
Partial records. Preserve the supplied identities, verify current details and fill required fields.
Example task: For 50 supplied name-and-company rows, verify current employment and return the current title and a credible professional-profile URL. Preserve each supplied person and use null when a detail cannot be verified.
- Prioritize10 tasks
A supplied candidate list. Select eligible prospects and rank them when the task requires an order.
Example task: From 40 supplied companies, select the top 15 whose specified product description explicitly names both Salesforce and Marketo. Rank qualifying companies by supplied review count, then company name.
Each task specifies the goal, eligibility or exclusion rules, requested count or range, and required output fields. Ranked tasks also state the priority criteria and tie-breakers. Products receive the same task and inputs and complete the work independently.
These examples are shortened from the task definitions. Execution uses the full prompts, input files and output contracts.
Repeated runs
We run each task four times with the same vendor and setup. Scores are calculated per task attempt, then combined across runs and tasks.
From task attempt to score
Score the three dimensions
- Accuracy
- 50%
- Breadth
- 25%
- Depth
- 25%
Calculate the task score
(Accuracy × 50%) + (Breadth × 25%) + (Depth × 25%)
- Discover + Enrich
- Subtract any coverage deduction.
- Prioritize
- No coverage deduction.
Final task score
0–100
Discover and Enrich scoring
Discover and Enrich are open-world tasks with multiple valid answers. Once the agent has returned its list of people, we deduplicate people by profile URL or name-and-company. We then attempt to validate the returned answers through multiple sources to ensure these are real people and that their returned title and company are valid.
To reward agents that return more prospects, we apply a coverage penalty for scenarios where an agent returned fewer than 50% of the requested entries, such as 10 sales leaders instead of the 50 requested.
Final score = (Accuracy × 0.50) + (Breadth × 0.25) + (Depth × 0.25) − coverage penalty
- Accuracy (50%)
Are the details we can check correct? Validate the returned facts and eligibility using Lix and Exa, with evidence-based semantic review and email validity using NeverBounce.
100 × correct resolved checks ÷ all resolved checks
- Breadth (25%)
Did the agent return enough distinct prospects? Remove duplicates and prospects confirmed not to meet the task’s rules. Compare the remaining count with the requested range.
100 × total returned eligible prospects ÷ total requested prospects
- Depth (25%)
How much required information is filled in? Count the filled required fields across the unique returned records.
100 × filled required fields ÷ total required fields across unique returned records
- Coverage penalty
Can we check enough of the requested list? Deduct up to 40 points if we can check fewer than 50% of the requested prospects. This is a points deduction, not a multiplier.
40 × max(0, 1 − coverage ÷ 50%)
Sample Discover and Enrich task
The following is a breakdown of our scoring methodology for the task below.
You are a B2B sales prospecting agent. Find 50 current security leaders who meet all of these requirements:
- The employer has 200–5,000 employees.
- The person currently works for the employer.
- The person is Director level or above.
- The current title or stated remit is explicitly information security or cybersecurity.
- Do not substitute physical security, trust-and-safety, general IT, privacy-only, compliance-only, or engineering roles.
Required fields: Name, Email, Company Name, Title, LinkedIn URL.
Suppose the vendor returns 20 unique eligible prospects. Across these 20 prospects, we would expect 100 total fields to be present, but the agent returned only 80, with 10 people missing their email and 10 missing their LinkedIn URL. For these 20, we were able to validate the information, and 18 of them could be confirmed.
| Factor | Calculation | Score |
|---|---|---|
| Accuracy | 18 validated ÷ 20 returned prospects | 90 |
| Breadth | 20 returned ÷ 50 requested prospects | 40 |
| Depth | 80 returned fields ÷ 100 possible fields | 80 |
| Coverage penalty | 40 × (1 − 40% ÷ 50%) | 8 |
Discover: the effect of a short list
20 of 50 prospects
Returned and checkable · 40% coverage
Weighted score
75 / 100
- Accuracy 45 pts
- Breadth 10 pts
- Depth 20 pts
Final task score 67 / 100
−8 coverage deduction
Final score = (90 × 0.50) + (40 × 0.25) + (80 × 0.25) − 8 = 67
Prioritize scoring
Prioritize tasks ask the agent to select prospects from a supplied list and rank them using the task’s criteria. Before scoring, we assign eligibility labels and priority grades to the supplied candidates. We then compare the agent’s selections and order with this reference answer, which is not shown to the agent.
We score Accuracy, Breadth and Depth using the same weights as Discover and Enrich. Prioritize has no coverage penalty.
Final score = (Accuracy × 0.50) + (Breadth × 0.25) + (Depth × 0.25)
- Accuracy (50%)
Are selected prospects eligible and correctly ordered? For ranked tasks, compare the points earned by the returned order with the best possible eligible order. For qualification-only tasks, each distinct qualifying selection earns equal credit.
100 × earned ranking points ÷ best possible ranking points
- Breadth (25%)
Did the agent return enough distinct prospects? Count distinct returned prospects and compare with the requested count. Ineligible or unmatched selections affect Accuracy, not this count.
100 × distinct returned prospects ÷ requested prospects
- Depth (25%)
How much required information is filled in? Count the filled required fields across the unique returned records.
100 × filled required fields ÷ total required fields across unique returned records
Sample Prioritize task
The following is a breakdown of our scoring methodology for the task below.
Select the top 3 companies from the supplied list based on intent (priority 1) and fit (priority 2). Exclude existing customers and rank the remaining companies by intent and fit.
Required fields: Company name, intent, fit.
Suppose the supplied list contains four companies: A has high intent and strong fit (grade 3); B has medium intent and strong fit (grade 2); C has low intent and moderate fit (grade 1); and D is an excluded existing customer (grade 0). The best possible order is A, B, C.
The agent returns B, A, D, with all 3 required fields filled for each company. This gives us 3 distinct returned companies and 9 filled fields out of 9 possible fields.
Prioritize: from ranking to final score
Ideal order
Returned order
- #1
A
Strongest
- #2
B
Next best
- #3
C
Not returned
- #1
B
Moved up
- #2
A
Moved down
- #3
D
Ineligible
Ranking Accuracy (nDCG)
78.96 / 100
Ideal order: 100
Final task score
89.48 / 100
- Accuracy 39.48 pts
- Breadth 25 pts
- Depth 25 pts
Breadth: 3 of 3 companies returned. Depth: 9 of 9 fields filled. No coverage deduction.
How the example gives 78.96 Accuracy
Convert each priority grade to points using 2grade − 1. Grades 3, 2, 1 and 0 are worth 7, 3, 1 and 0 points respectively. Ineligible companies receive 0 points.
Divide each company’s points by log2(1 + position), so higher-priority companies earn more credit near the top.
| Position | Divisor | Ideal A B C | Returned B A D |
|---|---|---|---|
| 1 | log₂(2) = 1 | A: 7 ÷ 1 = 7 | B: 3 ÷ 1 = 3 |
| 2 | log₂(3) ≈ 1.585 | B: 3 ÷ log₂(3) ≈ 1.893 | A: 7 ÷ log₂(3) ≈ 4.417 |
| 3 | log₂(4) = 2 | C: 1 ÷ 2 = 0.500 | D: 0 ÷ 2 = 0 |
Best possible ranking points = 7 + 3 ÷ log₂(3) + 1 ÷ 2 ≈ 9.3928.
Earned ranking points = 3 + 7 ÷ log₂(3) + 0 ÷ 2 ≈ 7.4165.
Accuracy = 100 × 7.4165 ÷ 9.3928 ≈ 78.96 out of 100. We use unrounded values in the calculation.
The agent loses points for placing B above A and selecting the excluded company D instead of C. Missing or repeated entries add no ranking credit; candidates without a reference label are excluded from scoring.
| Factor | Calculation | Score |
|---|---|---|
| Accuracy | 100 × 7.4165 earned points ÷ 9.3928 possible points | 78.96 |
| Breadth | 100 × 3 returned companies ÷ 3 requested companies | 100 |
| Depth | 100 × 9 filled fields ÷ 9 possible fields | 100 |
Final score = (78.96 × 0.50) + (100 × 0.25) + (100 × 0.25) = 89.48