Most dispensary owners can recite their daily revenue, transaction count, and best-selling SKU from memory. Almost none can answer a more useful question: when a customer buys an eighth of flower, what else lands in the basket? The cannabis retailers growing fastest right now aren't winning on traffic — they're winning on what each existing customer takes home. Basket analysis is the analytical lens that makes that visible. It turns a pile of transaction lines into a map of buying behavior, and that map almost always points to revenue you've been leaving on the counter.
This guide walks through how to run basket analysis on dispensary POS data, what the most common cannabis retail patterns actually look like, and how to translate findings into menu and merchandising changes that lift average ticket without spending a dollar on acquisition.
What Basket Analysis Actually Measures
Basket analysis (sometimes called market basket analysis) examines the full contents of each transaction rather than treating items as independent sales. Instead of asking "how many pre-rolls did we sell?", it asks "of the customers who bought a pre-roll, what percentage also bought flower, an edible, a vape, or a battery?"
The output is a set of relationships expressed in three useful numbers:
- Support: How often a combination shows up in your transaction set. If 6% of all baskets contain both flower and a pre-roll, support is 6%.
- Confidence: Given that someone bought product A, what is the probability they also bought product B? "60% of flower buyers also bought a pre-roll" is a confidence figure.
- Lift: Whether two products appear together more often than chance would predict. A lift above 1.0 means a real relationship — buying A genuinely makes B more likely. Lift below 1.0 means the products substitute for each other.
For a dispensary, lift is usually the most actionable of the three. High-confidence pairings without high lift just mean both products are popular individually. High lift is where merchandising opportunities hide.
Why It Matters More for Cannabis Than Most Verticals
Cannabis retail has structural conditions that make basket analysis unusually high-leverage:
- Restricted advertising. You can't lean on Google or Meta to drive incremental customers cheaply, so growing revenue from the customers already in the store matters more.
- Compressed margins. State excise taxes, 280E, and price compression have squeezed per-transaction profit. Adding a $12 attachment to a $40 transaction can mean the difference between a profitable visit and a marginal one.
- High SKU complexity. A typical dispensary carries 800-1,400 SKUs across flower, pre-rolls, vapes, concentrates, edibles, beverages, topicals, and accessories. Customers can't possibly browse it all — they default to what's familiar. Surfacing the right second product is a service, not a sales tactic.
- Repeat-purchase rhythm. Cannabis customers visit roughly twice a month on average. A basket-analysis-driven attach lift compounds 24 times a year per active customer.
In categories with thinner SKU counts and fewer repeat visits, basket analysis is a nice-to-have. In cannabis retail, it's usually the highest-ROI piece of analytics work an operator can do that doesn't require new technology.
The Four Cannabis Patterns You'll Almost Always Find
Across dispensary POS data, four basket patterns repeat with remarkable consistency. They give you a rough map of where to look first.
1. The hardware-consumable pair
Vape cartridges and batteries. Concentrates and dab tools. Pre-rolls and lighters. These are the obvious pairs, and most operators already have them merchandised reasonably well. Worth checking anyway — batteries-with-cartridge attach rates below 8-10% usually signal a missed opportunity, especially for new-customer transactions.
2. The flower-edible split household
A subset of customers — often 12-18% of repeat buyers — consistently picks up one flower SKU and one edible SKU on the same visit. Usually these are buying for two people in the same household with different preferences. The signal: don't think of these as separate categories competing for share of basket. Think of them as a complementary purchase pattern that responds to bundle discounts.
3. The format-switcher
Customers who buy a vape one visit, then return for flower three weeks later, then concentrate after that. Single-visit basket analysis won't surface this — you need to widen the window to a 90-day customer-level view. These format-switchers tend to spend 30-45% more annually than single-format loyalists, so they're worth identifying and merchandising for.
4. The accessory dead zone
Almost every dispensary has accessories — papers, grinders, holders, pre-roll cones, ash trays — that show astonishingly low attach rates given how often a flower customer needs them. Accessory attach rates below 4% on flower transactions are nearly always a merchandising failure rather than a demand failure. Customers want them; they just don't see them.
How to Run Basket Analysis on Your POS Data
You don't need a data science team to do this. The work breaks into four steps.
Step 1: Pull the right data
Export transaction-level data with at minimum: transaction ID, date, SKU, product category, quantity, and price. Six months of data is the minimum useful window; twelve months reduces seasonal distortion. Most modern dispensary POS systems — Dutchie, Treez, Flowhub, Blaze, Cova — export this directly to CSV.
Step 2: Aggregate to the basket level
Group rows by transaction ID so each row in your worked file represents one full basket with its product mix. This is where most analysis goes wrong: working at the line-item level instead of the basket level produces statistics about products, not about behavior.
Step 3: Choose your level of granularity
You can analyze at three levels:
- Category level (flower, vape, edible, concentrate, accessory) — best starting point. Twelve to twenty categories is manageable, and patterns are statistically robust.
- Subcategory level (indica flower, sativa flower, gummies, chocolates) — useful once category-level patterns are clear. Doubles your dimensions.
- SKU level — only works for stores with deep, stable SKU lists. Most dispensary catalogs churn too fast for SKU-level basket analysis to be reliable beyond the top 50 movers.
Start at category level. You can always drill down.
Step 4: Calculate the three metrics
For every category pair, calculate support, confidence, and lift. A pivot table or a fifteen-line Python script will do it. Then sort by lift descending and read the top 20 pairings. Anything with lift above 1.5 is a real, exploitable pattern.
Translating Findings into Floor Decisions
Numbers on a screen don't lift average ticket. Decisions do. Three high-leverage moves that almost always come out of dispensary basket analysis:
Adjacent placement
If category A and category B have lift above 1.5, put them physically near each other on the menu, in the case, or in the digital cart flow. Online menu placement matters as much as in-store now — over 60% of cannabis transactions involve a digital touchpoint before checkout.
Budtender prompts
Equip your team with the top five attachment patterns by category. When a customer brings flower to the counter, the budtender already knows the three most-likely complementary purchases. Specific prompts beat generic upsells by a wide margin — "we just got a great new battery in" lands; "anything else?" doesn't.
Bundle pricing
Categories with high lift are candidates for fixed-price bundles that match observed behavior. The bundle isn't creating new behavior; it's pricing for behavior that already happens, which both improves the customer's perception of value and lifts attached margin.
Loyalty triggers
If a customer's last visit had only one category, your loyalty system should target their next campaign at categories with high lift to what they bought. Behavior-based personalization beats segmentation by demographics in every cannabis dataset we've seen.
What "Good" Looks Like
For mature dispensary operators tracking basket analytics carefully, here are practical benchmarks:
- Average items per basket: 1.8-2.4 (under 1.5 indicates significant attach gaps; over 3.0 is rare and usually a pricing or bundle artifact)
- Attach rate of accessories on flower transactions: 8-15%
- Attach rate of batteries on first-time vape cartridge purchases: 35-50%
- Edible attach on flower transactions: 11-18% (varies heavily by market)
- Average ticket lift from a serious 90-day basket-analysis effort: 6-12%
If your numbers are below these, the gap is real revenue. If they're at the high end, the next move is sub-category or SKU-level analysis.
The Bottom Line
Basket analysis is one of the few pieces of dispensary analytics where the work-to-revenue ratio is unambiguous: a few weeks of structured analysis, a handful of merchandising changes, and average ticket lifts measurably. There are no new customers to acquire, no new locations to open, no new licenses to chase — just better use of behavior data you're already collecting.
Three takeaways to act on this week:
- Pull your last six months of transaction data and aggregate it to the basket level. The export already exists in your POS.
- Calculate category-level lift and identify the top five pairings. These are your merchandising targets.
- Brief your team on the top three attach prompts before the next shift. Track attach rate weekly for the following month.
At Chapters Data, we help dispensary operators turn raw POS exports into operational basket dashboards — without spreadsheets, without a data team, and without changing systems. Your transaction history already contains the playbook. The question is whether you're reading it.



