Putting Data to Work

Francesca Lazzeri
Microsoft Azure
Published in
5 min readAug 9, 2018

How to Optimize Workforce Staffing to Improve Organization Profitability with Azure Machine Learning Studio

Introduction and Business Domain

The recent advancement in machine learning and big data technologies allows companies to apply better staffing strategies by taking advantage of historical data. Assigning the right people to the right projects is critical not only for the success of each project but for the overall profitability of the organization.

Most commonly, project staffing is done manually by project managers and is based on staff availability and prior knowledge of individual’s past performance. This process is time-consuming and the results are often sub-optimal. This process can be done much more effectively by taking advantage of historical data and advanced machine learning techniques.

We have developed a recommendation-based staff allocation solution for a professional services company, Baker Tilly Virchow Krause, LLP. Baker Tilly is a full-service accounting and advisory firm with a focus on industry and services specialization. Our solution recommends optimal staff composition and individual staff with the right experience and expertise for Baker Tilly’s new projects. By aligning staff experience with project needs, we help project managers at Baker Tilly perform better and faster staff allocation.

The final goal of our solution is to improve Baker Tilly’s profit. Based on our offline evaluation, we expect a 4~5% improvement on profit for the projects employing our solution. The final solution has been integrated with Baker Tilly’s internal practice management system and will be evaluated in a few pilot teams before being implemented across all teams.

Solution Overview

The solution developed is divided into the following two parts and the outputs of the two parts are combined to generate the final staff recommendations:

Part 1: Predict staff composition, e.g. one senior accountant and two accounting assistants, for a new project. In this part, we use K-Nearest Neighborhood (KNN) to perform prediction based on historical projects with similar properties like project type and industry.

Part 2: Compute Staff Fitness Score (Rating) for a new project. For this second part we applied a content-based recommendation algorithm developed in R and executed by Execute R Script modules in AzureML.

The figure below summarizes the workflow design of this Proof of Concept (PoC):

Image — Baker Tilly Staff Allocation PoC Workflow

Solution Architecture

Baker Tilly has integrated the solution within their practice management tools: new projects in Baker Tilly’s database are processed daily by the Azure Machine Learning web service and results are consumed by project managers in Baker Tilly’s practice management system.

The workforce placement recommendation results are also visualized on a real-time PowerBI dashboard that can be used by data analysts and executives at Baker Tilly to monitor project allocation and performance over time.

The figure below shows the solution architecture in detail:

Image — Baker Tilly Solution Architecture

Experiment Design

Part I: Predict Project Staff Composition

In this step, we used KNN to predict the staff composition, i.e. numbers of each staff classification/title, of a new project using historical project data. We split the data set in the following way:

· Training data (historical projects): 2010–09–01 to 2015–09–01

· Testing data (new projects): 2015–09–01 to — Present

We found historical projects similar to the new project based on different project properties, such as Project Type, Total Billing, Industry, Client, Revenue Range etc. We assigned different weights to each project property based on business rules and standards.

We also removed any data that had negative contribution margin (profit). For each staff classification, staff count is predicted by computing a weighted sum of similar historical projects’ staff counts of the corresponding staff classification. Using Accountant as an example:

The weight of each historical project is:

The final weights are normalized so that the sum of all weights are 1. Before calculating the weighted sum, we removed 10% outliers with high values and 10% outliers with low values.

Part 2: Predict Staff Fitness Score (Rating) using Custom Content-Based Filtering

We implemented a content-based algorithm in R to predict how well a staff’s experience matches project needs.

In a content-based filtering system, a user profile is usually computed based on the user’s historical ratings on items. This user profile describes the user’s taste and preference. To predict a staff’s fitness for a new project, we created two staff profile vectors for each staff using historical data: one vector is based on the number of hours that describes the staff’s experience and expertise for different types of projects; the other vector is based on contribution margin per hour (CMH) that describes the staff’s profitability for different types of projects. The Staff Fitness Scores for a new project are computed by taking the inner products between these two staff profile vectors and a binary vector that describes the important properties of a project. Below is a screenshot of the experiment developed to predict Staff Fitness Score (Rating) using Custom Content-Based Filtering:

Experiment built in Azure Machine Learning Studio

Conclusions

No resource of an organization is more important and expensive, than the human resource. However, the human dimension can often seem too complex to turn into a statistic and limited in opportunity for quantitative observation, refinement and improvement. What if the human element of an organization could be quantified, transformed into real historical data and used to deploy an advanced analytic solution?

By making use of Azure Machine Learning Studio, we built and deployed a workforce placement recommendation solution that recommends optimal staff composition and individual staff with the right experience and expertise for new projects. Azure, with its myriad of cloud-based tools, can help organizations with building successful workforce analytic solutions that provide the basis for specific action plans and workforce investments. These solutions can address gaps or inefficiencies in an organization staff allocation that need to be overcome to drive better business outcomes. Organizations can gain a competitive edge by using workforce analytics to focus on optimizing the use of their human capital.

--

--

Francesca Lazzeri
Microsoft Azure

Principal Data Scientist Director @Microsoft ~ Adjunct Professor @Columbia University ~ PhD