Blenheim Staff Allocation Project
Skills & Technologies
- Python
- Data Analysis
- Data Visualisation
- Pandas
- Matplotlib
- Sci-kit Learn
- Tensorflow
- Power BI
What?
The aim of this project was to investigate how staff are allocated and, the relationship between staff allocation and visitor satisfaction, and to develop a model for optimising staff distribution. The sites where staff allocation could be changed according to demand included the ticket kiosks at the entrance to Blenheim, the 7 cafés/restaurants, ticket kiosks and gift shop. This diagram shows the visitor flow in the main area of Blenheim Palace and some sites which use the staff allocation model. There are several other temporary café stalls and another restaurant that are not shown.
Why?
As an established visitor attraction in the UK, it was important to consider the impact that visitor satisfaction and staffing costs have on the long-term success of Blenheim Palace. We found that staffing was often allocated inefficiently for a number of departments. Some departments allocated too many staff hours relative to the staff budget on a given day and staffing requirements peaked at different times for each interaction point. This meant that some areas are overstaffed whilst others were understaffed.
How?
I conducted an exploratory data analysis to investigate factors affecting Net Promoter Score, a metric of visitor satisfaction derived from surveys. I found that many features correlated with NPS, but collinearity led to overfitting. The data spanned only 1.5 years, preventing the model from capturing seasonal trends, which caused features like month and visitor count to overfit. I experimented with log and Box-Cox transformations and tested Monte Carlo and genetic algorithms for optimisation, but the results were unrealistic. I then examined the relationship between visitor count and the number of staff at customer service points, such as ticket kiosks and gift shop tills. Roster data lacked information on staff clock-in times, breaks, and reassignments, making direct measurement difficult. To estimate staffing levels, I used supervised clustering on transaction rates, assuming that an increase in processed transactions indicated more staff. Validation showed reasonable accuracy when compared to recorded staffing data. Using Blenheim Palace’s visitor count prediction model, I developed a regression model to forecast staffing needs at a given hour. This approach provides a strong foundation for further refinement as more data becomes available.
Outcome
Since leaving, my project has been incorporated into Blenheim's industry-leading visitor management system, where alerts to move staff between positions are being trialled. I also worked on improving their visitor count predictive model by enhancing feature extraction. Blenheim frequently hosts events that significantly impact visitor numbers. By engineering features that account for multiple concurrent events, as well as the number of days remaining and elapsed for each event, I improved the model's accuracy by up to 20%, depending on how far in advance the predictions were made. From this project I gained experience working in a small data science team within a large company. I was required to work with business stakeholders such as the CFO, Managing Director of Visitor Attraction, Director of Human Resources and Department Heads. This involved communicating technical concepts through data visualisation techniques and also building business constraints into my solution.