Blog · AI and self-service analytics
Use AI for workforce analytics to explain department-level staffing, workload and labor-cost variances. Reconcile uploaded planning and actual files, separate hours and rate effects, and keep the analysis focused on aggregate resource planning.
AI for workforce analytics helps explain how department staffing hours, labor costs and workload differ from plan. Start with aggregate business files and explicit calculations, then ask for an explanation of the checked variances. A department total supports resource planning; it does not establish an individual employee's contribution or performance.
The useful question is: "We used the planned total hours, so why did labor cost exceed plan, and did workload move with those hours?" Answering it requires a department comparison and a cost bridge. A company-wide hours total alone cannot resolve it; the AI analytics overview explains the broader file-based approach.
A US distributor has East service and West service departments. Finance exports the period's planned and actual labor cost. Operations exports paid staffing hours and completed service requests under the same department definitions.
Use one closed planning period and one cost scope. In this example, labor cost includes wages, employer payroll taxes and allocated employer benefits. It excludes contractor invoices, which are tracked separately. That is a documented scope choice for the example; use your own agreed scope consistently in plan and actual.
The example expresses paid full-time equivalents using a planning convention of 160 paid hours per FTE for the period. This is a capacity measure, not a count of individual people. Paid hours include time that may not be directly spent handling requests, so do not relabel them productive hours.
Join the exports by department and period, with one agreed plan version. Check unmapped departments, duplicate department-period rows and late payroll adjustments before calculating a variance. Keep only aggregate departmental data needed for this question.
For a wider operating framework, see workforce analytics strategy. The task here is the actual-versus-plan calculation within that framework.
Put this combined export in Staffing!A1:F5. Each department has one Plan and one Actual row; costs are USD.
| Department | Version | Paid FTE | Paid hours | Labor cost (USD) | Completed requests |
|---|---|---|---|---|---|
| East service | Plan | 20 | 3,200 | 96,000 | 1,600 |
| East service | Actual | 21 | 3,360 | 107,520 | 1,680 |
| West service | Plan | 10 | 1,600 | 56,000 | 800 |
| West service | Actual | 9 | 1,440 | 51,840 | 720 |
Each FTE value is paid hours divided by 160: East actual is 3,360 / 160 = 21. A larger file can have more departments, but keep the row grain and period consistent.
Create a summary with department in column A and these columns:
| Column | Summary value |
|---|---|
| B | Plan hours |
| C | Actual hours |
| D | Plan labor cost |
| E | Actual labor cost |
| F | Plan requests |
| G | Actual requests |
For East service in A2, use these Excel formulas:
=SUMIFS(Staffing!$D$2:$D$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Plan")
=SUMIFS(Staffing!$D$2:$D$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Actual")
=SUMIFS(Staffing!$E$2:$E$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Plan")
=SUMIFS(Staffing!$E$2:$E$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Actual")
=SUMIFS(Staffing!$F$2:$F$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Plan")
=SUMIFS(Staffing!$F$2:$F$5,Staffing!$A$2:$A$5,$A2,Staffing!$B$2:$B$5,"Actual")
Enter them in B2:G2 in order and fill down for West service. Microsoft's SUMIFS documentation explains summing rows that meet multiple criteria. Here those criteria keep each department's plan and actual separate.
The departmental differences are:
| Department | Hours variance | Hours variance % | Request variance | Request variance % | Labor cost variance (USD) |
|---|---|---|---|---|---|
| East service | 160 | 5.0% | 80 | 5.0% | 11,520 |
| West service | -160 | -10.0% | -80 | -10.0% | -4,160 |
| Total | 0 | 0.0% | 0 | 0.0% | 7,360 |
Hours variance is =C2-B2; its percentage is =IF(B2=0,NA(),(C2-B2)/B2). Requests use the same calculations with columns G and F, and labor cost variance is =E2-D2. Percentages are rounded to one decimal place unless stated otherwise.
Total paid FTE is 30 under both versions. Hours total 4,800 and requests total 2,400 under both versions. Each department uses 2.0 paid hours per request in plan and actual: for example, East actual is 3,360 / 1,680 = 2.0.
In the summary, plan hours per request is =IF(F2=0,NA(),B2/F2) and actual is =IF(G2=0,NA(),C2/G2). A zero-request department needs review rather than an invented ratio. Stable hours per request describes this measure only; it does not prove stable service quality, task complexity or backlog.
Healthcare departments have additional workload definitions; see healthcare workforce analytics for that separate context.
Plan labor cost totals $152,000; actual totals $159,360. The difference is $7,360, or 4.8% of plan. Divide cost by hours to establish each department's average cost rate:
| Department | Plan cost per hour (USD) | Actual cost per hour (USD) | Hours effect (USD) | Rate effect (USD) |
|---|---|---|---|---|
| East service | 30.00 | 32.00 | 4,800 | 6,720 |
| West service | 35.00 | 36.00 | -5,600 | 1,440 |
| Total effect | -800 | 8,160 |
Use these definitions in this order:
Hours effect = (Actual hours - Plan hours) × Plan cost per hour
Rate effect = Actual hours × (Actual cost per hour - Plan cost per hour)
In the summary, use H for planned cost per hour, I for actual cost per hour, J for the hours effect, K for the rate effect and L for the reconciliation difference. Enter these formulas in H2:L2 in order:
=IF(B2=0,NA(),D2/B2)
=IF(C2=0,NA(),E2/C2)
=(C2-B2)*H2
=C2*(I2-H2)
=D2+J2+K2-E2
Fill down through row 3. Each L cell must be zero. The company proof is $152,000 minus $800 plus $8,160 equals $159,360. Compute the combined hours effect directly with =SUMPRODUCT(C2:C3-B2:B3,H2:H3); SUMPRODUCT sums corresponding products.
Covirage is not affiliated with Microsoft.
Hours shifted toward the department with the lower planned rate, reducing cost by $800 at planned rates. Higher departmental average rates added $8,160. The files establish those effects; they do not explain whether overtime premiums, role mix or benefit allocations caused the rate changes. Finance owns that follow-up with the supporting aggregate cost categories; variance analysis explains the general bridge method.
Operations owns the workload definition and reviews whether the next period needs a different allocation. Use a capacity planning report to put any proposed hours beside demand and constraints before approving a change.
Bring aggregate department plans, staffing hours, labor costs and workload exports. Covirage maps the columns, its tools compute and check the variances, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring a sample of your own data.
See capacity planning for the supporting use case.
For aggregate resource planning, bring departmental planned and actual staffing hours, comparable labor costs and workload volumes for the same period. Include the department mapping and definitions of paid hours, cost scope and workload. Employee names, individual activity logs and personal attributes are unnecessary for this comparison.
Headcount alone does not show the hours available or the work required. Part-time schedules, overtime, leave and different role mixes can change departmental capacity without changing the number of people. Compare consistently defined staffing hours and workload, and keep paid hours distinct from productive hours.
The average cost per hour can rise, or hours can shift between departments with different cost rates. Separate those effects using planned departmental rates and actual hours. Then inspect aggregate payroll and benefit categories before attributing a difference to overtime, pay changes or another specific cause.
This workflow compares aggregate departmental resources and workload. Its measures do not establish individual performance or support automated employment decisions. Even department-level hours per unit need context about task complexity, service quality, backlog and changes in the work before managers interpret a difference.