> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/use-cases/hospitality-groups-multi-venue/staff-rostering-and-labour-planning.md).

# Staff Rostering & Labour Planning

{% hint style="info" %}
Model Reef is not a rostering or payroll processing platform. It models labour at planning level, not individual shifts or timesheets.
{% endhint %}

## Staff Rostering and Labour Planning

This use case explains how to model staff rostering, labour planning and cost across multiple hospitality venues in Model Reef.

You will:

* Represent roles and teams at venue and group level.
* Build drivers for staffing by day part, day of week and season.
* Convert rosters into FTE and labour cost with on costs and timing.
* Use scenarios to test labour models, opening hours and wage changes.

***

### When to use this pattern

Use this pattern when:

* Labour is one of your biggest controllable costs.
* You need to align staffing with sales and service expectations.
* You operate multiple venues with different demand profiles.
* You want to test labour strategies before implementing them operationally.

It integrates with:

* Venue Level Forecasting Pack
* Group Level Consolidated Reporting
* Build a Staffing Cost Model
* Build a Cashflow Early Warning System

***

### Architecture overview

Labour planning for hospitality uses:

* Role structure
  * Front of house, back of house, bar, management and other roles.
  * Separate roles where pay rates and responsibilities differ.
* Roster drivers
  * Hours per role by day part and day of week.
  * Seasonality and event adjustments.
  * Minimum staffing levels per venue.
* Cost and timing
  * Hourly rates, salaries and on costs.
  * Weekend, evening or public holiday loadings.
  * Payment frequency and delay.
* Scenario analysis
  * Different opening hours, service models and wage assumptions.
  * Volume driven labour models versus more fixed staffing models.

***

{% stepper %}
{% step %}

### Step 1: Define roles and staff variables per venue

For each venue, list key roles, such as:

* Venue Manager
* Assistant Manager
* Front of House team
* Bar staff
* Kitchen team
* Cleaning or support staff

Create Staff variables for each role and venue, for example:

* Staff - Venue 001 - Front of House
* Staff - Venue 001 - Kitchen
* Staff - Venue 001 - Manager

These variables will hold FTE or headcount assumptions and drive labour cost.
{% endstep %}

{% step %}

### Step 2: Build roster and workload drivers

In the Data Library, create drivers for each role that express:

* Hours per day part (breakfast, lunch, dinner, late) by day of week.
* Number of staff per role in each slot.
* Event or holiday adjustments per role and venue.
* Seasonality factors where demand differs by month or season.

From these, derive total weekly or period labour hours, for example:

* Weekly Hours per Role = sum of hours across all day parts and days.
* Period Hours = Weekly Hours × weeks in period adjusted for seasonality and events.

You can differentiate between base staffing and incremental staffing driven by forecast volume where desired.
{% endstep %}

{% step %}

### Step 3: Convert roster hours into labour cost

For each Staff variable, attach cost drivers:

* Base hourly rate or salary.
* Weekend, evening and public holiday loadings where applicable.
* On cost percentage for tax, pension and other contributions.
* Overtime rules if you want an approximate uplift for extended hours.

Compute labour cost as:

* Wage Cost = Hours × Effective Hourly Rate.
* Total Staff Cost = Wage Cost × (1 plus On Cost Percentage).

Enter timing settings to reflect pay cycles, typically weekly or fortnightly, with short payment delays.
{% endstep %}

{% step %}

### Step 4: Link labour plans to sales and service expectations

Where appropriate, link roster drivers to revenue and capacity assumptions. For example:

* Express required FTE per cover or per sales amount.
* Define minimum staffing levels for opening hours.
* Add additional staffing for events or high demand periods.

This helps ensure that labour planning is aligned with forecast sales and service requirements and avoids static, unresponsive staffing patterns.
{% endstep %}

{% step %}

### Step 5: Use scenarios for labour strategy and wage changes

Clone the base model into scenario models to test variations such as:

* Shorter or longer opening hours.
* Different service models (for example table service versus counter service).
* Increased or decreased staffing levels per cover.
* Wage rate changes due to awards, inflation or negotiation.
* Shifts between permanent and casual staff mix.

In each scenario, adjust:

* Roster and staffing drivers.
* Hourly rates, salaries and loadings.
* On cost percentages.
* Links to sales and capacity assumptions.

Compare scenarios using:

* Labour cost as a percentage of sales by venue and group.
* Total labour cost and changes over time.
* Venue level EBITDA and margin after labour.
* Cashflow patterns including payroll timing.
  {% endstep %}

{% step %}

### Step 6: Build group level labour views

Use group level reporting and dashboards to:

* Compare labour cost percentages across venues and regions.
* Track labour cost versus sales for different segments and day parts.
* Identify venues that are over or under staffed relative to peers.
* Monitor the impact of wage changes and labour strategies at group level.

Drill from group or region level charts down to venue and role level views to support targeted interventions.
{% endstep %}
{% endstepper %}

***

### Check your work

* Roster based hours align with actual staffing patterns for sample venues.
* Labour cost outputs reconcile with historical payroll totals when using past data.
* Scenario changes produce realistic outcomes in both cost and staffing levels.
* The model reflects strategic choices rather than operational scheduling detail that is better handled in rostering systems.

***

### Troubleshooting

<details>

<summary><strong>Labour cost appears too low or too high compared to history</strong></summary>

Recheck hours per role, pay rates, on costs and loadings, and ensure that you are not double counting or missing roles.

</details>

<details>

<summary><strong>Rosters do not scale with sales changes</strong></summary>

Introduce volume based drivers that increase hours or staff numbers when sales rise and decrease them when sales fall within reasonable limits.

</details>

<details>

<summary><strong>Model becomes too complex with many individual roles</strong></summary>

Group similar roles into role families and use average rates and hours, keeping more detailed roles only where they matter to decisions.

</details>

***

### Related guides

* [Build an Annual Planning Pack](/how-tos/scenarios-and-planning/build-an-annual-planning-pack.md)
* [Build an Opex Planning Model](/how-tos/operations-and-unit-economics/build-an-opex-planning-model.md)
* [Operational Drivers](/help/drivers-variables-and-timing/operational-drivers.md)
* [Export Options](/syntax/chart-and-table-syntax/export-options.md)
