Configuring Scoring Models
Scoring models control how Apex evaluates and prioritizes your contacts. This guide walks through creating a custom model, adjusting weights and rules, backtesting changes, and activating a new version.
Default Models
When you first set up Apex, a default scoring model is generated based on your vertical and conversion model. This gives you working lead scoring out of the box — no configuration required.
Default models include pre-tuned rules for common patterns in your industry:
- B2B SaaS — Pricing page visits, demo requests, docs engagement, business email detection, disposable email penalties
- E-commerce — Cart and checkout behavior, product page depth, session duration, engagement frequency
- Marketplace — Listing and search activity, account quality, business email signals
- Agency — Services and pricing page visits, case study engagement, contact form submissions, paid UTM tracking
Viewing Your Scoring Model
Navigate to Scoring in the dashboard sidebar. You'll see:
- Active model — The current model with its dimension weights, bucket thresholds, and rules
- Version history — Previous model versions with the ability to backtest or reactivate
- Drift detection — Alerts when your data distribution has shifted enough that the current model may need tuning
Customizing a Model
Open the model builder
Click Customize on the active model card (or Create New Version from the version history). The builder overlay opens.
Adjust dimension weights
Five sliders control how much each dimension contributes to the final score:
- Intent — Weight for high-intent behavior (pricing, demo, contact pages)
- ICP Fit — Weight for ideal customer profile signals (role, company, industry)
- Account — Weight for account-level quality signals (email domain, company size)
- Engagement — Weight for depth of engagement (pages, sessions, return visits)
- Risk — Weight for negative signals (disposable emails, bot patterns)
All five weights must total exactly 100.
Set bucket thresholds
Adjust the score ranges that define each quality bucket:
- Hot threshold (default 75) — Contacts scoring above this are your best leads
- Warm threshold (default 50) — Active interest, worth nurturing
- Cool threshold (default 25) — Early-stage, not yet qualified
Contacts below the Cool threshold are classified as Cold.
Add or edit rules
Each rule defines a scoring condition:
- Condition type — What to evaluate: event type, URL match, UTM parameter, page count, session duration, form field, or custom data
- Operator — How to evaluate: equals, contains, greater than, less than, regex, exists
- Field and value — The specific data to match
- Points — How many points to award (positive) or deduct (negative for risk factors)
- Max points — Cap per rule to prevent a single behavior from dominating
- Dimension — Which dimension this rule affects
Example: A rule that awards 15 points to the Intent dimension when the URL contains /pricing with a max of 15 points.
Save the version
Give the version a name and optional changelog description, then save. The new version appears in version history but is not yet active.
Backtesting
Before activating a new model, you can backtest it against your existing contact data to see how scores would change:
- Find the version in the history list
- Click Backtest
- Review the results: how many contacts would be reclassified (e.g., from Warm to Hot), bucket distribution changes, and estimated revenue impact
This helps you avoid surprises — if a model change would reclassify 40% of your Hot leads to Warm, you probably want to adjust the thresholds before activating.
Activating a Model
Click Activate on any version in the history. This:
- Sets the version as the active scoring model
- Records a model change event on the Causal Ledger
- Future contact scoring uses the new weights, rules, and thresholds
Warning
Activating a new model immediately affects how all contacts are scored. If you have downstream automations (webhooks, Slack alerts) triggered by score changes, they may fire after activation.
Drift Detection
Over time, your visitor behavior patterns shift — new marketing channels, seasonal changes, product updates. Drift detection monitors whether the current model still fits your data and alerts you when it's time to retune.
When drift is detected, the scoring page shows:
- Drift level — How significantly the data has shifted (bucket distribution drift, quality accuracy, conversion alignment)
- Affected metrics — Which dimensions are most impacted
- Projected impact — How pending slider changes would affect drift
Drift Capabilities by Plan
| Capability | Pro | Growth | Scale |
|---|---|---|---|
| Drift detection & metrics | ✓ | ✓ | ✓ |
| AI weight & threshold recommendations | — | ✓ | ✓ |
| One-click apply recommendations | — | ✓ | ✓ |
| Email/in-app drift notifications | — | ✓ | ✓ |
| Auto-apply with guardrails | — | — | ✓ |
Pro plans see drift metrics and can manually adjust weights. Growth plans additionally receive AI-powered recommendations with projected impact and one-click apply. Scale plans can enable autonomous drift correction with configurable guardrails (max weight change, cooldown period, minimum confidence).
PQL Scoring
If your conversion model is Self-Serve or Hybrid, the scoring page also shows PQL (Product Qualified Lead) dimensions:
- Activation (30%) — Setup completion and activation milestones
- Usage (30%) — Event frequency and product engagement depth
- Expansion (20%) — Advanced feature adoption, team invites
- Retention (20%) — Return visit consistency and session recency
PQL weights are displayed for context but are currently applied through the contact scorer rather than the configurable rule engine.
Next Steps
- Understand scoring concepts — how MQL, PQL, and dual scoring work
- View the contacts page — see scores applied to real contacts
- Check the Causal Ledger — model changes are recorded automatically