Deals, activities, form and company data
Profile, intent and engagement add up to 100
Score, band and reason per lead
CRM field and task, SDR queue
What it solves
- The rep knows who to approach first and why, with the reason for the score.
- The score is calibrated on what has already closed at the company, not on hunches.
- The score shows up in the CRM and becomes a task, with no side spreadsheet.
Business questions it answers
Ask your agent these questions once the case is live.
What you need
- CRM connected with deals, contacts, activities and the history of wins and losses
- The profile (ICP) and intent criteria agreed with sales
- Permission to write fields and tasks in the CRM
What you get
- A table with score, band and reason for each lead or deal, recalculated every day
- Score fields updated in the CRM and a task created for high band deals
- A win rate by band panel to audit the scoring
- An AI agent that explains the score of any lead
Where to activate
Score, band and reason stored on the deal; a task for band A and for direct requests.
Daily list sorted by score, with the reason for each score.
Explains a lead's score and shows the win rate by band.
The rules fit in one transformation. The care goes into calibrating weights with history and writing to the CRM without duplicating tasks. The detailed view has the business rules, the pitfalls and the acceptance test. Or send everything straight to your agent with the Nekt MCP.
The team treats every lead the same or follows the temperature the rep marks when they remember. When someone builds a score, they often use fields that are only filled in after the decision or penalize blank fields: the score looks great on history and is useless the next day. Without an audit by band, nobody knows whether the scoring works.
How it is usually done, and the rule
Each row is a mistake that already happened in practice.
Split the score into capped blocks: profile (ICP fit: industry, size, job title, number of users), intent (asked for a proposal, booked a meeting, lead source) and engagement (replies, meetings held, recent activity). A real design used profile 30, intent 40 and engagement 30. Each criterion has fixed points and the reason is stored next to the score.
For each criterion, compare the win rate of deals with and without the attribute, among deals closed in the last 12 months. A criterion that does not change the win rate scores nothing. Recalibrate every six months.
Use only signals available when the score is calculated: time to first contact, first week calls, company data. Fields filled in after the sales decision (days to proposal, calls in later weeks, loss reason) contaminate calibration and make the scoring look better than it is.
An empty field is missing data, not a negative signal. In a real case, the fill rate of a qualification field dropped from almost 100% to about 30%, and treating blank as 'does not have it' pulled down the score of good deals. Deduct points only for explicit negative answers.
If the ICP criterion includes 'already qualified' or 'already had a meeting', anyone who moved forward enters the ICP automatically and the score validates itself. Use the attributes declared at entry, which do not change later. In a real case, counting every lead as an MQL inflated the number about 3 times: MQL was only whoever had fit.
Some criteria outweigh the sum: outside the served region, a banned segment, collateral below the minimum in lending. In these cases the score has a low cap, whatever the rest. Declare the list and show the reason.
The temperature marked by the rep (hot, warm, cold) is a subjective reading and usually has low coverage: in a real case, 8 in 10 leads had no value and the fill rate fell year after year. Use it as a complementary signal, never as the score.
Store each day's score or a history with valid from and valid to. Recalculating the past with the new scoring rewrites what the team saw and prevents measuring whether band A closed more. In a real case, a new rule changed the qualification of signups from a month already reported and the month's number shrank on its own.
Update the score fields in the CRM only when the value changed, create at most one task per deal every 30 days and start in simulation mode, saving the plan in a log table before writing for real.
How a band becomes an action
Example cutoffs. Calibrate the limits by each band's win rate in your data.
Definitions
Pitfalls that already happened
A propensity model scored very well on the past because it used calls from later weeks and days to proposal, which only exist after the decision.
Calibrate only with signals prior to the decision and test on months that were not used for calibration.
With the qualification field filled in on only a third of deals, treating blank as a negative answer pushed good deals to band D.
Blank is neutral.
Generic accounts or accounts with millions of followers (social networks, government bodies) earned reach points and went to the top.
A block list and a cap for size signals.
The sync created a new task on every run and the rep stopped looking at the queue.
One task per deal per window, with a log of what was already sent.
The recalculated scoring rewrote the qualification of old signups and the month's total changed after it was presented.
Freeze the verdict on the day the lead arrived.
Acceptance test
The case is done when every item passes.
- Every lead or open deal has a score between 0 and 100, a band and a reason calculated today.
- On deals closed in the last 6 months that were not used for calibration, the win rate falls from A to B, from B to C and from C to D.
- No score criterion uses a field filled in after the calculation date.
- The CRM fields match the day's score table, and no deal got more than one task in the 30 day window.
- A past day's score does not change when the scoring is recalculated.
Agent package
Paste into Claude, ChatGPT or any client with the Nekt MCP connected.
Lead scoring - Source: daily score table (lead or deal x day), with score, band, points per block and reason. - Score = profile + intent + engagement, from 0 to 100. Current weights: profile <x>, intent <y>, engagement <z>. - Bands: A from <a> to 100, B from <b> up to below <a>, C from <c> up to below <b>, D below <c> or with a knockout criterion. - The score is not a probability. Never say 'X% chance of closing'. - A blank field is neutral. Only a negative answer deducts points. - To explain a score, cite the points of each block and the stored reason. - To evaluate the scoring, compare win rate by band using the band on the day the deal entered the queue, never today's. - The temperature marked by the rep is only a complementary signal. Client exceptions: - <client>: knockout criteria = <list>. - <client>: a direct proposal request creates a task, whatever the score.
Build the "Lead scoring" case in my Nekt workspace following the rules at https://academy.nekt.com/en/casos/lead-scoring.md. 1) Find the source tables and confirm the columns the rules use. 2) Create a transformation at the stated grain applying every rule. 3) Run the acceptance test and show me the result of each item. 4) Create the case's context document in the workspace, leaving my clients' exceptions open for me to fill in.
Variations
Once the rules based scoring is audited, a calibrated model can replace the weights, keeping the reason readable and the test by band.
Weights by collateral, income and the ratio between credit and collateral, written back to the card in the workflow.
The same scoring over existing customers, to learn who tends to buy again and when.