Methodology
What's tracked, how counts are computed, and where the dataset stops. Read this before you cite anything else on /pulse.
What is tracked
Fuzzy reads live dispensary menus on Dutchie and Jane, the two platforms that host most U.S. cannabis retail menus, on a monthly-ish cadence. Since August 2026 it also reads Weedmaps, but only in California, so every state except California is still a two-platform count. A “menu” is one retailer's storefront on one platform; a retailer live on two platforms counts as two menus, which is also why a national total is not a count of distinct stores. This is not a count of all licensed dispensaries in a state. It only counts the ones whose menu is live on a platform we read and scanned in the most recent pass.
How “doors” and growth are computed
A door is one physical retail location carrying a brand, not one platform listing: a retailer live on two platforms at the same address counts once, and so do its separate medical and recreational listings on the same platform. Doors gained/lost compares the two most recent completed scrapes of the same platform and counts only retailers present in both scrapes: a brand newly appearing on a retailer that was already tracked counts as a gain; disappearing from a retailer still being tracked counts as a loss. Two things are deliberately excluded from this number:
- New-coverage rows. A retailer Fuzzy just started tracking is not a brand gaining a door, it's Fuzzy's crawler catching up. Counting it would make expanding our own coverage look like brand growth.
- Single-run retailers. A retailer only seen in one of the two scrapes (the newer scrape missed it, or it just closed) never contributes a gain or loss, since there is no second data point to compare against.
One boundary worth stating next to the number: gained/lost is counted per platform menu, not per deduplicated door. It compares two scans of the same platform, so a store live on two platforms can register a gain on each. Every door total elsewhere under /pulse, including the “doors now” figure beside each mover, is deduplicated to physical locations.
Brand names are canonicalized before ranking. A brand and its sub-brand (e.g. a regional operator's house brand and its umbrella name) are merged so a top-N list never double-counts one brand as two rows.
Licensed storefronts, and what counts as one
Where a state page shows a licensed-storefront count next to the menus we track, that number comes from the state's own published cannabis license registry (California's DCC first, more states as their registries get pulled), refreshed monthly. It counts active retail (storefront) licenses only. Delivery-only licenses are tracked separately and never added into this number, since a delivery license doesn't carry a menu the same way a storefront does. Cultivation, manufacturing, distribution, and testing licenses aren't part of this count at all, they answer a different question. A state with no number shown here hasn't had its registry pulled yet, not zero licenses.
Menus are matched to licenses by name and city, same idea as brand matching elsewhere on this site: an exact match, then a fuzzy match above a confidence floor, and anything underneath that floor sits in a review queue rather than getting counted either way. A license with no matched menu might mean we haven't found its menu yet, it might be delivery-only, or the registry might just be ahead of us. A tracked menu with no matched license is usually registry lag, not an unlicensed store.
Refresh cadence
Scrapes run monthly-ish, not on a fixed calendar day. Every page on this site carries its own “data as of” date rather than a page-load timestamp. If a month passes with no new scrape, the dates stay as they were instead of silently updating to look fresher than the underlying data actually is.
Honest limits
- Two platforms outside California, three inside it, and not every licensed dispensary anywhere. Coverage is menus we track, not a state's full retail footprint.
- States are published only where coverage is deep enough to be meaningful. Currently live: Michigan, California, New York, Massachusetts, Missouri. Coming soon: Washington, Oregon, Colorado, Illinois, Arizona, New Mexico, New Jersey, Nevada.
- A small share of tracked menus don't resolve to a known state. Those are crawler artifacts, not a market signal, and are excluded from every state-level figure on this site, though they may still contribute to a national total.
- Test/demo storefronts used for internal QA are excluded everywhere on this site.
Coverage by state
Each row links to the same figure in the dashboard, computed live rather than typed in here by hand.
| State | Menus tracked |
|---|---|
| Michigan | 1,018 |
| California | 1,261 |
| New York | 660 |
| Massachusetts | 503 |
| Missouri | 316 |