Cutting an EU hotel group's agency staffing spend by 70%
Each hotel in a European hospitality group scheduled staff from its own data, so one property paid agency rates for temps while another nearby had people with free shifts. Twistag built a data layer that brings occupancy and staffing from every property into one view, and an optimiser that recommends cross-property rotations with a projected saving. Managers accept or reject each one. It went live in four months.

- 70%reduction in agency-temp spend
- €1M+annual outsourcing spend addressed
- 4 monthsfrom kickoff to live
- 2,000+employees covered
- Client
- European hospitality group
- Industry
- Hospitality & travel
- Practices
- AI & Agents, Data & Cloud
- Timeline
- 4 months
- Stack
- Google OR-Tools, AWS Lambda
Every hotel planned alone.
Twistag built an AI staff-allocation platform for a European hospitality group that cut agency-temp spend by 70% against a €1 million-plus annual outsourcing problem, live in four months across 2,000-plus employees. The group ran multiple properties whose managers each scheduled staff on local data alone, so one hotel hired agency temps while another sat on idle capacity a few kilometres away. Twistag built a unified data layer that normalises occupancy and staffing data across different property-management systems, and a Google OR-Tools optimisation engine on top of it that recommends specific cross-property staff rotations with the projected saving attached to each one.
Each property scheduled its workforce independently, using its own bookings, headcount and demand forecast. A property at 45% occupancy could have housekeeping staff with three free shifts while a second property across the city ran at 95% and filled the same shifts through a staffing agency at premium last-minute rates. Neither manager could see the other. The group was spending more than €1 million a year on agency staffing for shortfalls that internal capacity could have covered. The client is a European hospitality group with over 2,000 employees and is not named publicly.
Visibility first, then optimisation.
A unified data layer.
Booking, occupancy and staffing data from every property, ingested and reconciled into one model. The harder half of the build, and the part that lasts.
An optimiser that respects the rules.
Google OR-Tools, working within shift structures, role qualifications, travel distance and employee preferences, recommends specific rotations, each with its projected saving.
Serverless and event-driven.
App Runner serves the application and Lambda runs optimisation jobs whenever occupancy changes, so recommendations stay current without a standing cluster.
- SourcesProperty systems at every hotel
- Data layerOccupancy, bookings and shifts in one model
- OptimiserRotations ranked by projected savingKey step
- ManagersAccept or reject each recommendation
Internal capacity covers most of the gap.
A 70% reduction in agency-temp spend. The €1 million-plus annual outsourcing line became a small fraction of itself, with internal capacity covering most of what had been a permanent shortfall. Delivered in four months from kickoff to live, across 2,000-plus employees. The data layer proved to be the durable asset. Because occupancy and staffing data now arrives in one canonical state, further optimisation work does not start from scratch, and the recommendation reaches a general manager without anyone starting a job — optimisation jobs fire when occupancy data updates.
The optimisation layer is valuable. The data layer is what makes it possible.
- Google OR-Tools
- AWS Lambda
Twistag built an AI staff-allocation platform for a European hospitality group that cut agency-temp spend by 70% in four months.










