Every contact starts at this score. All other components are added or subtracted from it. Keep it at 50 to centre the scale.
Rewards consistent contact. Counts interactions within the lookback window and maps to one of three tiers.
Rewards fresh contact. Four tiers based on days since the most recent interaction; a penalty applies when contact has been silent for too long.
Weighted sum of interaction sentiment over the lookback window, with time decay so older interactions count less. Neutral interactions contribute zero.
Rewards genuine two-way engagement. Meetings, calls, and video calls earn points; bulk outreach emails do not count, as they're one-directional.
Penalises one-sided contact. Applies when all recent interactions are outbound emails or bulk sends — a signal that the contact isn't reciprocating.
Penalises prolonged silence. Two escalating thresholds apply a moderate then heavy penalty the longer contact has been inactive.
These thresholds only affect how scores are coloured in the UI — green, amber, or red. They don't change how scores are calculated.
50 (baseline)
+ recency (-10 to +15)
+ frequency (0 to +15)
+ sentiment (-20 to +20, time-decay)
+ two_way (0 to +10, meetings/calls only)
+ reciprocity (0 or -5 if last 5 are all email)
+ staleness, (0 / -10 after 180 d / -15 after 365 d)
0, 100)