Questions readers actually ask
Where do these numbers come from?
Every figure on this site is read from a file the jurisdiction's own regulator published — a tax bulletin, an open-data table, a dashboard export, a report. Nothing is estimated or modelled, and nothing is taken from press coverage. Each state page ends with a Where these figures come from section listing that state's sources, with links, and stating how each figure was derived from them. A few states publish no figures of their own and instead point to a private vendor's; every chart and tile carrying such a series is labelled vendor data, not state-published, because it is not the state speaking.
How often does the data update?
On each regulator's own schedule, which varies widely: some publish within days of a period closing, others a quarter or more after it, and some revise on no fixed schedule at all. Every page's masthead carries a Latest data stamp saying how current that page is, and when a source has fallen materially behind its own publication cadence, the page says so in a banner rather than leaving you to notice. There is no single site-wide refresh date, because pretending the states move together would misstate most of them.
Why did a figure change after I first saw it here?
Because the regulator changed it. States revise published figures: late filings arrive, errors are corrected, and occasionally a whole series is restated. This site re-reads each source on that source's cadence and renders what the file says now, so upstream revisions are absorbed rather than frozen at first sight. Where the regulator publishes notes about its own data, those notes are reproduced on the state page's sourcing section.
Why do some states show no dollar sales at all?
Because no dollar figure exists in what those states publish. Alaska taxes cannabis at the cultivation stage, by weight, so no agency there measures retail dollars. New York publishes sales dollars once a year, as labels on a chart, with no monthly series behind them. Where the money figure does not exist, this site shows what does exist — tax receipts, volumes, licence counts — and states why the rest is absent, instead of working a dollar figure back from a tax rate. A derived guess would look exactly like a measurement, which is why there isn't one.
Why is Florida measured in THC weight instead of dollars?
Florida's medical programme reports what its statute meters: the amount of active ingredient dispensed. The Office of Medical Marijuana Use publishes dispensation in milligrams of THC — ounces for smokable flower — and no dollar sales at all. The Florida page charts what OMMU publishes and totals it in kilograms, because that is the scale a week of statewide dispensing reaches. Converting THC weight into dollars would require a price Florida does not publish.
What does a blank cell or a “not reported” note mean — why not just show zero?
A zero is a claim: it says the market existed and sold nothing. A gap is a different claim: the regulator published nothing for that period, or suppressed it, or the channel did not exist yet. Confusing the two would put a false number on the page, so a gap on this site is rendered as a gap, with the specific reason beside it. Nothing is interpolated or smoothed to make a chart look continuous.
Two states both show monthly sales. Can I compare them directly?
Only where the compare page joins them — and where it refuses, the refusal comes with its reason. States define their figures differently: gross versus net of discounts, calendar month versus filing period, dollars measured at the till versus dollars derived from tax, price baskets that do or do not include pre-rolls and shake. Each state page declares its own basis, the compare page joins jurisdictions only on figures whose declared bases line up, and each included state's caveat is printed in full under the chart. A chart that quietly mixed those definitions would look more complete and be less true.
How we produce and check our numbers
The falsification ruleThe short version: every number is derived from the regulator's own file, and every automated check that guards a number is made to fail on purpose — against a planted defect — before its passing is believed.
Derived, never typed
These pages are generated. The build tool refuses to bake a figure into a page: every number you see is written into the page from the state's data file, and that file is produced by a pipeline reading the regulator's published artifact. A sentence that quotes a statistic must trace to the data document it describes — an automated scan walks the prose of every page checking exactly that, and a figure it cannot corroborate blocks the build.
Checks that have been seen to fail
A check that has only ever passed might be checking nothing — a mistyped rule, a wrong path, a condition that can't occur will all pass forever, silently. So before a check here is trusted, it is pointed at a copy of the data or code carrying the exact defect it exists to catch, and it must catch it. Only after failing for the right reason does its pass count as evidence.
Planted defects, on purpose
The same idea, systematised: for each state's pipeline, a harness plants small deliberate defects — a shifted digit, a dropped period, a broken sum — into a scratch copy, and the state's checks must flag each one. A planted defect that sails through means a real one could too, and is treated as a failure of the checks, not a curiosity. The scratch copy is fenced so the real data is untouched.
What this cannot prove
These checks prove that the site agrees with what the regulator published; they cannot prove the regulator is right. Where a state's own publications disagree with each other, both figures are shown and the disagreement is stated — South Dakota's stub page exists precisely because the state's own two pages disagree, and Ohio's newest weeks ship with their failed sum identity disclosed rather than smoothed. And where a check's coverage has a known limit, the limit is written down next to the check rather than left to be discovered.
This method is not ours
Planting defects to prove your tests can catch them is an established software-engineering technique, not something invented for this site.
- R. A. DeMillo, R. J. Lipton and F. G. Sayward, “Hints on Test Data Selection: Help for the Practicing Programmer”, IEEE Computer, 1978. The paper that introduced mutation testing — the plant-a-defect technique described above. Paper.
- Goran Petrović and Marko Ivanković, “State of Mutation Testing at Google”, ICSE-SEIP 2018. The same technique run at industrial scale, applied across Google's own codebase. Paper.
- Kent Beck, Test-Driven Development: By Example, Addison-Wesley, 2002. The red-green discipline: watch a test fail before you trust it passing.
The markets you cannot see yet
18 jurisdictions, each with its own pageCannabis is legally sold in more US jurisdictions than this site can chart, because a market can exist without its regulator publishing a usable series about it. Those jurisdictions are not skipped silently: each has its own stub page stating the programme status, exactly what is not published, why there is no page — and, where one exists, the named event that would change the answer. The list below is that record, condensed.
Actively being worked on
Absence is not the end of the story. Where a path to the data exists, it is being pursued — in priority order:
- Missouri — first in line. The regulator's dashboard has the data; what is missing is a fetch path sturdy enough to trust unattended, and a decision to accept the browser-automation dependency that would need. That decision is open, not refused.
- Puerto Rico — a multi-year series exists behind a licensing clause in the regulator's material. The clause is under legal review before anything is republished; publishing first and asking afterwards is not how this site handles a licence it has not read.
- Arkansas — the state holds the data and publishes none of it, so the path is a standing public-records request to the finance agency, which is being prepared rather than already filed.
Every other jurisdiction below is on a standing watchlist: its named trigger — a first report series, a statutory report coming due, a portal going live — is re-checked periodically, and the day a regulator starts publishing, that jurisdiction enters the same build pipeline as every full page here.
- Alabama
What would change this: The first official report series. Re-scout in two to four quarters.
- Arkansas
What would change this: A standing FOIA request filed with DFA and honoured. Until then there is nothing to fetch.
- Eastern Band of Cherokee Indians (Qualla Boundary)
A sovereign tribal market inside a prohibition state. It is listed under its own name and NEVER folded into North Carolina: doing so would imply that a state with no legal sales has them, and would corrupt any per-capita or state-map figure it touched.
- Georgia
A licence roster is the whole dataset. Georgia would be one column in a cross-state table and nothing else, so it is listed rather than charted.
- Guam
What would change this: The first retail licence issued.
- Hawaii
Patients plus an annual tax total is not a market series. It cannot join the monthly comparison and it cannot carry a page of its own.
- Iowa
What would change this: A hand-search of the Iowa Data Hub UI. A hit would move Iowa from a stub to a full page in one step.
- Kentucky
What would change this: The LRC annual report due 1 December 2026 — the first artifact that could ever carry monthly sales.
- Louisiana
A producer-side annual report cannot answer what consumers spent, which is this site's headline measure everywhere else.
- Missouri
What would change this: A stable machine-readable export from DCR — or an explicit decision to accept a headless-browser dependency for this state, which DECISIONS Q8 currently grants to California's monthly series only.
- Nebraska
What would change this: The first legal sale, projected somewhere between December 2026 and spring 2027. Re-scout from scratch then — the Commission commits to no date, and the current timing is secondary reporting.
- New Hampshire
There is no market to measure and no sales series to measure it with.
- North Dakota
This is a statutory ceiling, not a publishing habit. No amount of asking produces a monthly figure, because the statute forbids one.
- Northern Mariana Islands
Where there is no tracking system there is no dataset, however willing the regulator is.
- Puerto Rico
What would change this: A new JRCM statistics drop, or clearance on the V2A licensing clause.
- South Dakota
No sales series, and the counts that do exist are not internally consistent between the state's own two pages.
- Texas
A page whose only content is a patient count is a row in a table, not a page.
- US Virgin Islands
What would change this: The first retail licence issued. The OCR RSS feed at ocr.vi.gov/feed/ is polled as a tripwire.
This list is generated from the stub pages' own records on every build. When a state graduates to a full page, its row leaves this list automatically — and the build refuses to keep an “actively working on” claim about a market that is no longer missing.