DEV Community

Cover image for Building a candidate Readiness Score for a healthcare staffing marketplace
Devesh Pareek
Devesh Pareek

Posted on

Building a candidate Readiness Score for a healthcare staffing marketplace

Wanderly is a travel healthcare staffing marketplace: 663,000+ registered candidates, 500+ agencies. Recruiters there had one recurring question: of the thousands of candidates in my list, who do I call first?

We built a Readiness Score to answer it. This is the version-one model, the reasoning behind its shape, and what we deliberately left out.

## Three signals, not eight

The full design had eight signals: recency, job views, clicks, applications, email and SMS engagement, an opt-out penalty, campaign participation, profile completeness. It was a good model. We shipped three:

  • Campaign engagement, 50%
  • Application activity, 30%
  • Profile completeness, 20%

Fewer signals meant the score was explainable to a recruiter in one sentence, and it meant we could validate the model against sixty days of real pilot data before adding anything.

## Recency decay

Campaign engagement is decayed by recency: activity in the last 30 days counts at 1.0x, 31 to 90 days at 0.7x, 91 to 180 days at 0.4x, and nothing beyond the configured window. A reply from last week and a reply from five months ago are not the same signal.

## Hard overrides

Some things are switches, not inputs.

  • Opt-out (a STOP reply): score forced to 0 and the candidate is removed from every campaign audience, regardless of any other signal.
  • Twelve months of total inactivity: score capped at 25.
  • New candidate with no history: scored on profile completeness only, shown with a New badge.

Compliance sits outside the model. A weighted penalty can be outvoted by other signals; a hard override cannot.

## Tiers

Hot 70 to 100. Warm 40 to 69. Cold 20 to 39. Inactive 0 to 19. Minimum campaign-eligible score: 20. Weights are locked for v1; admins configure the time windows and the tier thresholds.

## What the recruiter sees

The number, a colour, and a breakdown: Campaign engagement 42/50, Application activity 24/30, Profile 18/20, based on the last 6 months. Opted-out candidates are flagged, not hidden.

## What we left for v2

Behavioural events (job views, time on job detail, pay comparisons, saves), agency-specific weights, and a second scoring mode for agencies that use the marketplace without the campaign product. All of it waits on real data from v1.

Originally published at decipheringlogic.com

Top comments (0)