The source file as a ruler: 541,909 rows, of which 522,568 are clean sale lines. The 19,341 rows set aside are magnified: 5,268 exact duplicates, 9,251 cancellations netted, 2,327 postage and fees, 2,495 zero or negative.
01
Your store shows sales. Not what you keep.
Sales went up last month, and the bank balance didn’t.
Returns and refused cash-on-delivery orders never show up in the sales report.
Product cost, shipping, fees and ads sit in different places, so nobody adds them up.
Who we’re not for
You have an analyst in-house.
Give them the time instead.
You haven’t launched yet.
Come back after a few months of real activity.
You need pipelines built.
That’s engineering, and a different team.
You’ve decided, and want numbers to back it.
Sometimes the data says the plan isn’t working.
02
Three ways in.
01
Profit Snapshot for online stores
Send your orders export and product costs from Salla, Zid or Shopify. See what each order and product really earns.
From$50price
5–7days
True profit per order and product, after product cost, shipping, payment fees and ad spend.
What returns and refused cash-on-delivery orders cost you, by product and city.
Three actions on one page, in Arabic or English. $100 with a second period to compare.
Pick this when your store shows sales, but you can’t say how much of it you keep.
02
Season review
Before Ramadan, White Friday or 11.11, see how last season really did, and what to stock and spend on next time.
From$50price
5–7days
Profit by product and channel for the season, against a normal month.
What sold out, what sat on the shelf, and what came back as returns.
A short plan for the next season, delivered 4 to 8 weeks before it starts.
Pick this when a big season is coming and the plan rests on memories of the last one.
03
Profit Dashboard, after a Snapshot
The numbers your Snapshot found, in one place each week, refreshed without rebuilding.
From$150price
1–2weeks
Built in Looker Studio or Google Sheets, so you pay no licence. $300 adds ad spend by channel.
A written definition of every number on it.
Optional monthly profit report at $40 a month, with fresh numbers and three lines on what changed.
Pick this when the Snapshot showed what to watch, and you want to see it every week.
Five stages. Each one stops the next being guesswork.
1
Observe
How the business really runs, and where the data comes from.
2
Measure
What’s captured, missing or inconsistent. This sets the ceiling.
3
Understand
What the numbers say, checked against how you operate.
4
Identify
The few things worth acting on now.
5
Decide
Clear options, with what each would take. The decision stays yours.
What we need to start
Your orders export from Salla, Zid or Shopify.
What each product costs you. We send a simple sheet to fill in.
Two short calls, one to start and one for the results.
04
What a year of e‑commerce sales shows.
A UK retailer’s transactions, cleaned as shown at the top. Public data: check us.
September to November: a quarter of the calendar, over a third of the money.
Of the 522,568 clean sale lines, 24,754 fall in December 2011, a partial month, and are left out: 497,814 are in the chart’s window.
Dec to AugSep to NovOutlier: robust z > 7 on log line value
n = 497,814 sale lines, Dec 2010 – Nov 2011, 8,321 cancellations netted.
December 2011 (partial) left out · Online Retail, UCI ML Repository · computed 28 Sep 2026
Every value, as a table
Net revenue by month, December 2010 to November 2011, with each month’s share of the year. The ringed month holds the flagged line.
Month
Net, £
Share
Dec 2010
£758,167
8.1%
Jan 2011
£578,914
6.2%
Feb 2011
£499,531
5.4%
Mar 2011
£679,338
7.3%
Apr 2011
£482,154
5.2%
May 2011
£731,088
7.8%
Jun 2011, 1 flagged line, £38,970, kept
£723,970
7.8%
Jul 2011
£676,845
7.3%
Aug 2011
£701,382
7.5%
Sep 2011
£1,011,365
10.8%
Oct 2011
£1,061,718
11.4%
Nov 2011
£1,427,125
15.3%
Twelve months
£9,331,596
100.0%
The flagged June line: 60 × £649.50, re-ordered as one set five minutes later. Kept: the retailer’s question, not ours to delete.
Two other lines pass the test: one cancelled in January, one outside the window.
Same twelve months
234
customers, about 1 in 18, brought half of identified customers’ revenue.
£77,184
The largest order: 74,215 storage jars, cancelled 16 minutes later. Left in, January reads 13% high.
15.0%
of net revenue has no customer ID (123,628 sale lines). Flagged, not deleted.
From a real conversation
Reporting gaps and missing history were the symptom, not the thing to fix.
We expected dashboard work. The problems sat a level below, in how information was captured. Shared with permission.
05
We are a new practice.
1exploratory session
1proposal written
0completed commercial projects
So: a worked example on public data, not a client list. The first three stores get the $100 Snapshot for $50, for an honest review.
06
The name is the method.
.describe(
In Python, .describe() is the first thing you run on an unfamiliar dataset:
rows, averages, extremes, gaps. You look first. The bracket stays open: what goes inside is your business.
I’m Wafa’a Al-Hayek, and I run .describe( from Gaza.
I studied business administration, joined a software bootcamp in 2022, and moved to data analytics in 2023:
analytics, monitoring and evaluation, reporting. Most data work goes wrong on the question, not the technique.
The team is me, for now; a software engineer and a data analyst join as work grows. You’ll always know who’s on your project.
A number doesn’t have to be wrong to mislead you.
We show our method, name what we excluded, and say when a finding is weaker than you hoped. You should be able to check us.
07
Before you write.
We don’t have anyone who works with data. Is that a problem?
No, that’s who this is for. We need one person who knows how the business runs. Usually that’s you.
We’re not sure what we need. Can we still talk?
Yes. Bring the decision you’re stuck on, not a specification. Finding the right question is part of the job.
What happens to our data?
A read-only connection or a recent export, so we can’t change anything. Used only for your project, never shared or sold, deleted after delivery. We’ll sign an NDA first if you prefer.
How do we know the work will be any good?
You don’t yet. Judge the worked example, then a small scoped first piece, before anything larger. The first conversation costs nothing.
Do you clean the data too?
Yes, in every job, at no extra cost. Returns, cancellations and duplicate customers are sorted out before anything is counted, and you get a log of what changed.