Short version: measure a handful of observable things — acceptance, attendance against accepted shifts, no-shows, punctuality and early finishes — over a rolling recent window. Weight attendance and no-shows most heavily. Keep the formula simple enough to explain, give new starters a fair runway, let the score recover, and use it to inform decisions rather than make them.
What a reliability score is for
The point isn’t ranking people for its own sake. It’s answering one recurring question quickly: when a shift needs filling, who is genuinely likely to accept it and turn up? Get that right and you fill shifts faster with fewer no-shows. Get it wrong — relying on memory or favouritism — and you over-rely on a small group of known-good workers while newer people never get a fair look.
A written score is a fairness tool as much as an operational one. Criteria applied consistently protect workers from being judged on impressions, and protect you from a decision that’s hard to explain if it’s ever questioned.
What to measure
- Acceptance rate. Of the shifts offered, how many were accepted versus declined or ignored. This measures willingness and availability, not attendance.
- Attendance against accepted shifts. Of the shifts they said yes to, how many they actually worked. This is the core of reliability, and it’s a different number from acceptance — someone can accept eagerly and still not show.
- No-shows. Accepted, then no attendance and no notice. Keep this separate from a cancellation with reasonable warning — one gives you time to re-fill, the other doesn’t.
- Punctuality. How often someone clocks in late, and by how much. Reliably fifteen minutes late is a different problem from not turning up, and the score should be able to tell them apart.
- Early finishes. Leaving well before the end of the shift without arranging it. Attendance alone won’t catch someone who clocks in and leaves after two hours.
- A rolling window. Measure over a recent period — say the last 30 to 90 days — rather than all time, so the score reflects current behaviour.
How to weight and combine it
Most useful scores are a simple weighted combination. Attendance against accepted shifts usually carries the most weight, because it’s the closest answer to “will this person show up?”. No-shows deserve a heavier penalty than a well-notified cancellation. Punctuality and early finishes are secondary factors that nudge the score up or down rather than dominating it.
| Measure | Typical weight | Why |
|---|---|---|
| Attendance against accepted shifts | Highest | Closest measure of whether someone turns up |
| No-shows (no notice) | High penalty | Leaves no time to re-fill the shift |
| Punctuality | Secondary | Real cost, but the shift still gets worked |
| Early finishes | Secondary | Catches the pattern attendance misses |
| Acceptance rate | Context, not penalty | Shows availability; don’t punish honest declines |
Resist the urge to over-engineer the formula. A transparent calculation you can explain to a worker who asks is worth more than an elaborate model nobody — including you — can account for six months later.
Keeping it fair
- Separate unavailability from unreliability. A worker who declines because they’re part-time elsewhere, or who gives proper notice, is communicating clearly. A score that punishes honesty teaches people to stop telling you the truth.
- Give new starters a runway. Two shifts of history isn’t enough for a meaningful score. Show “not enough history yet” rather than a number.
- Let the score recover. A rolling window weighted toward recent shifts lets a worker who’s turned things around see that reflected, instead of carrying a permanent record.
- Inform decisions, don’t replace judgement. Context a record can’t capture — a hard personal patch, a genuine misunderstanding about a start time — still matters. A system that removes all human judgement produces decisions nobody can stand behind.
Manual versus automatic
You can build this in a spreadsheet, and for a small, stable casual pool it works well enough. The limit shows up as you grow. Tracking acceptance, attendance, punctuality and no-shows for a dozen people is manageable; doing it accurately for a hundred across several sites, kept current rather than rebuilt at month end, is a job in itself — with the same drift and stale-data risks as any manual record (see our guide to spreadsheet errors).
The other limit is that a spreadsheet score only reflects what someone remembered to enter. If a no-show isn’t logged because everyone was busy covering the gap it created, the score never sees it.
Where OnCrew fits — precisely
Smart Fill does not rank workers by reliability. When you fill a shift, Smart Fill first rules out anyone who isn’t compliant for the site, ready to work or available, then ranks the rest on role fit, site and client history, distance and recency. A supervisor can also flag a worker they don’t want sent back to their site; that worker sinks to the bottom of the list but stays eligible, because a person should make that call.
What OnCrew does provide is the raw record a reliability score needs, captured as work happens rather than typed in afterwards: whether shift offers were accepted, clock-in and clock-out times against the rostered shift, and missed clock-ins, which are flagged as possible no-shows and can be chased automatically.
Separately, Axis — OnCrew’s rule-based insights layer — calculates a 30-day reliability score for each worker from completed shifts, no-shows and late clock-ins, weighted most heavily on completed shifts. It appears on the worker’s profile as a score out of 100. It’s there for a person to read and act on; it doesn’t change how Smart Fill ranks anyone.
So if you want a reliability score, OnCrew gives you a ready-made 30-day view plus the underlying data to build your own — and the decision about who gets offered what stays transparent: hard gates first, then a ranking you can explain.