Power BI Project · Intermediate · 4 to 5 hours
Diagnose employee attrition with DAX measures
Power Query, DAX, and drill-downs on the question every People team asks: who is leaving, from where, and why?
The brief
A 480-person BPO has a retention problem and the HR director cannot see it clearly in spreadsheets. You get the HR master file: department, role, hire and exit dates, salary, age, overtime, and a satisfaction score. Leadership wants to know the true attrition rate, which departments and salary bands bleed the most people, and whether overtime and low satisfaction predict exits.
Your role
You are the People Analytics analyst. Deliverable: a one-page Power BI report the HR director can filter herself, plus your top 3 findings.
The dataset
HR master file for 480 employees
hr-attrition.csv · 480 rows
Columns: employee_id, department, job_role, hire_date, exit_date, monthly_salary, age, gender, regular_overtime, job_satisfaction
Setup
- Open Power BI Desktop (free) and load hr-attrition.csv.
- In Power Query, set date types for hire_date and exit_date; blank exit_date means the employee is still active.
Your tasks
Work through these in order, the way the engagement would actually run.
- 1Create a calculated column flagging attrition: exit_date is not blank.
- 2Write DAX measures: Headcount, Exits, and Attrition Rate (exits divided by headcount).
- 3Create a salary band column: below 22k, 22k to 32k, 32k to 45k, 45k and up.
- 4Build attrition rate by department (bar) and by salary band (bar or donut).
- 5Build a matrix of department by satisfaction score with attrition rate as values, and enable drill-down to job_role.
- 6Add slicers for gender, overtime, and satisfaction, and verify every visual responds.
- 7Write your top 3 findings and one retention recommendation backed by the numbers.
Work like an AI-powered analyst
The modern analyst uses AI as a thinking partner, not a shortcut that skips the learning. Try these on this project.
- Paste a DAX measure that returns the wrong number into ChatGPT or Claude and ask it to reason through the filter context with you.
- Ask the AI which visual best communicates attrition by band to a non-technical HR director, and why.
- Have the AI stress-test your recommendation: what data would prove it wrong?
Expected output
- A one-page .pbix report with working measures, salary bands, drill-down, and responsive slicers.
- Three written findings and one concrete retention recommendation.
- Compare your layout against the reference dashboard on this page: same shape, same numbers, your styling.
Check your numbers
Your results should match these. If they do not, that is the real learning: find out why.
- Headcount is 480 with 140 exits, an overall attrition rate of about 29.2 percent.
- The worst department is Customer Service at about 37.5 percent attrition.
- The worst salary band is 22k to 32k at about 36.6 percent attrition.
- Low satisfaction scores (1 to 2) should visibly out-attrit high scores in your matrix.
The reference dashboard
This is the shape your finished dashboard should take: KPI cards on top, the trend next, breakdowns below, takeaway titles on every chart, and color used only where it carries meaning. Match the shape and the checkpoint numbers, not the pixels; your tool will style it differently, and that is fine.
HR Attrition · 480-person BPO
Reference layout
Headcount
480
All departments
Exits
140
exit_date not blank
Attrition Rate
29.2%
Exits over headcount
Hotspot
CS 37.5%
Worst department
Frontline departments lose one in three; back office holds steady
- Customer Service37.5%
- Technical Support34.5%
- Sales32.9%
- IT17.8%
- Training16.7%
- HR13.3%
- Finance5.7%
Lollipop chart: dot position encodes the attrition rate on a zero-based axis.
Low satisfaction doubles attrition, and frontline plus unhappy is the danger zone
Darker cells mean higher attrition. Cells with fewer than 10 people (like Training at Sat 2, only 3 people) are noisy; read small samples with care.
96% of exits earn below ₱45k a month; the 45k+ band barely leaves
- 22k to 32k52 (37%)
- 32k to 45k56 (40%)
- Below 22k26 (19%)
- 45k and up6 (4%)
Customer Service loses the most people in absolute terms too
- Customer Service60/160
- Technical Support38/110
- Sales23/70
- IT8/45
- Finance2/35
- HR4/30
- Training5/30
Pink: exited · Light teal: still active. Bar length is total headcount.
Source: hr-attrition.csv · 480 rows · deterministic practice dataset. Charts: KPI cards, lollipop, heatmap matrix, donut, stacked bars.
Finished it? Put it in your portfolio.
This is exactly the kind of output the bootcamp builds with you live, with mentor feedback and an AI badge and certificate of completion at the end.
