This end-to-end Power BI dashboard analyzes workforce data from IBM's HR Analytics dataset (1,470 employees) to help HR managers make data-driven decisions around attrition, demographics, compensation, and department performance.
Organizations struggle to identify why employees leave and which groups are most at risk. Without clear visibility into workforce patterns, HR teams cannot build effective retention strategies.
This dashboard answers:
- What is our current attrition rate and who is leaving?
- Which departments and job roles have the highest turnover?
- How do demographics (age, gender, education) impact attrition?
- How does compensation compare across departments and roles?
| Tool | Purpose |
|---|---|
| Power BI Desktop | Dashboard development |
| Power Query | Data cleaning & transformation |
| DAX | Calculated measures & KPIs |
| Excel/CSV | Data source |
High-level summary of workforce KPIs including total employees, attrition count, attrition rate, and age distribution.
Deep dive into attrition patterns by job role, education field, years at company, job satisfaction and marital status.
Workforce composition analysis covering age groups, gender distribution, education levels, and salary distribution across job roles.
Side-by-side department comparison of headcount, attrition rate, average income, job satisfaction and employee tenure.
- 📌 Overall attrition rate is 16.12% — above healthy industry benchmark of 10%
- 📌 Sales department has highest attrition rate at 20.6% despite competitive salaries
- 📌 Year 1 shows the highest attrition spike — early retention programs are critical
- 📌 Single employees leave significantly more than married employees
- 📌 Life Sciences background has the highest attrition among education fields
- 📌 Managers earn nearly 3x more than entry-level roles — large compensation gap exists
- 📌 R&D department makes up 65% of total workforce
-- Total Employees
Total Employees =
COUNTROWS('HR Analytics Data')
-- Attrition Count
Attrition Count =
CALCULATE(
COUNTROWS('HR Analytics Data'),
'HR Analytics Data'[Attrition] = "Yes"
)
-- Attrition Rate
Attrition Rate =
DIVIDE([Attrition Count], [Total Employees], 0)
-- Active Employees
Active Employees =
CALCULATE(
COUNTROWS('HR Analytics Data'),
'HR Analytics Data'[Attrition] = "No"
)
-- Average Monthly Income
Avg Monthly Income =
AVERAGE('HR Analytics Data'[MonthlyIncome])
-- Average Age
Average Age =
AVERAGE('HR Analytics Data'[Age])
-- Average Tenure
Avg Tenure =
AVERAGE('HR Analytics Data'[YearsAtCompany])
-- Male Employees
Male Employees =
CALCULATE(
[Total Employees],
'HR Analytics Data'[Gender] = "Male"
)
-- Female Employees
Female Employees =
CALCULATE(
[Total Employees],
'HR Analytics Data'[Gender] = "Female"
)
-- High Salary Employees
High Salary Employees =
CALCULATE(
[Total Employees],
'HR Analytics Data'[MonthlyIncome] > 10000
)
- Dataset: IBM HR Analytics Employee Attrition & Performance
- Source: Kaggle
- Size: 1,470 rows × 35 columns
- License: Open Database License (ODbL)
- Clone or download this repository
- Open
HR_Workforce_Analysis.pbixin Power BI Desktop - Data is already loaded — no setup required
- Use slicers to filter by Department, Gender, Education
- Navigate between pages using the top navigation bar
| Overview | Attrition Analysis |
|---|---|
![]() |
![]() |
| Demographics | Department View |
|---|---|
![]() |
![]() |
Imran Khan 🎓 Digital Technology & Management Student — OTH Amberg-Weiden
⭐ If you found this project helpful, please give it a star!



