Confidence, citations, conflicts
A confidence score isn’t the whole story. Every enriched value carries citations, the source that won, the sources that lost, and the dates that matter. The confidence score is the summary; the rest is how you audit it.
The four levers
Confidence is one of four pieces of provenance we ship on every value. Together they let you decide what to trust without taking the entire enrichment on faith.
confidence
A score between 0 and 1. How sure are we, given everything we looked at? See the bands below.
citations[]
URLs we actually pulled the value from. Click through and audit. No citations, no claim.
conflicts[]
When two sources disagreed, we kept the loser here with its own citation. The synthesis agent picked the winner; you can override it.
as_of_date · observed_at
When the fact was true in the world, versus when we last verified it. Both matter. A registered name hasn’t changed since 2015 — we still re-checked yesterday.
Understanding Scores
High Confidence
Multiple sources agreed and conflicts (if any) were small. Safe for automated CRM writeback. Typically three or more sources aligned on the value.
Good Confidence
Strong data with some uncertainty. Good for enrichment, consider review for critical use cases. Typically 2+ sources with agreement.
Medium Confidence
Limited source agreement or stale data. Recommended for display only, with human verification before action.
Low Confidence
Single source or conflicting data. Manual verification required. May be inferred or AI-generated without corroboration.
How Confidence is Calculated
Confidence scores are computed using multiple factors:
Source Agreement
When multiple sources return the same value for a field, confidence increases. 3 sources agreeing = ~95 confidence. 1 source = ~60-75 confidence.
Source Reliability
Each source has historical accuracy ratings. LinkedIn data for job titles scores higher than web-scraped data.
Data Freshness
Recently verified data scores higher. Data from 30 days ago = full score. 6+ months old = reduced confidence.
Cross-Validation
Fields that validate each other increase confidence. Email domain matching company domain = higher email confidence.
Types of Confidence Scores
| Score Type | Scope | Description |
|---|---|---|
confidence_score | Overall | Average confidence across all enriched fields |
email_confidence | Field-specific | Confidence in email address accuracy and deliverability |
persona_confidence_score | AI-generated | Confidence in AI persona matching |
icp_fit_score | AI-generated | How well a company matches your Ideal Customer Profile |
Confidence in API Response
Enrichment responses include confidence data in multiple places:
// Enrichment response structure
{
"data": {
"person": {
"full_name": "Jane Smith",
"title": "VP of Engineering",
"email": "jane@acme.com"
}
},
// Per-field confidence scores
"confidence": {
"person.full_name": 95,
"person.title": 88,
"person.email": 92
},
// Overall metrics
"metadata": {
"confidence_score": 91, // Average across all fields
"completeness_score": 85, // % of fields populated
"success_rate": 100, // % of sources that succeeded
"sources_used": ["linkedin", "hunter", "perplexity"]
}
}Using Confidence in Automations
Set confidence thresholds to control automatic data updates:
// Only update CRM if confidence is high enough
const enrichmentResult = await abmdev.enrich({
email: "jane@acme.com"
});
// Check overall confidence before CRM sync
if (enrichmentResult.metadata.confidence_score >= 85) {
await hubspot.updateContact(contactId, enrichmentResult.data);
console.log("Contact updated automatically");
} else {
// Queue for human review
await reviewQueue.add({
contact: enrichmentResult.data,
confidence: enrichmentResult.metadata.confidence_score,
reason: "Below confidence threshold"
});
console.log("Queued for review");
}Recommended Thresholds
- 85+: Safe for automatic CRM updates
- 75+: Good for enrichment display, review before action
- 60+: Display only, human verification required
Improving Confidence Scores
Provide More Input Data
Include LinkedIn URLs, company domains, or full names in your requests. More input = more sources can verify data = higher confidence.
Enable More Sources
Connect a LinkedIn account from Settings → Integrations to add session-authenticated profile data to your enrichments. More sources means more cross-validation opportunities.
Re-enrich Periodically
Data gets stale. Re-enriching contacts every 3-6 months maintains high confidence by catching job changes and updates.