Sales fell by 18%. Which 18%? That is the question that leads to the cause.

“Sales have dropped” is not information you can base a decision on: it is a symptom. Between the symptom and the decision lies one skill: breaking the change down into factors so that the cause has a name, a number and an owner. This guide walks through decomposition step by step: from the three components of the result, through the waterfall and dimensions, to the diagnosis tree and the pitfalls that distort comparisons.

Layer one

Three numbers that break down every drop

The identity you start from

Revenue is the product of three components, so every drop has to pass through one of them. Before anyone says “it’s the competition” or “it’s the market”, you need to know which component moved.

revenue = sessions × conversion × average order value  ·  % change in revenue ≈ sum of % changes in components

The sum approximation works for typical changes of a dozen or so per cent and is enough to point the search in the right direction. The example that runs through this whole post (a toy shop, week on week, illustrative data): revenue −18%, because sessions −12%, conversion −9%, basket +3%. From this one line it is already clear that the problem lies neither in prices nor in the basket: part of the traffic disappeared, and so did part of the propensity to buy.

Waterfall

Waterfall: from the result to the culprits

The same breakdown drawn as a waterfall ends the “everyone has their own theory” debates. A single cascade shows how much of the drop each component accounts for (index, previous week = 100):

Revenue change decomposition · week on weektoy shop · illustrative data

100
−12 traffic
−8 conversion
+2.5 basket
82.5
previous
week
fewer sessionslower
conversion
higher
basket
current
week

How to read it: of the 17.5-point drop, traffic accounts for 12 and conversion for 8, while the basket gave 2.5 points back. Further digging therefore concerns two questions: where the traffic went and what suppressed conversion. Everything else (prices, promotions, basket) can be left alone for now.

Layer two

Layer two: channels, categories, customers

The component shows the direction; the dimension shows the place. Each of the three components breaks down further along its own dimensions: traffic by channel, conversion by category and device, basket by product mix and discounts. In our example:

DimensionChangeConclusion
Traffic: Google Ads (GA4 sessions)−31% sessionsalmost all of the traffic loss sits here
Traffic: all other channels combined (GA4 sessions)−2% sessionswithin normal fluctuation
Conversion: “building blocks” category−41%category bestseller out of stock since Wednesday
Conversion: other categories−1%no changes worth pursuing
Basket: average value+3%side effect: cheap blocks dropped out, so the average rose

Two named suspects instead of general panic: something cut traffic from Google Ads and something choked conversion in one category. Note the basket: it grew because of the problem, and without decomposition someone might well have praised it in a meeting.

Diagnosis

Diagnosis tree: from symptom to cause

The third layer consists of specific checks, one branch per component:

Traffic fellbranch: sessions

  • Paid: campaign budgets and statuses, disapproved products in Merchant Center, bid changes
  • Organic: Search Console positions, keyword seasonality, changes on the results page
  • Direct/e-mail: send calendar, tracking code after shop changes

Conversion fellbranch: propensity to buy

  • One device: a cart or payment bug after an update (mobile breaks most often)
  • One category: bestseller availability, prices versus competitors
  • One channel (GA4 data): traffic quality has changed (new keywords, new campaigns, different audiences)

Basket value fellbranch: order value

  • Product mix: cheap products took over the share (a promotion? an expensive bestseller out of stock?)
  • Discounts: a public code leaked to coupon aggregators, deeper promotions
  • Free delivery thresholds: a threshold change shifted top-up behaviour

Step zero of the diagnosis

Measurement first, business second. Before breaking a drop down into factors, check GA4 coverage and the completeness of source data: a measurement failure produces “drops” that do not exist and can eat a day spent hunting for business causes. How to check this in a few minutes: the guide to the GA4 audit.

Pitfalls

Four pitfalls that distort comparisons

  1. Comparing unequal periods

    Monday with Saturday, a payday week with one without, a promotion period with the period after it. Compare the same weekday and a similar calendar layout, and for seasonal businesses: year on year.

  2. Reacting to a single day

    Daily sales fluctuate naturally. One day outside the norm is an observation; several days in a row or a full week below the norm is a diagnosis. The exception: failure signals, which require an immediate response (more in the guide to monitoring and anomalies).

  3. Mixing definitions across sources

    Placed versus paid orders, gross versus net, sessions versus users. Decomposition is done on one set of definitions, ideally on paid orders from the shop.

  4. Stopping at the first culprit

    “Google traffic fell” is still a symptom. The diagnosis ends at a cause you can act on: disapproved products, stock run out, a paused campaign, a change to the results page.

DataOrganizer

How DataOrganizer breaks down a change automatically

DataOrganizer has change decomposition built into its analytics engine: it breaks the difference between periods into components and dimensions (channels according to GA4, categories, devices) using combined data from the shop, analytics and ad platforms, while anomaly detection pinpoints the day the deviation began. All the work described above fits into a single question:

AI assistant DataOrganizer app
sources connectedweek vs week
Revenue last week fell by 18% compared with the previous one. What exactly happened?
AI
Breaking the change down into components and dimensions…
AI

Decomposition of the −18% drop (measurement complete, GA4 coverage normal):

ComponentChangeNarrowed down to
Sessions−12%Google Ads −31%, other channels −2% (GA4 sessions)
Conversion−9%“building blocks” category −41%, rest −1%
Average basket+3%effect of cheap products dropping out

Two named causes: since Tuesday, 84 products have been disapproved in Merchant Center (hence the loss of sessions from Shopping campaigns), and since Wednesday the bestseller in the “building blocks” category has been out of stock, which cut the category’s conversion. Recommendation: fix the feed attributes and exclude the out-of-stock product from campaigns until the delivery arrives.

Anomalies this weekChange by categoryNew vs returning

Methodological note: the figures in the example are illustrative, and the approximation “revenue change ≈ sum of component changes” works for moderate changes; for large movements the components are multiplied exactly. Decomposition shows where the change happened; confirming the cause always requires looking at the place the numbers point to.

Key takeaway

A drop without decomposition breeds theories; a drop after decomposition produces tasks. Three components, then dimensions, then specifics from the diagnosis tree: this order turns “something is wrong” into a list of fixes with owners and deadlines.

FAQ

Frequently asked questions on diagnosing a sales drop

How do you find the cause of a sales drop?

With two layers of decomposition: first a breakdown into sessions × conversion × basket (every drop passes through one of the components), then a drill-down into dimensions: channels for traffic, categories and devices for conversion, product mix and discounts for the basket. The diagnosis ends at a cause you can act on.

How do you calculate the impact of each component?

For typical changes an approximation is enough: % change in revenue ≈ sum of % changes in the components (e.g. −12% traffic, −9% conversion, +3% basket gives roughly −18%). For large movements, multiply the metrics of both periods exactly; to indicate where to look, the approximation is sufficient.

What should you check first?

Measurement. GA4 coverage and source data completeness can produce a drop that does not exist. Decomposition only makes sense once you have confirmed the numbers are complete; otherwise you end up looking for business causes of a plugin failure.

When should you react, and when is it still noise?

Compare a single day with the same weekday in previous weeks; one day outside the norm is an observation, several days or a full week is a diagnosis. The exception is failure fingerprints (a spike in unpaid orders, zero product impressions): these call for an immediate response.

How does DataOrganizer help?

Change decomposition is built into the engine: the difference between periods is automatically broken down into components and dimensions (channels according to GA4, categories, devices), using combined shop, analytics and advertising data. Anomaly detection pinpoints the day the deviation began, and the chat answers “why did it drop” with a named cause backed by numbers.

Cheat sheet for the whole guide

Diagnosing a drop in three layers

1. Components: sessions × conversion × basket. The revenue change roughly equals the sum of component changes; this is the first shortlist of suspects.

2. Dimensions: channels for traffic, categories and devices for conversion, mix and discounts for the basket. A waterfall plus one table narrows the problem down to named places.

3. Specifics: the diagnosis tree leads to a cause you can act on, with a zero step of “check the measurement first”. DataOrganizer handles these three layers automatically, so getting from “it dropped” to a task list takes one question in the chat.


DataOrganizer · change decomposition in the engine

Ask your own data why sales dropped

Connect your shop, analytics and ad platforms: changes are broken down into components and dimensions automatically, and anomalies are flagged on their own. Demo account available instantly; you only pay for connected sources.