
At a lot of dispensaries, ordering follows a simple routine. Pull the restock report. See what's running low. Reorder it.
For stable products, that works great. For strain-based products, it can quietly lead to overstock and aged product. The reason is because strain-based products rotate, or swap availability, and the sales overlap which distorts demand.
Up to 80% of cannabis products are strain-based. That includes flower, prerolls, vapes, and concentrates.
Strains come and go all the time, and customers roll with it. If Blue Dream is gone, they grab Northern Lights. The strain changes, but the total number of people buying that product stays about the same.
This is called substitution, and it changes what your sales data is really saying.


In a recent Happy Cabbage webinar, we looked at a month of sales for a popular 1g vape cart line. Here's what happened:
Look at each strain on its own and every one of them looks like a strong seller. But those strong weeks happened at different times. They overlapped.
Add up each strain's best sales pace and the "demand" for the line looks much bigger than what customers actually bought. Reorder every strain to match, and the order grows fast.
Sell-through tells you how quickly inventory moves. At the strain level, it can be misleading:
When each strain gets reordered on its own numbers, you end up with more strains than customers need. They compete for the same shoppers (cannibalization), everything moves slower, and inventory starts to age. Retailers who reorder strain by strain are often overstocked by 20 to 30%.
A product line groups the strains of the same product together to calculate accurate demand. Same brand, same category, same product type, same size.
For example:
When you look at the line's combined sell-through, the overlap disappears. You see the real pace customers buy at, no matter which strains happened to be on the shelf.
Strain-level data is still useful! It's great for comparing which strains your customers like best. But it's important to us the product line sell-through when deciding how much to buy.
A subcategory groups similar products across all brands, like 1g live resin carts or infused prerolls. This view helps you:
Every subcategory has a demand ceiling. Adding another brand or strain to a full bucket usually splits the same sales into smaller pieces.
This is an easy pattern to fall into. Most POS reports show sales one SKU at a time, so that's how most of us learned to buy. Grouping strain-based products into product lines gives you a clearer, more accurate picture of what customers actually want. The good news is you don't have to do all of this math manually.
Here's how:
The result? Accurate orders, stocked with strains your customers love.