Why workforce planning is hard to run today
1. Workload lives nowhere
Cases, tickets, and transactions sit in each office’s own tools.
2. Peaks swamp the same offices every year
The calendar predicts them, but staffing reacts after the backlog forms.
3. Departures are predictable, and found in a resignation letter
Pay against market, workload, and leave signal it months ahead.
2 · The ontology we build
The workforce model
We bring your systems, outside data, and policies together, model the domain, and compute what it runs on.
A slice of the full model: the labeled objects are the ones this work runs on most.
Office
A unit of the institution, the work it handles, and the people who do it.
- division
- enum
- service_hours
- string
- ƒcapacity_gap
sum(work_queues.peak_volume × minutes_per_item) − staffed hours after leave
- handlesWork queuemany
- submitsPosition requestmany
- includesPositionmany
Position request
A request to refill or create a position, with its justification and funding.
- reason
- enum
- requested_on
- date
- funding_source
- enum
- ƒapproval_route
office.budget_owner → HR classification → provost when faculty- ƒprefilled_share
fields filled from source data ÷ all fields
- is submitted byOfficeone
- requestsPositionone
Work queue
A stream of work an office handles: cases, tickets, transactions, or calls.
- kind
- enum
- weekly_volume
- integer
- minutes_per_item
- decimal
- peak_volume
- Weekly volume ahead, from past years, the academic calendar, and enrollment. From office.
- is handled byOfficeone
- receivesEmployee requestmany
Position
A budgeted role in an office, filled or vacant.
- title
- string
- grade
- enum
- fte
- decimal
- ƒdays_vacant
today − vacated_on, while unfilled
- is requested inPosition requestmany
- sits inOfficeone
- posted asJob postingmany
- classified asJob classone
- is filled byEmployeeone
Job posting
An advertised opening for a position.
- opened_on
- date
- applicants
- integer
- ƒtime_to_fill
filled_on − opened_on
- advertisesPositionone
- receivesCandidatemany
Candidate
A person applying for an opening.
- stage
- enum
- applied_on
- date
- applies toJob postingmany
Employee request
A question or request from an employee: leave, a tax form, benefits.
- kind
- enum
- opened_on
- date
- status
- enum
- is submitted byEmployeeone
- lands inWork queueone
Employee
A person employed by the institution.
- hired_on
- date
- fte
- decimal
- salary
- money
- departure_risk
- Chance this employee leaves in the next six months. From position, office, and pay against market and leave history.
- ƒpay_vs_market
salary ÷ fills.classified_as.market_rate
- fillsPositionone
- takesLeavemany
- submitsEmployee requestmany
Leave
Time away: vacation, sick, family, or medical leave.
- kind
- enum
- starts_on
- date
- ends_on
- date
- is taken byEmployeeone
Job class
A classification with a grade range and the market rate for the role.
- family
- enum
- grade_range
- string
- market_rate
- money
- classifiesPositionmany
What it enables
3 · What we deploy on top
Applications, agents, and workflows on the model
Each one reads the model and changes it only through governed actions.
Workforce HQ
For HR and division leaders: workload against capacity by office, open positions, time to fill, and departure risk.
Approve position: Dean or vice president for new lines
Employee services agent
Answers leave, tax form, and benefits questions from policy and the employee’s record, and resolves routine requests within policy.
Resolve request: HR reviews leave and pay changes
HR operations
Prefills position requests from source data, routes them for approval, and opens the posting once approved.
Approve position: Dean or vice president for new lines
4 · Outcomes
What the workforce model lets you do
1. Staff ahead of peak workload
Staff move before overtime hits
HR and department headsWhat the model sees
Each office’s workload against its capacity, month by month
2. Prefill and route position requests
Requests arrive complete, with a committee briefing
Approval committeeWhat the model sees
The source data behind every request field
3. Handle routine employee requests
An agent resolves them and routes the rest
HRWhat the model sees
Leave, tax forms, and benefits questions
4. Fill vacancies faster
Positions post before the vacancy opens
HRWhat the model sees
Each office’s turnover patterns
5. Shift routine work to agents
Staff hours are redeployed to higher-value work
Department headsWhat the model sees
Work agents can absorb, like payment-plan calls
Projected value when a change goes live, and realized value against a holdout, a matched group, or the prior cycle, reported separately.
Overtime hours avoided
Employee questions resolved on first contact
Position requests decided with full evidence
Start with Workforce & HR
We scope the first domain with your team and agree on the outcomes to measure.
