HR Analytics Dashboard
Goal
From HR data, answer:
- Attrition rate
- Attrition by department/job role
- Salary and tenure differences
Step 1: Load
Load HR data
import pandas as pd
df = pd.read_csv("data/hr.csv")
print(df.head())Load HR data
import pandas as pd
df = pd.read_csv("data/hr.csv")
print(df.head())Step 2: Attrition rate
Attrition
rate = df["attrition"].mean() # assuming attrition is 0/1
print("Attrition rate:", rate)Attrition
rate = df["attrition"].mean() # assuming attrition is 0/1
print("Attrition rate:", rate)Step 3: Bar plots by segment
Attrition by dept
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 4))
sns.barplot(data=df, x="department", y="attrition")
plt.title("Attrition rate by department")
plt.xticks(rotation=20)
plt.tight_layout()
plt.show()Attrition by dept
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 4))
sns.barplot(data=df, x="department", y="attrition")
plt.title("Attrition rate by department")
plt.xticks(rotation=20)
plt.tight_layout()
plt.show()Step 4: Box plots for numeric features
Salary vs attrition
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(7, 4))
sns.boxplot(data=df, x="attrition", y="salary")
plt.title("Salary vs attrition")
plt.tight_layout()
plt.show()Salary vs attrition
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(7, 4))
sns.boxplot(data=df, x="attrition", y="salary")
plt.title("Salary vs attrition")
plt.tight_layout()
plt.show()Deliverable
A dashboard should include:
- Attrition KPI
- Top segments with high attrition
- Suggested interventions (training, compensation, career path)
If this helped you, consider buying me a coffee ☕
Buy me a coffeeWas this page helpful?
Let us know how we did
