You are on page 1of 7

HR ANALYTICS AT SCALENEWORKS

- Deeksha Verma (FT203029)

Objective:
- To find the key drivers of renege.
- Set the rules (Based on the method you have decided, Logistic or
Decision tree or any other).
- Predictive model to predict renege.

Methodology
SPSS analysis was tried to determine if a candidate would join the organization
or not.
RStudio was used to do the exploratory data analysis. R script was
written to develop the logistic regression model and to compute the
Information Value of all the variables.

Based on SPSS
With the help of factor analysis, 5 key factors that could influence a
candidate’s decision to join an organization can be observedOn running these
factors through regression, we determined the following:
 On the basis of results from the SPSS analysis, it can be determined if a
candidate would join the organization or not
 The most significant factors include –
1. Expected vs Offered Hike,
2. Percentage increase in CTC
3. Re-location is required and the time given to the candidate to join the
organization
 More variables could be incorporated in this model to get a more
comprehensive analysis

To get more clarity we try R Studio & perform exploratory data analysis.
Logistic regression model was developed to compute the Information Value of
all the variables.

Information Value Script

R code:
scalene.df = read.csv("Dataset of Scalene clean.csv", header=TRUE, na.strings
= c(""," ","Other","NA"))

scalene.df <- scalene.df[ , -1]

# as.factor -> conversion to categorical variable


scalene.df$DOJ.Extended <- as.factor(scalene.df$DOJ.Extended)
scalene.df$Offered.band <- as.factor(scalene.df$Offered.band)
scalene.df$Joining.Bonus <- as.factor(scalene.df$Joining.Bonus)
scalene.df$Candidate.relocate.actual <-
as.factor(scalene.df$Candidate.relocate.actual)
scalene.df$Gender <- as.factor(scalene.df$Gender)
scalene.df$Candidate.Source <- as.factor(scalene.df$Candidate.Source)
scalene.df$LOB <- as.factor(scalene.df$LOB)
scalene.df$Location <- as.factor(scalene.df$Location)
#scalene.df$Status <- as.factor(scalene.df$Status)

str(scalene.df)

library(caret)

# 70% split
trainsplit <- createDataPartition(scalene.df$Status, p = 0.7, list = FALSE)

set.seed(1)
training <- scalene.df[trainsplit, ]
testing <- scalene.df[-trainsplit, ]

# Generalised Linear Model


training_logit <- glm(Status ~ . ,data = training,
family = binomial(link = "logit"))

with(training_logit, pchisq(null.deviance - deviance, df.null - df.residual,


lower.tail = FALSE))
# < 0.05 -> Significant
# Pseudo R2
with(training_logit, 1 - (deviance / null.deviance))
# 13.41%

summary(training_logit)
Variable Information Value Bins Zero Bins Strength

1 Notice.period 1.944711e-01 2 0 Average


2 LOB 1.128570e-01 9 1 Average
3 Duration.to.accept.offer 1.027265e-01 6 0 Average
4 Candidate.Ref 7.712612e-02 3 0 Weak
5 Candidate.Source 7.593482e-02 3 0 Weak
6 Location 7.136149e-02 11 1 Weak
7 Percent.difference.CTC 5.829299e-02 2 0 Weak
8 Rex.in.Yrs 4.592574e-02 2 0 Weak
9 Age 3.510666e-02 3 0 Weak
10 Candidate.relocate.actual 3.432845e-02 2 1 Weak
11 Pecent.hike.expected.in.CTC 2.334359e-02 4 0 Weak
12 Percent.hike.offered.in.CTC 8.755870e-03 2 0 Very weak
13 Offered.band 6.409446e-03 4 0 Very weak
14 Gender 1.177327e-03 2 0 Very weak
15 DOJ.Extended 2.618748e-04 2 0 Very weak
16 Joining.Bonus 9.567161e-05 2 0 Very weak

Observations :

Key drivers of renege –

After the Information Value was computed following three relevant drivers
came significant.
Variable Name
LOB
Notice period
Duration to accept the
offer

Logistic Regression Script

#Logistic Regression
Input_data$Status=as.factor(Input_data$Status)
Input_data$LOB=as.factor(Input_data$LOB)

logit=glm(Status~LOB+Duration.to.accept.offer+Notice.period,data=Input_data,family=bino
mial(link="logit"))
logit

Predictive model to predict renege – Logistics Regression


Output
Logit

Call: glm(formula = Status ~ LOB + Duration.to.accept.offer + Notice.peri


od,
family = binomial(link = "logit"), data = Input_data)

Coefficients:
(Intercept) LOBBFSI LOBCSM
P
-2.118908 0.099613 -0.1619
23
LOBEAS LOBERS LOBE
TS
0.233030 0.031990 -0.3378
72
LOBHealthcare LOBINFRA LOBM
MS
-0.297064 -0.611481 -12.4372
98
Duration.to.accept.offer Notice.period
-0.002212 0.020522

Degrees of Freedom: 9010 Total (i.e. Null); 9000 Residual


Null Deviance: 8684
Residual Deviance: 8252 AIC: 8274

The predicted Renege Status is given by:

Status =

Intercept * -2.118908 +
LOBBFSI * 0.099613 +
LOBCSMP * -0.161923+
LOBEAS * 0.233030 +
LOBERS * 0.031990 +
LOBETS * -0.337872 +
LOBHealthcare * -.297064 +
LOBINFRA * -0.611481 +
LOBMMS * -12.437298 +
DTAO * -.002212 +
NP * .020522

Inference
The value of renege declined for the negative coefficient values, as the
independent variable increase. Whereas, for the positive coefficient variables, the amount of
renege and the independent variable move in the same direction.

You might also like