Part 4 (Final): Predicting results, and working with Command Boards using Machine Learning

Part 4 (Final): Predicting results, and working with Command Boards using Machine Learning

Analyzing the Employees TurnOver: Part 4 (Final) - Descriptive & Predictive analysis

If you haven't seen Parts 1, 2, or 3, please refer to?Part 1: Introduction,?Part 2: Exploratory Analysis & Part 3: Descriptive & Predictive Analysis

In this last section, we will answer the last point of the Business Analytical division: The Prescriptive Analysis -> What recommendations would you make regarding ways to reduce employee turnover?


3. What recommendations would you make regarding ways to reduce employee turnover?

Overview

As we have found, 'Average Working Hours per Month', 'Review' and 'Satisfaction' are the key variables to pay attention to. Taking into consideration we have developed an equation from these three variables, now we can anticipate some outcomes with decent accuracy. Before giving specific recommendations and creating an action plan, we need to make a general review of the different indicators.

Average Working Hours per Month

In general, in the whole company, the employees tend to do overtime hours. The mean of the employees' average working hours per month is 184 hs. In most countries, the legal working schedule per day is between 8 and 9 hours per day. Monthly, this means between 160 and 180hs. Having this said, the company's mean is already above the legal number (above this number, the company should extra compensate the employee). And, on top of that, the first 25th percentil already pass this quantity of hours. This means that more than 75% of the company works more than what the Law establishes (in a different description, we would have to analyze if the employee chose to do the overtime hours or if they have to. Also, if they are well retributed for these extra hours or not, as this might impact on the employee's satisfaction).

In conclusion: more than 75% of the employees do overtime hours. Employees might feel they are overworking. On top of this, 56% of the people who left the company were doing between 185 and 190 hs. per month. This means between 9:15 and 9:30 hours per day.

Review

The average review of the employees who left the company was 69%. The company is losing good employees. The highest the review is, the more chances the employee will leave the company. And, on top of that, the highest the review, the lower the satisfaction of the employee is. This means that the company is losing good reviewed employees who are not happy in the company. Also, there is a relation between review and tenure, where we see that the employees who got the higher reviews were the employees with fewer years in the company.

In conclusion: It's clear that the company has a Human capital flight (Brain Drain) as the higher the review, the lower the employee's satisfaction is and the higher the employee's chances are to leave the company.

Satisfaction

As we mentioned, satisfaction is one of the three most important factors that directly impact the outcome of whether an employee leaves the company or not.

In conclusion: A good employee but not happy in the company could be an expensive outcome against the company.

Tenure

We see that in the years 3 & 4, and 7 & 8 years in the company, the turnover ratio almost reaches a parity. However, due to statistical significance, we should pay special attention to the years 7 and 8. This might mean that some of the employees who left the company might have been head-hunted.

In conclusion: Pay special attention to the employees around the tenure years 7 and 8. These might be managers or directors and are being head-hunted.

Department

It would be more important to analyze the turnovers both my Relative as Absolute Ratios. In one end, analyzing Absolute Ratios in order to have an overall idea of the companies' direction, and Relative ones, because there might be specific issues in specific departments, which cannot be easily translated in numbers.

In conclusion: getting the department's insights is difficult from a macro-vision perspective. Micromanagement techniques, for example, are difficult to analyze analytically.

General Observations

  • There might be a lack of opportunities for career development. Specific and general development programs could help/
  • Internal Transfer/Expats program might be a good way to encourage the employees and raise satisfaction.
  • In some cases, familiar/life events happen, and the employees move from one city/country to others. This way, they leave the company. In this case, trying a reallocation to the city/country, they are thinking to transfer could help.
  • Doing overtime hours might impact the balance between life and work, getting from 'working to live' to 'living to work'. This might be a thing the employees have in mind as soon as they receive any offer, or it might just be the excuse to simply quit.
  • Involuntary terminations might have happened: in case the employees were working on projects, for example.
  • There is a possibility that there is negative management in any of the departments. This should be tackled by applying different techniques such as offering programs for the manager, doing activities for team-building, etc.
  • As we analyzed, the employees are doing overtime hours. If it is important for the company that the employees do overtime hours (and are well paid for that), maybe establishing a hybrid environment might help the employees to feel more relaxed while working from home.

3.1. Specific Recommendations for the Case

The next step must be creating a Command Board where the Human Resources team could monitor all the variables of the employees, and that way, anticipate the possible outcomes. According to the results of the Outcome Anticipation equation obtained with the most important features, we could position each employee in either of these 4 categories:

  1. 1st Quadrant:?No Actions. First 25%. The outcome between 0-0.25 (1st- 25th percentile)
  2. 2nd Quadrant:?Pay-Attention. Second 25%. The outcome between 0.25-0.5 (2nd- 25th percentile)
  3. 3rd Quadrant:?Take-Actions. Third 25%. The outcome between 0-0.25 (3rd- 25th percentile)
  4. 4th Quadrant:?Urgent-Actions. Fourth 25%. The outcome between 0.75-1 (4th- 25th percentile)

No alt text provided for this image

Once we have arrived in the 4th quadrant, it might be too late. That is why the Human Resources team should anticipate great periodical maps to see where the employees are. Also, create automatic triggers, so the system tells the Human Resources they should be attention to a specific employee that has reached any flag value (alert value determined by the company).

Please refer to the bottom of the following report to see an example of how the Command Board might work.

Salary raise or Bonus

There is no doubt that the rehiring process is always more expensive than raising the salary or giving a bonus to an employee who is in the 3rd or 4th quadrant. On top of that, we are considering that the average review of the employees who left the company was 69%. This means that the company not only has to replace employees, but they have to replace good employees, which could be even more expensive.

Reallocation

Reallocating the employee to a different department or offering a transfer could be a solution to avoid losing a good employee.

Managers' Rotation

In order to avoid Micromanagement, a rotation among the managers or directors could help to refresh the environment and avoid any bad habits that might have been established.

Command Board

Here, we will show a way potential way to automate a warning system in order to be able to take action before it is too late. We will simulate four scenarios and show potential messages our HR team could be receiving in each case. For this situation, we will use the Outcome Anticipation equation obtained from the Logistic Regression model.

 # Create function to compute coefficients
coef = answer.params

def theAlarm(value):
    
    if (value >=0) & (value <0.25):
        toReturn='\n The Employee is in the 1st Quadrant. \x1b[6;30;42m' + 'No actions should be taken.' + '\x1b[0m'
        return (toReturn)
    elif (value >=0.25) & (value <0.50):
        toReturn='\n The Employee is in the 2nd Quadrant. \x1b[0;30;46m' + 'Pay attention to the employee.' + '\x1b[0m'
        return (toReturn)
    elif (value >=0.50) & (value <0.75):
        toReturn='\n The Employee is in the 3rd Quadrant. \x1b[0;30;43m' + 'Actions should be taken.' + '\x1b[0m'
        return (toReturn)
    else:
        toReturn='\n The Employee is in the 4th Quadrant. \x1b[0;37;41m' + 'Urgent Actions must be taken!' + '\x1b[0m'
        return (toReturn)

def getTurnOver (coef, avg_hrs_month, review, satisfaction) : 
    y = coef[3] + coef[0]*avg_hrs_month + coef[1]*review + coef[2]*satisfaction
    p = np.exp(y) / (1+np.exp(y))
    quadrant=theAlarm(p)
    print ('The Employee is working: {} Hours in Average per Month, has Review of: {}%, and has a Satisfaction level of: {}%. \nThis Employee has {}% chances of leaving the company. {}'.format(avg_hrs_month,review*100,satisfaction*100,np.round(p*100,1),quadrant))        


We will simulate the four different scenarios (4 different employees) we should have to control in the Command Board

Scenario 1

# An Employee with 70% of Satisfaction, 50% of Review, that worked 170 hours in average per month.
averageOverHours=170
review=0.5
satisfaction=0.8

getTurnOver(coef, averageOverHours, review, satisfaction)        
No alt text provided for this image


Scenario 2

# An Employee with 70% of Satisfaction, 70% of Review, that worked 175 hours in average per month.
averageOverHours=175
review=0.7
satisfaction=0.7

getTurnOver(coef, averageOverHours, review, satisfaction)        
No alt text provided for this image


Scenario 3

# An Employee with 70% of Satisfaction, 80% of Review, that worked 175 hours in average per month.
averageOverHours=175
review=0.8
satisfaction=0.7

getTurnOver(coef, averageOverHours, review, satisfaction)        
No alt text provided for this image


Scenario 4

# An Employee with 70% of Satisfaction, 80% of Review, that worked 188 hours in average per month.
averageOverHours=188
review=0.8
satisfaction=0.7

getTurnOver(coef, averageOverHours, review, satisfaction)        
No alt text provided for this image

Thanks for reading!

---------------------------------------------------------------------------------------------------------------

This case is part of a DataCamp competition:?Employees TurnOver - DataCamp

The full report is available in my GitHub repository?GitHub - vascoarizna

Here you will find not only the full explanation with the graphics and the solution but also the Jupyter Notebook codes in case you want to take anything for you.

Author:?Ignacio Ariznabarreta -?JIAF Consulting

要查看或添加评论,请登录

Jose Ignacio Ariznabarreta Fossati的更多文章

社区洞察

其他会员也浏览了