Hamza Fayz
Home/ Case Studies/ True Employee Cost Intelligence
Case · 06·Supporting·Workforce intelligence

Workforce cost as it actually behaves — not as payroll prints it.

Every employee has a cost curve that starts before day one. Recruitment · mobilization · visa · iqama · work permit · contract · onboarding. Then monthly payroll + allowances + employer obligations. Then annual periodics — bonus, leave travel, iqama renewal, medical. Then total cost to date, per role, per project. That is what management needs to see.

ScopeFull lifecycle · sourcing → active
Cost categories11 · one-time + recurring + periodic
ViewsMonthly · Annualized · To-date
CutsRole · project · compliance
Employee cost lifecycle Sourcing → Active
01 · Sourcing

Bring them in

  • Recruitmentone-time
  • Mobilizationflight + per diem
  • Onboardinginduction
02 · Authorize

Make them legal

  • Visa / Iqamaone-time
  • Work permitMOL fees
  • Contract / docsdocumented
03 · Active

Monthly cost

  • Base + allow.payroll
  • Employer GOSIobligation
  • Medical ins.prorated
04 · Periodic

Annualized

  • Bonus targetyearly
  • Leave travelyearly
  • Iqama renewalyearly
Sample workforce45 employeesAcross 11 roles, 4 projects
Cost categories11One-time · recurring · periodic
Views3Monthly · Annual · To-date
Compliance signals62Iqama · med · permit · contract
Break-even viewPer roleOne-time ÷ monthly
Why this mattered

Workforce cost was a payroll line. The real cost lived in ten places.

Finance saw the monthly payroll. HR saw the visa folder. Site saw the headcount. No one had a single defensible number for what an employee actually costs, over time, per role, per project.

Operational problem

Payroll ≠ true cost. One-time and periodic costs hid in AP, HR, and government fees.

  • Sourcing investment (recruitment, mobilization, onboarding) never made it into the "cost per employee" number — treated as sundry AP expense.
  • Work authorization costs (iqama, MOL work permit levy, contract translation, medical for iqama) were scattered across government fee journals.
  • Employer obligations (GOSI, medical insurance, leave travel) were accrued monthly but rarely paired with the employee they belonged to.
  • Role benchmarks didn't exist. "Should a Quantity Surveyor cost 17,000 or 22,000 per month?" had no defensible answer.
System & data gap

No lifecycle model. No per-employee anchor. No compliance signal.

  • HR master, payroll, AP, and government relations were four disconnected data sources — no shared emp_id key with cost lineage.
  • No "total cost to date" view — leadership could not answer "how much have we invested in this employee so far?"
  • Compliance (iqama expiring, medical lapsing, contract in its last 60 days) wasn't an operational signal — it sat in an HR file until it broke something.
  • Project-level workforce cost was backed into from payroll exports, not derived from a model.
What I built

A per-employee cost model that answers four executive questions.

Workforce cost intelligence · model shape Per employee · per role · per project
01Employee master
02Cost components
03Monthly · annualized · TTD
04Role · project · compliance
05Executive views
Four executive questions answered
Total per emp?
Cost by role?
Cost by project?
Compliance risk?
Logic & control

Three rules anchor the model.

Rule 01 · lifecycle bucketing

One-time ≠ recurring ≠ periodic

Sourcing + authorization costs capitalized separately from recurring payroll and annual periodics. Mixing them hides the real cost curve.

cost = { one_time, monthly_recurring, annual_periodic }
Mixed
"Cost per head"payroll only
Sourcing hiddentrue
Bucketed
"Cost per head"lifecycle
Defensibletrue
Rule 02 · employer obligations

GOSI + medical + leave travel belong to the employee

Every employer obligation is allocated to the emp_id it was triggered by — no "HR overhead" bucket that drifts.

employer_cost = GOSI% × base + med_ins + leave_travel
Pooled
Allocationby headcount
Accuracyrough
Anchored
Allocationby emp_id
Accuracyexact
Rule 03 · compliance signal

Every renewal window has an owner and a deadline

Iqama, medical, work permit, and contract windows produce scored alerts with owner and action — not a folder to check quarterly.

alert = fn(category, days_to_expiry, owner)
Folder
When seenat expiry
Outcomefines
Signal
When seen60d ahead
Outcomerenewed
Traceability

A cost line traces to an employee, a category, and a policy.

If leadership asks "why does this Site Engineer cost 240K per year?", the answer walks through every bucket.

EMP-5037 · Site Engineer · Aurora Monthly direct · 20.0K Employer GOSI · 230/mo Medical (prorated) · 433/mo Periodics (prorated) Annualized · ~259K SAR
Sourcing investment · one-time Recruit + mobilize · ~13.7K Visa/iqama + permit · ~5.3K Contract + onboarding · ~3.6K Total one-time · ~22.6K SAR
Outcomes as signals

What shifted in how workforce cost is read.

"Cost per employee"Defensiblelifecycle, not payroll
Role benchmarksPublishedone-time + recurring + periodic
ComplianceA signal60-day look-ahead
Project viewModel-derivednot backed out from payroll
Artifacts

Proof artifacts — live and planned.

Excel · live

Workforce Cost · full demo workbook

45 employees · 11 roles · 4 projects. Employee master + cost components + monthly + annualized + total cost to date + role benchmarks + project allocation + compliance alerts. Integrity checks run in a validator.

Download Excel → Available · portfolio sample
HR dashboard · planned

Executive HR command view

Headcount · compliance heatmap · expiring windows · per-employee profile with contract / medical / insurance linkage. Dashboard mock + Power BI model contract planned.

Phase 5
Policy library · planned

Cost category rulebook

Redacted policy catalog: which cost categories capitalize vs expense, GOSI rates per nationality, medical tiers, leave-travel policy bands.

Phase 5