At a glance
Where the market is heading
Retail and wholesale sales
Retail is dispensary sales to patients. Wholesale is cultivator and manufacturer sales to dispensaries. ABCA did not report manufacturer sales before October 2023, so wholesale is a declared gap for those months rather than a smaller number.
* Spring 2025 expansion. ABCA shut down dozens of unlicensed “gifting” shops through 2025, while self-certification let any DC adult 21+ register as a patient online — moving demand into licensed dispensaries.
Neighbouring states. Maryland adult-use retail sales began 1 July 2023. In Virginia, possession has been legal since 1 July 2021 and retail sales are scheduled to begin 1 July 2027 — outside this data.
How the money moves
Sales by license tier
Retail channel mix
Who is buying
DC-resident patients drive the majority of counter sales. Out-of-state buyers — reciprocity patients and self-certified temporary registrations, mostly from Virginia and Maryland — still account for a large share of retail dollars, though a shrinking one: around half in 2021–22, and 37–38% in the most recent months.
Retail dollars by patient type
What is selling
Retail sales by product type
What a gram costs
Average price per gram of bud
Worked out from ABCA's own two columns: the dollars and the pounds in the Flower/Bud row, converted at 453.59237 g to the pound. It is a mean across everything ABCA counts as Flower/Bud, which excludes pre-rolls and shake — those are their own rows.
Arrests before & after legalization
Annual figures · not affected by the date filterHow cannabis enforcement changed around legalization.
Arrests by year
Common questions
Why is every sale here a medical sale?
A congressional appropriations rider bars the District from licensing recreational sales, so there is no adult-use channel to measure. Since 2022 any adult 21+ can self-certify as a patient with no physician recommendation, which makes “medical” a legal channel label rather than a clinical qualification.
Do these figures include the gifting shops?
No. Unlicensed “gifting” retail appears in this dataset not at all. ABCA reports licensed activity, so a shift from unlicensed to licensed retail shows up here as growth even where total consumption did not change.
Why does a month sometimes say “not reported” instead of showing zero?
Because those are different claims. ABCA prints a dash where it published no figure, and a dash is not a zero — publishing it as $0.00 would state that a market existed and sold nothing. Every gap on this page carries the reason it is a gap.
Is the wholesale figure comparable to the retail one?
No, and they are deliberately never added together. ABCA also publishes an all-tier “Total” row that counts the same product again as it moves cultivation → manufacture → retail. The headline here is the Dispensaries row, which is what consumers actually spent.
Dispensaries and licences in District of Columbia — 72 active, of 74 licence records, from DC Alcoholic Beverage and Cannabis Administration.
Where these figures come from
Sourcing, basis and comparabilityEvery licensed cannabis sale in DC is a medical-programme sale. Initiative 71 (2015) legalised possession and home cultivation for adults 21+, but a congressional appropriations rider bars the District from licensing recreational sales, so there is no adult-use channel to measure. Since 2022 any adult 21+ can self-certify as a patient with no physician recommendation, so 'medical' here is a legal channel label rather than a clinical qualification. Unlicensed 'gifting' shops appear in this dataset not at all.
Basis — Licensed retail sales, calendar month
- Measurement
- measured
- Money
- unstated
- Tax
- unstated
- Period
- calendar_month
- Scope
- retail_only
- Geography
- statewide
- Channels
- medical, reciprocity, temporary
- Rounding
- ABCA rounds every published dollar figure to whole dollars.
Why an axis above reads unstated: A full-text search of all 56 ABCA report PDFs for 'tax', 'excise', 'gross', 'net ', 'discount', 'exclud', 'methodolog', 'note' and 'defin' returns ZERO hits. The only footnote in the entire corpus is an asterisk in the July 2022 report about which agency's inspections are counted. ABCA publishes no methodology statement, no basis note and no glossary, so gross-vs-net and tax-inclusivity are unstated — a checked negative, not an omission, and not to be filled in from general knowledge of DC tax law. An undocumented basis is a gap to be labelled, never filled in with the most likely answer.
Basis — Licensee-to-licensee sales, calendar month
- Measurement
- measured
- Money
- unstated
- Tax
- unstated
- Period
- calendar_month
- Scope
- wholesale_only
- Geography
- statewide
- Channels
- unknown
- Rounding
- Whole dollars.
Why an axis above reads unstated: Same zero-hit search as abca_retail; the wholesale rows sit in the same table and carry no basis note either. An undocumented basis is a gap to be labelled, never filled in with the most likely answer.
Basis — Programme counts, calendar month
- Measurement
- measured
- Money
- not_applicable
- Tax
- not_applicable
- Period
- calendar_month
- Scope
- retail_only
- Geography
- statewide
- Channels
- medical, reciprocity, temporary
Basis — Bud price per gram, derived from ABCA's own paired columns
- Measurement
- derived
- Money
- unstated
- Tax
- unstated
- Period
- calendar_month
- Scope
- retail_only
- Geography
- statewide
- Channels
- medical, reciprocity, temporary
Why an axis above reads unstated: Inherited from abca_retail: the dollars in the numerator carry no stated tax or discount basis. An undocumented basis is a gap to be labelled, never filled in with the most likely answer.
Derivation. price_flower_g = product_flower_usd / (product_flower_lb * 453.59237) Error: ABCA rounds pounds to whole or one-decimal figures, so at ~750 lb/month the quantity carries about ±0.07% and the price inherits it. Only Flower/Bud is divided: shake and the pre-rolls are also pounds but rounded coarsely enough that the implied price swings on the rounding alone, and every other family is counted in packages, which is not a unit a price can be quoted in..
Unit conversion. lb → g, factor 453.59237, defined in International avoirdupois pound, exact by definition (NIST Handbook 44 Appendix C)..
Sources 1
| Role | Source | Format | From | Last verified | Note |
|---|---|---|---|---|---|
| Canonical | Medical Cannabis Program Report (monthly PDF) DC Alcoholic Beverage & Cannabis Administration | 2021-11 | 2026-08-15 | One PDF per month, each a rolling three-month window, so a single report yields three months and every month is covered by up to three reports. No API, no CSV: parsing the PDF is the only way in. |
Why each marker above says what it says
| Metric | Marker | Why |
|---|---|---|
| Retail sales | Partly comparable | DC's report states no basis at all: whether the figures are gross or net of discounts, and whether they include tax, is not written down anywhere in the source. Maryland's exclude sales tax. The two lines are therefore not guaranteed to be measuring the same dollar. |
| Medical / adult-use split | Single-channel market | 100% medical, because a congressional rider bars DC from licensing adult-use retail — a single-channel market, not a medical share to rank. And since 2022 any adult 21+ can self-certify as a patient with no physician recommendation, so the label describes a legal channel, not a clinical population. |
| Price per gram | Like-for-like | The cleanest comparison available: a price per gram carries no population, and every jurisdiction on this axis is whole bud sold at retail, worked out from each regulator's own paired quantity and dollar columns or published bud series. ABCA's Flower/Bud row already excludes pre-rolls and shake, which is why Maryland is matched on price_buds_g rather than its whole Flower type. A residual difference is tax basis: Maryland's price excludes sales tax and DC's does not say. |
| Per capita | Partly comparable | 38% of DC's retail dollars in 2026-06 were spent by people who live somewhere else, so dividing by DC's own population inflates it against a state whose buyers are mostly residents. Every basis flag on the numerator rides along: a per-resident ranking is only as comparable as the least comparable figure in it. |
| Patient counts | Not like-for-like | DC publishes a cumulative registration stock that only rises and includes self-certified sign-ups; Maryland publishes a current registered stock that falls as patients migrate to adult-use. They are different measures and share no axis — the site shows them as a labelled pair, never as one series. |
| Licence counts | Partly comparable | ABCA began publishing a retailer count only in its February 2026 report, so DC has eight months of it against Maryland's full series, and the two regulators count different things: DC counts open retailers, Maryland's snapshot counts licences by type. |
| Tax revenue | Not like-for-like | DC publishes no cannabis tax figure in this source, and the sales figures do not even say whether tax is included in them. |
What is checked on every run 4
| Check | Kind | Last result |
|---|---|---|
| Dispensary retail equals the sum of its three customer channels. | identity | pass |
| The same identity in the era when the two non-resident channels were one published row. | identity | pass |
| The product table's Value column sums to the dispensary retail total. | identity | pass — worst residual $49 (2022-09) |
| ABCA's own Average Sale equals its own Total Sales divided by its own Total Unique Sales. | identity | 1 notice: 2026-03 prints $58 where the division gives $61. $58 is that row's own In-Store Average Sale, so ABCA copied the wrong cell. Republished unaltered. |
The regulator's own notes, and what is still open
The regulator's own notes
Maryland's figures exclude sales tax; DC's reports do not say either way, so neither line is necessarily what changed hands at the register.
— dccannabisdata.com compare page
Of the total patient count, 5,871 registrations lapsed prior to January 31st, 2022
— ABCA, MCP Report January 2022, 2022-01
Open questions on this data
Unresolved definitional questions that gate something. Listed because a question nobody can see is a question nobody closes.
- Are ABCA's published sales figures gross or net of discounts, and are they tax-inclusive? Closing it needs: A source outside the report PDFs — DC Code, an ABCA data request, or an ABCA methodology page — fetched and quoted. Do not fill it from general knowledge of DC tax law.
- Is DC's Total Unique Sales count comparable to Maryland's Dispensary Transactions count, so an average-basket metric can put them on one axis? Closing it needs: Both counts are now ingested, so the question is definitional rather than mechanical: ABCA publishes no definition of 'unique sale' and MCA none of 'transaction'. Needs a source outside both artifacts before the two are charted together.