Docs · Reports

Market basket report

The market basket report reads your order history and answers four questions: what sells together, what never to bundle, which products bring customers back, and when each product is due for a reorder. This page walks through every section, top to bottom, and what to do with it.

Every screenshot comes from the public demo report of a garden centre’s 24 months of synthetic trade orders. Open it next to this page to click along.

Before you start

Start one from your workspace with New Analysis and pick What to sell, and when. It runs on the orders already imported into that workspace, and takes a minute or two.

Pick a report type dialog: What to sell, and when (MBA) or Who your customers are (RFM)

What the report can show depends on the columns you imported:

Order ID, date, product
Required. Enough for the rules table, pairs to not bundle and the product list.
Customer ID or email
Unlocks everything that follows a customer across orders: retention by first purchase, reorder cycles, purchase order, target segments and audiences.
Price
Unlocks the revenue figures, including the headline chart. Without prices the headline falls back to rule counts.
In stock
Unlocks the Out of stock tag and the Waits on stock share of the headline.

In the create dialog, Identify products by chooses whether a product is its name, its SKU or variant ID, or a custom field. Pattern depth Pairs finds A → B rules; Triplesalso finds A, B → C, which takes longer and needs more orders. The data quality pips on your workspace tell you in advance how much the report will have to go on.

Section 1

The headline numbers

The top of the report says, in one or two sentences, where this store’s revenue comes from and how much the next 12 months could add. The chart below it shows the same story month by month.

The headline numbers: a sentence, a stacked bar chart of collected revenue left of Today and reachable revenue right of it, and six tiles below
Left of Today: revenue already collected. Right of Today: what is reachable, stacked on the store's current monthly pace.

The chart

Each bar is a month (or a week, for data shorter than about eight months). Solid bars are collected revenue; hatched bars are reachable revenue.

Cross-sell
Revenue from orders that already contain a complete rule from this report, for example both products of a pair. Each order counts once.
Reorders
Revenue from customers rebuying a product that has a steady reorder cycle.
No pattern
Everything else: orders that follow no rule and no cycle.
Missed reorders
Reorders that were due in that month and did not happen.
Reorders due
Customers whose reorder window is open or opening, placed on the month their window ends and valued at what they usually spend.
Cross-sell open
Customers who bought the trigger products of a rule but never the add-on, valued conservatively from the add-on's price and how often the rule is followed. Customers who bought a substitute of the add-on are left out, and each customer counts once, at their single best add-on.
Waits on stock
The share of Cross-sell open held back because the add-on is out of stock right now.
Today's pace
The store's average month so far, the baseline the reachable revenue sits on.

The six tiles

Under the chart, Collected splits past revenue into Bought together, Reorders and No pattern. Reachable shows Reorders due, Cross-sell open and Missed (customers already past their reorder window). The links under each tile jump to the table that holds the detail: Biggest gaps opens the rules table on its biggest-gap preset, and Products opens the products table on its reorder view. The footer line lists how many orders, products and months were analysed and how many rules were found.

How to read it

“Today” is the date of the newest order in your data, not the calendar date. If your last import is months old, the chart ends there. Import fresh orders before reading the reachable side.

The reachable figure is sized on real customers you can reach, not a forecast. The label under it says so: “on today’s pace · not a forecast”.

What it does not prove

Cross-sell revenue is associational. Customers who buy two products together may simply be bigger spenders. Treat the figure as the size of the pattern, not proof that bundling caused it.

When a store’s upside from basket patterns is small, the sentence says so and points you to a customer segments report instead. That is a real answer, not an error: some stores sell one item per order and win on retention.

Section 2 · Product intelligence

Which products carry the store?

One row per product: what it sells, the role it plays in the basket, whether its first-time buyers come back, and how often it gets reordered. Click any row for the full picture.

Products table with Tags, Trend, Orders, Buyers, Revenue, M1 to M12 retention, Cycle and Repeat columns
Tags
The roles this product plays, from the data (see below). A faded glyph means moderate evidence, a full-colour one strong evidence.
Trend
Weekly orders over the last 12 weeks. Teal when the latest week is at or above the first, red when it fell.
Orders, Buyers, Revenue
Totals for the analysed period. The table is sorted by orders.
M1, M3, M6, M12
Retention by first purchase: of the customers whose first order contained this product, the share who placed any later order by month 1, 3, 6 and 12. Cumulative. The pinned All customers row is the store baseline to compare against.
Cycle
Typical days between one order of this product and the next, for the customers who reorder it. Hover for the usual range and quantity.
Repeat
Share of this product's buyers who bought it again.

A dash in a retention cell means the calendar has not reached that month yet, or fewer than 30 customers started with this product.

Product roles

Opener
Leads the basket: sells broadly on its own and pulls several other products in behind it.
Gateway
Starts a customer relationship: buying it is followed by a different product in a later order.
Retainer
Brings customers back on a clock: reordered by the same customers at a predictable interval.
Attachment
Rides along: bought mostly as an addition to something else, rarely as the reason for the order.
Dead end
Sells well but creates nothing after it: no cross-sell partners and no reorder cadence.
Cannibal
Competes with alternatives: bundling it with its rival suppresses both, so lead with one.
Out of stock
Out of stock right now, and inside at least one strong rule. Needs an In stock column.

What to do with it

  • Lead ads, collections and landing pages with Openers.
  • Use Gateways with strong M3 and M6 against the baseline as first-order offers: they bring in customers who stay.
  • Put Retainers on reorder reminders, timed a few days before their Cycle.
  • Show Attachments on the product page of what they ride with, not as standalone promotions.

The product drawer

Clicking a product opens its drawer. In order, it shows:

  • Roles in the basket, each with the evidence behind it (“Here: in 28% of baskets, pulling 6 other products in”).
  • Back by month since first purchase: this product’s retention next to all customers.
  • Lineage: what customers buy before, with and after it. Solid lines are same-order rules, dashed lines are later orders. Click a product to move there.
  • Buyers by segment, weekly orders, and the reorder cadence with a Reorder audience button.
  • Triggers and Driven by: the rules this product starts and the rules that lead to it. Click one to open the rule.
  • Substitutes: products it should never be bundled with.

Select several rows with their checkboxes and use Build audience to target buyers of those products: cross-sell (buyers missing the add-on), reorder reminders (buyers due to rebuy) or win-back (buyers past their window).

Product drawer: orders, buyers, revenue, roles in the basket, opens baskets

Section 3 · What to bundle

Which products pull each other in?

The rules table lists every buy-together pattern the report found. “A → B” reads: customers who buy A also buy B more often than chance. It covers pairs bought in the same order and pairs bought across one customer’s separate orders (tagged Cross-order).

Rules table with presets All rules, Biggest gaps, Quick wins, and columns Score, Lift, Conf., Supp., Capture and Target
Score
A 0 to 100 grade built from lift, confidence, conviction and how steady the pattern is week to week. 75 and above is Strong, 50 Moderate, 25 Weak, below that Noise. Rules seen fewer than 10 times are capped below 50.
Lift
How much more often the two are bought together than by chance. 2.0× means twice as often. Below 1× means they avoid each other.
Conf.
Of everyone who bought the trigger, the share who also bought the add-on.
Supp.
The share of all orders that contain the whole rule. Low support with high lift is a niche but real pattern.
Capture
Of the baskets with the trigger, the share that also had the add-on. The rest are missed: the opportunity.
Target
The customer segment with the most to gain: the most missed baskets, weighted by how often that segment already follows the rule. Needs customer IDs.

Presets and filters

  • Biggest gaps: trustworthy rules that customers follow through on least often, lowest capture first. Your cross-sell backlog.
  • Quick wins: trustworthy rules customers already follow at least half the time. Easy to reinforce on the product page.
  • Tags filters by what the rule is good for: Bundle, Cross-sell, AOV Driver, Star Rule, Emerging, Declining, Seasonal, Cross-order.
  • Thresholds sets min and max ranges for score, lift, confidence and support.
  • Hide substitutes & traps is on by default: it hides pairs with lift below 1 and rules that look strong only because a product is everywhere.

The rule drawer

Click a rule to open it:

  • Explanation and recommendation in plain words, with the missed orders and the revenue at stake.
  • Strength factors: how much each input contributed to the score.
  • Purchase order, for pairs bought across orders: which product customers buy first and the median days between them. A clear order is a follow-up email waiting to be written: lead with the first product and follow up around that day.
  • Impact: how much bigger baskets are when the rule is followed (AOV uplift), and the capture rate.
  • Sell this to: the target segment, how many of its baskets lack the add-on, and how many more attaches you would get at that segment’s own rate.
  • By segment and Occurrence trend.

Build audiencein the footer turns the rule’s missed customers into a list you can export for Klaviyo, Mailchimp or any email tool. Discuss in chat opens the assistant with the rule already loaded.

Rule drawer: explanation, recommendation, score, lift, confidence, support, strength factors, impact, capture rate, Sell this to

What it does not prove

A very strong, very common pair is often something you already merchandise together. That is the rule describing your current setup, not a new idea. Look for surprising pairs across categories, and for Biggest gaps.

Section 4 · What not to bundle

Pairs to not bundle

Some products are bought instead of each other, not with each other. The report flags a pair when it appears together far less often than chance predicts, and the gap passes a chi-square test. Bundling them cannibalises rather than lifts revenue.

Pairs to not bundle table: pair, evidence, strength, lift and chi-square
Evidence
How often the two were bought together against what chance predicts, for example “Never bought together; chance predicts ~30 baskets”.
Strength
Strong or moderate, from the test result and the size of the gap.
Lift
Below 1× by definition. 0.00× means never together.
χ²
The test statistic. Higher is more certain.

What to do with it

  • Don’t bundle them or discount them as a pair.
  • Segment audiences: offer one only to customers who have not bought the other. The audience builder does this for you when its substitute guard is on.
  • Treat it as a positioning signal: the two do the same job. Clarify the difference in copy, or retire the weaker one.
Substitute drawer: the math, both products, what to do instead

Section 5

What to do next

The last section, visible to you in the dashboard (not on shared links), collects the ways to take findings out of the report.

Take it somewhere: Build audiences, Reorder reminders, Integrate via API, Ask AI
Build audiences
Pick rules and export the customers who bought the trigger but not the add-on, as a CSV for Klaviyo, Meta or any email tool.
Reorder reminders
Pick products on a reorder cycle and export the customers before, in or past their window.
Integrate via API
Pull report results into your own systems. See the API reference.
Ask AI
Connect Claude, ChatGPT, Cursor or Gemini over MCP and ask questions about this report.

Export, share, chat, runs

The bar at the top of every report holds:

  • Export JSON: product-level data only, no customer information. Paste it into any LLM with the analyst skill.
  • Share: private, public link, or password protected. A password-protected link can optionally let viewers build audiences; a public link never does.
  • Chat: opens the assistant next to the report.
  • The run picker, when an analysis has been re-run: switch between runs and see which one is the latest.

If the report belongs to a space with filters, a Scope strip under the bar lists the filters the run used. Re-run from the analyses list to pick up new orders.