Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.emanate.ai/llms.txt

Use this file to discover all available pages before exploring further.

The AI Score (also called Fit Score or ICP Score internally) is a 1–100 number rating how well a lead or account matches your Ideal Customer Profile. It powers the AI Score column on the Leads and Accounts tables — which renders a grade badge (A / B / C / D) and a heat icon + label (Burning / Hot / Warm / Cold) — the sort order on Intelligence, and the priority queue in Win-Back. It is AI-generated, not a hand-tuned weighted formula. Every score comes from an LLM synthesis pass that reviews the enriched record and emits one composite number plus five sub-scores with reasoning.

How the Score Is Calculated

After enrichment populates company, contact, and research data, a single LLM call evaluates the record against five insight categories. Each insight gets its own 1–100 sub-score and a 2–3 sentence reasoning paragraph. The synthesis output is the headline fitScore plus the five insights.
InsightWhat it measures
Firmographic FitIndustry, employee count, revenue, growth stage vs your ICP
Recent ActivityFunding, hiring, product launches, news in the trailing window
Pain Points / NeedsLikely challenges inferred from industry, size, and tech stack
Decision-Maker AccessWho to contact, typical buying process for the account size, accessibility
Competitive LandscapeMarket position, competitors, differentiation opportunities
The model is free to weight insights differently per record — a recently-funded mid-market manufacturer that fits firmographically will score high even with weaker competitive signals; a perfect firmographic match in a saturated market won’t.

Where the Inputs Come From

The synthesis call uses whatever enrichment has already landed on the row:
  • Company data — industry, employees, location, description, funding stage, total raised, founded year, tech stack
  • Research findings — summary plus insights and source URLs collected during the research stage
  • Contact data — primary contact title and department (for the decision-maker insight)
Records with thin inputs get a fallback score of 50 and a neutral verdict so the row still sorts predictably. Re-running enrichment (or refilling firmographic fields via per-column Fill) recomputes the score on the next pipeline pass.

Score-to-Grade-to-Heat Mapping

The 1–100 score maps to a grade (A / B / C / D) and a heat tier (Burning / Hot / Warm / Cold) on the same thresholds — the AI Score cell renders both side by side.
ScoreGradeHeatRecommended action
80–100A🔥 BurningFast-track to sales — fits firmographically, has timing signal, accessible contact
60–79B📈 HotStandard follow-up — solid match, worth the cycle
40–59C🌡 WarmMore discovery needed — likely partial fit
1–39D❄️ ColdLow priority — disqualifying gaps in fit or access
Grade and heat tier are stored as separate fields (grade and heat) but always agree because they come from the same thresholds. Sorting by AI Score descending matches “highest grade / hottest first.”

What You See in the AI Score Cell

Each row in the Leads / Accounts table shows a compact cell with three visible elements:
  1. Grade badge — a small filled box with the grade letter (A / B / C / D).
  2. Heat icon — a Lucide icon that reflects the tier:
    • 🔥 Flame for Burning (score ≥ 80)
    • 📈 TrendingUp for Hot (score ≥ 60)
    • 🌡 Thermometer for Warm (score ≥ 40)
    • ❄️ Snowflake for Cold (score < 40)
  3. Heat label — the word Burning / Hot / Warm / Cold next to the icon (hidden on compact density).
Empty rows (score = 0 and no whyThisAccount) render as a single -- placeholder.

Clicking the Cell

Clicking the AI Score cell opens a popover with:
  • Header — the heat icon + label, with “Score: N/100” as the description.
  • Score Breakdown — the five sub-scores rendered as labeled progress bars (Firmographic, Recent Activity, Pain Points, Decision-Maker Access, Competitive Landscape).
  • Why this account — the LLM’s narrative on fit drivers.
  • Why now — the timing signal narrative.
To refresh the explanations without re-running the full pipeline, use per-column Fill on whyThisAccount, whyNow, or priorityAction.

Where the Score Surfaces

SurfaceWhat it shows
Leads table — AI Score columnGrade badge + heat icon + heat label, opens the breakdown popover
Accounts table — AI Score columnSame widget, account-side
Account / Lead drawer — Intelligence tabHeadline AI Score, all five sub-scores with reasoning, recommended actions
Filter builder — aiScore fieldNumeric filter on the raw 1–100 value (used by saved views like Burning leads = aiScore > 79)
Win-Back Type A digestAccounts are ordered by lifetime revenue first, but the AI Score is shown alongside so reps can see relationship value vs current fit

Re-Computing the Score

Three ways to refresh:
  1. Re-enrich the row — runs the full pipeline; the synthesis pass is the final stage and recomputes everything
  2. Per-column Fill on any firmographic field (industry, revenue, employees, segment, funding, founded) — the next intelligence recompute picks up the new inputs
  3. Per-column Fill on whyThisAccount / whyNow / priorityAction — refreshes the three intelligence explanations without rerunning the full synthesis. Use this when only the narrative needs updating.
Enrichment never overwrites existing values. If a firmographic field is already set, you need to clear it (or use per-column Fill, which intentionally re-asks the provider) before the synthesis pass sees the new value.

Customizing What “Fit” Means

The synthesis prompt is generic — it interprets “fit” against the enriched data and the natural-language description in your org profile. Two practical levers:
  1. Keep your org profile current. The “what we sell” and “who we sell to” fields anchor the firmographic insight. Vague profiles → noisy scores.
  2. Use audience segments (filter on Grade = A, Heat = Burning, or aiScore > 79 + your custom criteria) to define operational ICPs. The AI Score is the universal baseline; segments are how you slice it per campaign.
There is no per-criterion weight UI today — scoring is driven by the LLM, not a configurable rubric. If you need a hard-coded business rule (e.g., “always exclude personal email domains”), enforce it with an audience segment filter, not by trying to express it in the score.

Troubleshooting

Synthesis fell back because inputs were too thin or the LLM call errored. Re-run enrichment after company/contact data lands.
Enrichment never overwrites existing values, but per-column Fill does. Use Fill industry / Fill revenue etc. for that row, then let the pipeline recompute the intelligence pass. Or run Enrich again with the field cleared.
The five sub-scores explain the gap — open the drawer’s Intelligence tab. The most common cause is the Recent Activity insight (one had recent funding/hiring signals, the other didn’t).

Next Steps

Lead Enrichment

What the pipeline populates before the score runs

Account Enrichment

Account-side enrichment + AI Score how-it-works

CRM Sync

Push AI Score to your CRM as a custom field

Intelligence

The Intelligence tab where the five sub-scores live