--- id: overtime-analysis name: Overtime Analysis description: Analyse overtime hours, who is carrying them, and whether they are growing. category: workforce pages: - analytics - control-center status: active version: 1 triggers: - overtime - extra hours - hours worked - working late owliver: enabled: true suggestions: - label: How much overtime are we running? capability: summary - label: Who is working the most overtime? capability: table - label: Overtime over recent periods capability: flow capabilities: - summary - stats - table - progress - flow - insight responses: summary: title: Overtime source: workforce.overtime stats: title: Overtime source: workforce.overtime table: title: Overtime by person source: workforce.overtime progress: title: Overtime by person source: workforce.overtime flow: title: Overtime over time source: workforce.overtime periods: - last-7-days - this-month - previous-month insight: title: Overtime source: workforce.overtime --- # Overtime Analysis ## Purpose - Report how much overtime the workforce is carrying. - Say who is carrying it, since a total spread evenly and a total sitting on one person are different problems. - Show whether it is growing. ## Capabilities - Summarize overtime hours and their share of scheduled time. - Compare overtime per person, most hours first. - Show overtime across recent periods. ## Data Reads `workforce.overtime`, which compares scheduled hours to hours actually worked across `ShiftRecord` entries. ## Analysis Overtime is reported both as hours and as a share of scheduled time. The ratio is what makes two teams comparable — forty hours means one thing across a fortnight and another across a year. Attendance and overtime are kept separate because one hides the other: a team can have perfect attendance and be running on thirty hours of overtime a week, and a single "workforce hours" figure would report that as healthy. ## Output Total overtime hours, share of scheduled time, average per shift, and a row per person. Over periods, hours per window. ## Limitations - Overtime is derived from recorded shift end times, not from an approvals process. A shift that ran long appears here whether or not it was authorised. - A person with no overtime appears with zero, which is a real reading rather than missing data. - Cost is not calculated. No pay rate is attached to a shift record.