The explainable score
The score is arithmetic, not a model. Every number in it traces to a row you can open, and the same breakdown is shown to the employee, the lead and the team. The AI explains the score; it never computes it.
Pillars and weights
Weights are normalised over the pillars that apply. A pillar with no data or no load is dropped and its weight redistributed, so nobody is penalised for not being on call, for a week with too few pings, or for an unrated month. Weights are editable per team and per role in the dashboard, and every change is audited.
scoring.weight_progress scoring.weight_presence scoring.weight_reliability scoring.weight_integrity scoring.weight_responsibility scoring.weight_manager
| Progress | 40 — quality and quantity of delivered work from the standups, with completed tasks credited and stalls penalised |
|---|---|
| Presence and hours | 25 — days present over expected days, blended with hours credited over hours expected (full marks at 97% or above) |
| Reliability | 15 — on-time sign-ins, sign-offs, and a recorded hand-off before planned leave |
| Integrity | 10 — presence pings answered (late replies earn half credit) and time shown online during work windows |
| Responsibility | 10 — on-call and support load handled; dropped entirely when a person carries no load |
| Manager feedback | about 5 — a manager’s 0 to 100 rating; dropped when unrated |
Role profiles
A person’s job function selects their profile, overriding the team name. Built-in profiles: default, developer, DevOps, sales, manager, project manager, designer, HR, finance, partner and support. Examples of how they differ:
- Role alignment (does the reported work match the role’s functions?) is computed alongside and shown as advisory; it never changes the number.
| Sales | Progress 45 · Presence 15 · Reliability 10 · Integrity 10 · Responsibility 20 |
|---|---|
| Manager | Progress 25 · Presence 25 · Reliability 15 · Integrity 10 · Responsibility 25 |
| Designer | Progress 45 · Presence 25 · Reliability 12 · Integrity 5 · Responsibility 13 |
| Support | Progress 30 · Presence 20 · Reliability 20 · Integrity 10 · Responsibility 20 |
Overlays, bonuses and caps
- Format strikes: 1 point each, capped at 3. Attendance strikes: 10 points each, capped at 30. Waived strikes stay visible in the report, greyed out with the waiver reason.
- Day-off work: +2 flat plus 0.75 per hour, capped at 8 per week. Overtime on normal days: +0.5 per genuine hour beyond the window’s expected total, capped at 6.
- Kudos: a lead’s reaction on a standup adds 1 point, capped at 4; self-kudos are ignored.
- Hard cap: a confirmed integrity red flag caps the score at 50 no matter the output, and no bonus can bypass it. Red requires at least two independent corroborating signals; presence colour alone never triggers it.
- Confidence: a window with fewer than three expected days or fewer than two scored pillars is marked low confidence and should not drive pay.
Bands and the KPI curve
The KPI multiplier maps efficiency to a pay-scale percentage: below 25 gives 0, 25 to 40 rises linearly from 0 to 40, and 40 to 100 rises linearly from 40 to 110. It is quarterly: the average of the quarter’s three monthly KPIs, published only on quarter-end months. Monthly reports in between show the efficiency and band and say when the KPI settles.
| Below 25 | exit risk |
|---|---|
| 25 to 39 | needs attention |
| 40 to 89 | on track |
| 90 and above | top |
Hours, fairly
- Expected hours come from your working days, your weekly-hours override and your team’s holiday calendar; leave, sick days and holidays leave the denominator entirely.
- A long day repairs a short day: hours are netted over the window and capped at 100% of expected, so padding cannot push the ratio past full.
- A missed sign-off credits the activity estimate minus a deduction (3 hours by default), escalating only after repeated charged days in the same month. A day the system forgave never raises a later day’s tier.
- Days beyond 12 hours are capped and handed to an admin queue; a confirmed day is credited in full.
- A nightly sweep reconciles the chat server’s event list with the bot’s own log; on a day with a recorded ingest gap the missed-sign-off deduction is zero.
/pulse me
Any employee can post /pulse me in Matrix, Slack or Teams and receive their live scorecard privately: efficiency, band, the pillar breakdown, which pillars were not scored and why, the adjustments (strikes, day-off, overtime, kudos) and a low-confidence note when the week is thin. Admin-only signals such as the pattern label are stripped from the self-view. The command is intercepted before the standup parser so it is never mistaken for a check-in.
/pulse me