Key takeaways up front
- Started with a spreadsheet, not a data warehouse
- First useful version took 11 working days
- Adoption came from the pitch, not the model
This is a complete build log of a project that started as a Foundation-level assignment and ended as a system three business units now run on.
1The dataset nobody wanted to touch
The starting point was an HRMS export: eighteen months of exits, tenure, department, manager, leave patterns and last appraisal rating. Messy, but enough.
2The build
No custom modelling. Cleaning in a spreadsheet, a hosted no-code model for the first pass, then a simple Python notebook once the signal was clear.
- Days 1–3: clean the export, define what 'attrition risk' means
- Days 4–7: first model, tested against last quarter's actual exits
- Days 8–11: dashboard with manager-level risk lists
3The pitch that got it adopted
The model was presented as a conversation prompt for managers, not a verdict on employees. That framing removed the objection that killed two earlier attempts at the same idea.
What to do next
- Start with the export you already have access to.
- Validate against a period you already know the answer for.
- Frame the output as a decision aid, never as a judgement.