Analytics Consultant · Nairobi, Kenya

Ron
Gachoka

I build systems that turn raw business data into decisions — connecting ad spend, customer conversations, and point-of-sale revenue into a single clear picture.

Start a conversation See my work
6+
Branches instrumented
4
Attribution tiers built
ML×BI
End-to-end stack
1
Data sources → one dashboard
01

What I Build

Revenue Attribution
Ad Spend → Actual Sales

I trace every sale back to its source — whether a customer clicked an ad two days ago, messaged you on WhatsApp, or walked in organically. No more guessing which campaigns convert.

→ Know your real cost-per-sale, not cost-per-click
Conversational Intelligence
WhatsApp CRM Analytics

I extract meaning from customer conversations at scale — classifying enquiries, tracking what products people ask about, and identifying which concerns convert best.

→ Turn chat data into a sales strategy
End-to-End Pipelines
Data That Runs Itself

Automated pipelines that pull from POS systems, CRM exports, and ad platforms — clean, deduplicated, and refreshed daily without manual intervention.

→ Fresh data every morning, no analyst babysitting required
Executive Dashboards
Answers at a Glance

Power BI dashboards built for decision-makers — revenue by branch, top products, staff performance, and dead stock. Clear enough that your team acts on them daily.

→ Decisions backed by data, not gut feel
02

Case Study

Retail Pharmacy Chain · Nairobi, Kenya · Ongoing
From 12M Duplicate Rows
to a Live Revenue Intelligence System

A multi-branch pharmacy and beauty retail operation had POS data scattered across six locations, WhatsApp conversations with no analytics layer, and no way to know whether their social media ad spend was actually driving foot traffic or sales. I built their entire data infrastructure from scratch — a production ML pipeline that runs daily, connects customer conversations to till receipts, and surfaces the insight that matters: which customer, from which channel, bought what, and why.

6
Branch locations unified
4-tier
Attribution waterfall
Daily
Automated refresh
How the pipeline works
01
POS Ingestion — incremental watermark-based loading from SharePoint branch exports into PostgreSQL. Deduplication via file hash.
02
CRM Classification — CrossEncoder ML model reads WhatsApp conversations and classifies customer concerns, brand intent, and purchase signals.
03
Attribution Waterfall — four-tier logic links ad contacts → conversation history → campaign ID → fallback classification to each sale.
04
KB Product Matching — barcode → brand → fuzzy text stages match POS descriptions to a canonical knowledge base for clean brand/category reporting.
05
Power BI Dashboard — DirectQuery reports refresh from PostgreSQL daily, surfacing revenue, dead stock, staff performance, and social ROI.
Problems solved
Ad attribution Duplicate data (12M+ rows) WhatsApp → sale linkage Dead stock identification Multi-branch consolidation Staff performance tracking Social media ROI Product concern mapping Automated daily reporting Customer lifetime value
03

How I Work

01
Diagnose

Understand your data sources, gaps, and the specific question leadership needs answered.

02
Architect

Design the pipeline structure before writing a single line of code. No surprises mid-build.

03
Build

Staged, verifiable delivery — I check output at every step and share progress.

04
Sustain

Retainer support to maintain, extend, and adapt the system as your business evolves.

04

Stack & Tools

Data Engineering
Python · Pandas · NumPy PostgreSQL SQLAlchemy · psycopg2 Incremental watermark ETL DigitalOcean ·
Machine Learning
CrossEncoder (sentence-transformers) KNN · TF-IDF (product matching) Local LLM (Ollama · Gemma · Llama) EfficientNet-B0 (image classifier) YOLOv8n (object detection)
Visualisation
Power BI (DirectQuery) DAX · Power Query (M) On-premises data gateway Canva (report templates)
Automation & CRM
n8n (workflow automation) Respond.io · WhatsApp API Meta Ads Manager SharePoint · Windows Task Scheduler Cloudflare · Nginx
05

Get in Touch

Let's talk about what your data can do.

Whether you're a pharmacy chain, insurer, or retailer sitting on data that isn't earning its keep — I'd like to hear about it. Engagements start with a free scoping call.

LinkedIn — Ron Gachoka rongachoka.rw@gmail.com