Month-end utilisation reporting

Utilisation reporting fails twice. Once when the hours are incomplete, and once when everyone at the table means something different by the word.

Month end arrives. Somebody has to say how the team's time went and whether that is better or worse than last month.

Building it by hand takes a day, and the day is spent on collection rather than on reading the answer.

The report is generated from the hours already logged. Total hours, utilisation percentage, average daily hours, and breakdowns by project, department and sheet status.

Read the trend before the total. A month is an average, and averages hide the week a project went sideways. Week-over-week and the daily stacked-by-project chart show shape rather than magnitude. The by-department cut is only as clean as the department field, which is why a reorganisation mid-month makes the comparison harder to trust.

Why one record instead of two

Utilisation is the number that only exists when both halves are present. Hours come from people; the denominator comes from who was employed, who was on leave and which days were holidays. Assemble it from two systems and the argument at month end is about the data rather than the result.

What is switched on

Utilization reporting
The month-end report itself: totals, percentage, averages and week-over-week trend.
Daily recap and timesheets
Logged hours are the only input. An unfinished month makes a confident but wrong report.
Projects
The by-project breakdown is where the number becomes a conversation.
Directory
Departments come from the person record, so the departmental cut is only as clean as that field.
Notifications
The report posts to Slack, which is how most people actually read it.
Activity log
Late edits to submitted sheets are recorded, which explains a number that moved.

What the week looks like

  1. Last working day

    Check completeness first. Utilisation over a half-logged month is a fiction.

  2. Same day

    Work the approvals queue down. The sheet-status breakdown shows what is still unapproved.

  3. First working day

    Read total hours, utilisation and average daily hours for the period.

  4. Same day

    Open the by-project and by-department breakdowns, which is where questions come from.

  5. Same day

    Check week-over-week. A monthly figure hides the week everything went sideways.

  6. Then

    Send it to Slack rather than exporting it into a deck nobody opens.

Questions people ask

Where do the hours come from?

From the daily timesheets people already fill in. HR data and delivery data share one database, so nobody assembles the report from two systems.

Can the report separate approved and unapproved hours?

Yes. One of the breakdowns is by sheet status, so you can see how much of the month is still sitting unapproved.

How does the report reach people?

There is a send-to-Slack action on the reports screen. Slack is the notification path the product ships.