Functional Weave
Code in Rust

hr.absence-bradford-factor@1.0.0

README.md

943 bytes · view raw

# hr.absence-bradford-factor

The Bradford factor is B = S² × D, where S is the number of separate spells of
absence and D is the total days absent, both over one rolling period (commonly
52 weeks). Squaring the spell count is the point: ten one-day absences (10² × 10
= 1000) score a hundred times one ten-day absence (1² × 10 = 10), because
frequent short absences disrupt work more.

The caller decides what a spell is (consecutive days off for the same reason
are one spell) and which period to look at, and passes the days lost in each
spell. An empty list is a score of 0. A spell of zero or fewer days is an
error rather than something silently counted as a spell.

It is a management heuristic, not a legal test. Absences related to
disability, pregnancy or other protected characteristics should not be scored
against someone (Equality Act 2010); this function cannot know which those are,
so filter them out before calling it.