An archive of the dashboards, models and reports I've actually shipped.

I'm an independent analytics consultant. Fifteen years of building the reporting layer for e-commerce brands, SaaS teams, finance functions and operations rooms. Everything below is real work, rebuilt with illustrative data so I can show it publicly.

15
Years
in DATA
60+
PROJECTS
in production
5+
Industries
worked inside
Please read

Every figure and chart on this site is illustrative. Real work sits under NDA and is shown privately on request.

Projects

4 of 12 projects

Dashboards

Illustrative data

Four rebuilt from real projects. Each one was designed around a single question, a single owner and the decision it is meant to trigger, not around every metric that happened to be available.

Marketing Attribution · Looker Studio
Dummy data
Paid acquisition performance
Q1 2026 · all channels · last refresh 04:00
Quarter YTD All time
Total spend
382.7k
▲ 6.2% vs Q4
Attributed revenue
1.55M
▲ 14.8% vs Q4
Blended ROAS
4.05
▲ 0.31 vs Q4
Blended CAC
198
▲ 4.1% vs Q4
Spend vs attributed revenue by channel
Channel Spend Revenue ROAS CAC
Google Ads 148,200 612,400 4.13 186
Meta Ads 121,500 438,900 3.61 214
TikTok Ads 62,800 189,600 3.02 268
LinkedIn 41,300 96,700 2.34 412
Email & SMS 8,900 214,300 24.1 31
Weekly spend · 12 weeks
W1W6W12
Peak week W12 · 41.2k

Reports

Illustrative data

A dashboard tells you what happened. A report tells you what to do about it.

Weekly memo 1 page
Friday memo
Week 31 · DTC skincare
Three things worth noticing
01Weekend AOV dropped 8%. The WKND20 code is cannibalising full-price orders. Cap it or kill it.
02Meta CAC crept up 22%. Same creative running 47 days. Refresh test scheduled Monday.
03Repeat rate hit 38.7%, highest this year. The post-purchase email flow is doing the work.
Five-minute read. One recommendation per point, sent every Friday to retainer clients.
Audit findings 14 pages
Data health check
17 issues · prioritised
Severity breakdown
Critical · silently wrong data4
High · blocks a decision6
Medium · costs time weekly5
Low · tidy-up2
Every issue gets a reproduction query, an owner and an estimate. No finding without a fix.
Board pack 8 pages
Quarterly review
Q2 FY26 · fintech
Headline numbers
ARR18.4M
Net revenue retention112%
LTV / CAC3.8×
Payback period14 mo
Every figure traces back to a documented query. If a board member asks where a number came from, there is an answer.
Technical note 9 pages
Attribution methodology
How a conversion gets counted
Model comparison
Last non-direct click41% of revenue
Position-based (40/20/40)33% of revenue
Time decay, 30-day26% of revenue
Written so a marketer can read it. Every model is stated with its assumptions and where it will mislead you.
Reference 34 metrics
KPI dictionary
One definition per number
Sample entries
Active customer90d
Contribution marginNet
Cohort anchorWeek 0
Attributed revenue30d
The document that ends the meeting where two people argue about what a number means.
Analysis 22 pages
Cohort deep-dive
Why customers actually leave
Leading signals
Seat count fell in month 1Signal strength
Support ticket unresolved 14dSignal strength
Admin never invited a teammateSignal strength
Login gap over 21 daysSignal strength
Four signals that appear before a cancellation, ranked by how far ahead they fire.

Data & privacy

Your data never leaves your ground, and it never appears on this website.

This matters more than any dashboard I could show you. A consultant who leaks one client's numbers will leak yours. Here is exactly how I work, in writing, before we start.

01 NDA

A mutual non-disclosure agreement is signed before I look at a single row of your data. Not after scoping, not after the first invoice. Before.

02 In place

I work inside your infrastructure, on your accounts, with access you grant and can revoke. Nothing is copied, exported or synced to a machine I own.

03 Least access

Read-only by default, scoped to the tables the work actually needs. Personal data is masked or excluded unless the analysis genuinely requires it.

04 Dummy data

Everything shown publicly, every chart and table and figure on this site, is regenerated illustrative data. The structure is real; the numbers are not.

05 Exit

When an engagement ends, my access is revoked and any working files are destroyed. Documentation and models stay with you, in your repository.

About

I started in analytics before data was a job title.

Fifteen years, five industries, and a lot of late-night SQL later, I've learned the hard part was never the query. It's asking the right question before you write it, and then being willing to report the answer you didn't want.

I work alone and I work directly with you. There is no junior on the account, no account manager between us, and no forty-slide deck at the end. What you get is clean models, documented logic, dashboards your team actually opens, and a short written answer to the question you asked.

I've sat inside marketing pods, finance functions and operations rooms. The pattern is the same every time: plenty of data, very little clarity. My job is to close that gap with as little ceremony as possible.

Modelling
SQL Python Excel
Warehouses
BigQuery Snowflake Postgres
Visualisation
Looker Studio Power BI Tableau
Industries
E-commerce SaaS Fintech Logistics Retail
Get in touch

Tell me the number that isn't behaving.

Thirty minutes, no preparation needed, no pitch deck. You describe the problem, I ask the boring questions, and you leave with an honest read on whether it's worth doing at all.

Availability Open
Based in Riyadh, Saudi Arabia
Working references and real (non-illustrative) examples are shared privately on request, once an NDA is in place.