MSc Data Science, Strathmore University
In progress in Nairobi. Applied ML coursework includes DSA 8401, built as reproducible, leak-free labs.
Christopher Nguu
Creative analyst · AI & data technology
Mock · clay Pixar avatar · idle float
01 — About
I'm a data scientist in Nairobi doing an MSc in Data Science at Strathmore University. I care most about the part of machine learning that happens after the notebook: leak-free pipelines, one shared preprocessing path for training and serving, honest metrics, and models that send low-confidence predictions to a human.
02 — Skills
Listed only where a dependency file, a workflow, or the repository language shows the tool.
10 tools
Language
Language of the telecom series, DSA 8401, and the handwritten-digit API.
Data
Pinned in requirements.txt for telco-churn-nba-engine, responsible-ai-pack, omnichannel-care-analytics, and DSA 8401.
Models
sklearn Pipelines in telco-churn-nba-engine (scikit-learn 1.5.2) and the DSA 8401 fraud-flag model.
Build
Scoring and prediction APIs in telco-churn-nba-engine, DSA 8401, and handwritten-digit-recognition-api.
Models
MNIST dense net in handwritten-digit-recognition-api. The README names TensorFlow 2.21 / Keras.
Build
Demo and product UIs in MULTI-HEAD-, HR-SYSTEM, and Createch-Arch-Website.
Language
Repository language for MULTI-HEAD-, HR-SYSTEM, Createch Architects, and Airtel Champions.
Build
Dockerfiles ship the telco scoring API, the digit API, and the DSA 8401 service.
Build
ci.yml workflows on the public repos, including the telecom series and the digit API.
Data
Postgres in HR-SYSTEM and Airtel Champions. DuckDB queries in omnichannel-care-analytics.
03 — Work
Selected work from GitHub, linked out rather than rebuilt here.

Telecom series
Churn model, add-on propensity models, a CLV proxy, and a next-best-action rule table, served one customer at a time through a FastAPI POST /score endpoint in Docker.
Held-out gradient boosting: ROC-AUC 0.846001, PR-AUC 0.656070, top-decile lift 2.806733 on 1,761 test customers.
Public IBM Telco Customer Churn sample. The CSV has no country column. It is not Kenyan operator data.

Telecom series
TreeSHAP explanations, Fairlearn fairness checks, a PSI drift baseline, model cards, a NIST AI RMF checklist, and CI metric gates for the pinned churn model.
Held-out demographic parity difference: 0.223259 for SeniorCitizen and 0.030582 for gender.
Same IBM holdout as telco-churn-nba-engine. The parity gap is surfaced and disclosed.

Telecom series
Journey KPI pipeline — funnel, time to first response, resolution by channel and intent — and a profile of the public Bitext telecom intent taxonomy.
Synthetic resolution rate 81.4% (3,256/4,000). Digital-first journeys that later reach a call: 32.0% (971/3,035).
SYNTHETIC journeys, seed 20260929, 4,000 journeys. Bitext example counts are not demand.

Telecom series
Configurable cost-benefit model: editable assumptions, 6 scenarios, cost to serve, payback, year-1 ROI, and a sensitivity tornado.
Base-case payback 8.47 months. Year-1 ROI 0.4175. Low-containment year-1 ROI is -0.1571.
Illustrative inputs. Currency is KES (illustrative).

Telecom series
A Now / Next / Later roadmap that sequences the four earlier projects, with OKRs and a value-versus-effort backlog.
3 horizons. 17 backlog items (3 epics, 14 stories), scored from 1 to 5 on value versus effort.
OKR targets and scores are illustrative planning values, not achieved results.

MSc lab
POST /score turns synthetic mobile-money and thin-file aggregates into a fraud probability, a risk band, and up to three short reasons. The repo also keeps the DSA 8401 Week 1 leak-free regression baseline on real-estate valuation.
Hold-out ROC-AUC 0.7931761410831932 versus 0.5 for a prior dummy, on 12,000 synthetic wallets.
Synthetic data. The figure measures recovery of the simulator, not a field false-positive rate.

Customer care
Triages code-switched Kenyan telecom care messages on issue, sentiment, and urgency, and holds a ticket for a person when the issue head is not confident enough to auto-route.
Issue abstain threshold 0.6. A score of exactly 0.6 is accepted. Below that, or when confidence is missing, the UI shows needs review.
Synthetic smoke fixture. Smoke floors are harness health, not a quality score.

Models
Fully connected network trained on MNIST, served as a live REST API with a draw-a-digit page. Training and serving share one preprocessing module. Predictions under 0.60 confidence route to human review.
The fully connected network reaches ~98% on the sealed test set. The LeNet-style CNN benchmark reaches ~99%.
MNIST. The percentages are quoted as written in that README.

Public health
Interactive map that triages Kenya's 47 counties by the cumulative attack rate at which their surge inpatient capacity is exhausted.
At a 1-in-20 wave, 31 of 47 counties run out of beds. 31.6 million of 47.6 million people live in those counties.
Kenya Master Health Facility List, August 2017, n=8,932, and the 2019 Census.
Client build
HR lifecycle monorepo: admin dashboard and employee PWA (Next.js), Supabase, and English/Swahili i18n. The README describes KDPA 2019 handling as encrypted PII, soft-delete only, and 7-year retention.
Client build. No performance metric is published in the README.
04
In progress in Nairobi. Applied ML coursework includes DSA 8401, built as reproducible, leak-free labs.
Strathmore MSc Applied ML lab. Week 1 is a leak-free regression baseline on real-estate valuation. The same repository ships the Nairobi Fintech Fraud Flag API on synthetic wallets.
Five public repositories built alongside the MSc, using public and labelled synthetic data. The series is unrelated to the client builds.
The DSA 8401 repository names the fraud-flag API as the build for that showcase. The wallets in the demo are simulated.
05 — Experience
Client builds and the company name on the public GitHub profile.
Client build
HR lifecycle monorepo with an admin dashboard and an employee self-service PWA. English and Swahili. Next.js, Supabase, Turborepo.
RepositoryGitHub profile
The public GitHub profile lists Airtel Kenya. The public build is the Champions PWA for HBB leads, installer assignments, performance tracking, and team collaboration.
Champions PWAClient build
Production site for a Nairobi architecture and interiors practice working in hospitality, F&B, lifestyle, and high-end residential.
createch.co.ke06 — Achievements
Figures copied from the repository READMEs. Each line names the data behind it.
Gradient boosting ROC-AUC 0.846001 and top-decile lift 2.806733 on 1,761 held-out customers. Published as that holdout, not an operator result.
RepositoryOn the same holdout, demographic parity difference is 0.223259 for SeniorCitizen and 0.030582 for gender.
RepositoryHold-out ROC-AUC 0.7931761410831932 versus 0.5 for a prior dummy. Built in the DSA 8401 repo for the UNECA African AI Innovators showcase.
RepositoryAt a 1-in-20 wave, 31 of 47 counties run out of beds. Facility register n=8,932 (August 2017) and the 2019 Census.
Repository