Data Analyst
Turning behavioural data into decisions.
I work on churn, retention and risk — finding the structural driver behind a number rather than the number itself. Three studies below, each one ending in a decision somebody could act on.
SQL · dbt · BigQuery · Power BI · Python
About
I came to data through research design.
My training is in sociology — which in practice meant several years of being taught that the observed difference is usually a proxy for something you haven’t measured yet. Confounding, selection, sampling frames, the difference between association and cause. I now use that on business questions instead of social ones.
It shows up in how I work. On the attrition study, the model disagreed with the raw departmental rates and I spent most of a week reading the 0% figures as a retention success before checking for a paradox. On the same project I ran commute distance as a hypothesis and killed it — R² = 0.000 — which removed a planned intervention from the agenda before anyone spent on it.
Currently closing the gap between analysis and production: dbt, BigQuery, dimensional modelling, and CI on a GA4 event dataset. Shipping October 2026.
Based in Lagos. Working remotely, GMT+1, comfortable across European and US-East hours.

02.My Skills
AI
Languages
Libraries & Frameworks
Databases
Tools & Platforms
03.Certifications


04.Things I've Built
Churn & Retention Analytics
Zero attrition marked entrapment, not loyalty.
Departments with no recorded exits across multiple years modelled at 90%+ underlying risk. A logistic regression with interaction terms found the paradox that raw rates concealed — and moved the retention budget away from the departments that looked worst.
1,400+ employees · R · Tableau
Tuned for recall, because a missed churner costs more than a call.
Optimising for accuracy would have looked better and performed worse. The deployed model catches 88% of churners at 63% precision, and a Streamlit interface puts daily scored call lists in front of a retention team without an analyst in the loop.
ROC-AUC 0.89 · Python · scikit-learn · Streamlit
Risk Analytics
Credit grade predicts default. Income barely moves it.
Three-way ANOVA across 32,000 applications decomposed default risk into debt-to-income and prior defaults at roughly 64:36 — a specific re-weighting for the scoring model, and grounds for dropping credit history length from it entirely.
32,000+ applications · SQL · statsmodels · Power BI
04. What's Next?
Get In Touch
I'm currently seeking new opportunities and my inbox is always open. Whether you have a question or just want to say hi, I'll do my best to get back to you!
