Competitor prices
Competitor prices are the menu prices of other dispensaries, collected by BudLogix so the pricing engine can see where your prices sit in the market.
The competitor set is yours
A competitor is a store you added by pasting a link to its online menu. BudLogix confirms it can read the menu before the store is saved. Each store has a Use in pricing switch. BudLogix never adds, removes or switches a store on its own; a store you switch off keeps its history and can be switched back on.
Collected on a schedule, stored by date
A fetch reads a store's whole menu in one pass and stores it as a collection with the date it was taken. Fetches run on the collection schedule (every 3 days, weekly or biweekly, moved by up to 12 hours at random) and can be started by hand. Each fetch records what the platform said existed and what arrived, so a partial fetch shows as "N of M expected".
Because prices are stored per collection date, when a price was last seen matters. A store's shelf is its latest complete fetch, and a shelf older than the freshness window (7 days by default) is not a market price. A daily check raises an alert when nothing has been written for that long.
List price, special and sold out
Each fetch records three things per size: the menu's list price, the special price when the menu states one below it, and whether the size can be bought. A special is only a lower price per item; a multi-buy such as "2 for $25" leaves the item's price where it was and is not counted as one. On Dutchie a size the store has set below its online threshold is sold out; on Jane a size missing from the store's in-stock weights is. When a menu says nothing about stock the size is treated as on the shelf.
The list price is the one every comparison uses. A single-item special is shown beside it on the Key value items tab and never replaces it. A sold-out size is left out of every comparison and every market band, because nobody can buy it at that price; its list price is still recorded.
Every other kind of special - bundles, multi-buys, weekday deals, order-level offers - comes from the store's own specials list, read on the same fetch, and is listed on the Competitor specials tab. Those are for reading the market; the engine does not price against them.
Like with like
Competitor products are keyed by brand and by product bucket, the same buckets the engine uses for your products (Flower 3.5g, Vape cart 1g and so on). Keying runs every morning after the overnight fetches. Comparison is by cohort: your brand-X product in a bucket against every brand-X product in the same bucket on each competitor's fresh shelf. One-to-one product matches are not attempted; they are rare and add nothing a cohort does not.
A product that cannot be compared says why: no brand on your side, a bucket the engine cannot place, no competitor carrying the brand in that bucket, or shelves fetched but not yet keyed.
What the prices feed
- Key value items - candidates ranked by units sold against how many competitor shops carry the brand, positioned against the cheapest same-brand listing.
- Market bands per bucket, recomputed weekly from list prices with sold-out sizes left out, shown beside the engine's own bands. See Bands and tiers.
- The engine's guards, which check a proposed move against the market. See How the pricing engine decides.
- The alert when a competitor moves. Each store's latest complete shelf is compared with the one before it, and a change of at least 3% (and at least one rounding step) in the cheapest same-brand price for a format you carry raises a row on Pricing under Waiting on you. Every store is compared with itself, never with another: stores fetch on their own cadence, and comparing across them would read a cadence difference as a price move. The comparison is at cohort level - brand and format on one shelf - because there is no one-to-one match between your products and theirs, and a row that invented one would be worse than silence. A shelf nobody has read in over a week raises nothing; that is the quiet-feed row's job.
Each collected product also carries the potency its menu lists and a quality score from an hourly automatic analysis. Your own products' potency comes from their lab results, not from a menu.
Like with like by THC
Higher THC sells for more, so a cheaper competitor item is often just lower potency. For flower, pre-rolls (infused ones included) and vapes, the Prices, Assortment and Compare tabs compare by THC as well as by price. Edibles, tinctures and drinks are not compared this way.
- THC - yours is the latest lab result recorded for the product, the reading merit uses; a reading in mg/g converts exactly (10 mg/g is 1%). Theirs is the figure the menu states, which is self-reported and sometimes the top of a range. Only a percentage counts on a menu: a figure in milligrams on a flower, pre-roll or vape is read as no THC.
- No THC listed - a product with no reading is never counted as 0%. It has no band and no price per gram of THC, and the tabs count it separately.
- THC bands - four per family, set on Setup: flower and pre-rolls 20 / 24 / 28 by default, infused pre-rolls and infused flower 35 / 40 / 45, vapes 80 / 85 / 90. Vapes and infused products read far higher than flower, so one set of edges would put all of them in the top band.
- Price per gram of THC - the price divided by the grams of THC it buys: $45 for 14g at 20.4% is $15.76. A fixed size (flower 14g, a 1g cart) uses its own weight. A pack size reads its grams from the name first ("5 x 0.5g", "0.7g 5pk", "3.5g (6pk)") and the menu's stored weight only when the name says nothing; with neither, the pack has no price per gram of THC rather than a wrong one.
- Grade - a filter, not a band, read from the name and the size: whole flower, smalls, popcorn, pre-ground or shake, infused; for vapes distillate, live resin or diamonds, rosin. Infused products filed in a plain flower or pre-roll size are set apart from it on the Assortment tab.
The pricing engine and merit do not read the bands or the price per gram of THC.
Where you see this
- Competitor feed - stores, connection and last run.
- Competitor collection settings - the schedule.
- Competitor specials - what each competitor is running.
- Competitor store reports - per-store comparisons.
- KVI - cohort prices beside your own.
Last checked against the product on 8 Oct 2026. This is the same article operators read inside BudLogix.