Cannabis Data Stories
A retail atlas —
where physical stores meet web footprints.
These pieces stitch together store locations, licensing metadata, captures, stacks, and public sentiment signals — designed as interactive experiments.
Collection scope
19
active storiesStores
+ websitesCaptures
requests + headingsSignals
ratings + techFilter bar
Filter the cannabis collection
Use one unified search to add tags, keywords, or text matches. Defaults to 24 stories per page.
19 stories · 1 pages
Tip: select a tag/keyword, or use “Text contains” for direct phrase filtering.
Green Lights
A geodesic map of cannabis store spacing showing deserts where nearest-neighbor distances stretch thin.
MethodCompute nearest-neighbor distance for each store using Haversine formula.
geographyretailcanada
Ghost Websites
A stark correlation between website presence and authorization outcomes in Ontario cannabis licensing.
MethodCompare authorized/cancelled rates by website presence; estimate odds ratio and chi-square test.
ontariolicensingmetadata
Postal Quilt
A Lorenz curve visualization showing concentration of cannabis stores across postal Forward Sortation Areas.
MethodCompute store counts by FSA; measure concentration via Lorenz curve and Gini coefficient.
geographyconcentrationcanada
The Northern Fade
Canada as stacked latitude bands; retail presence fades as you move north like a dimmer.
MethodBin stores by latitude (0.5°); compute counts per bin and per province.
geographylatitudedistribution
Neon Regulatory Weather
Municipalities as weather systems: cancellation rate shows which cities have "stormy" licensing climates.
MethodAggregate by municipality; compute cancelled/authorized proportions; use Beta-Binomial shrinkage.
ontariolicensingregulation
Brand Ecology
A terrarium of brands: chains form dense colonies, independents are one-off wildflowers.
MethodCreate inferred brand graph from name similarity and website domains; measure outcomes by brand size.
brandschainsconsolidation
Name Terroir
Word frequencies from store names: provincial vocabularies as distinct "terroir" patterns.
MethodTokenize canonical store names; compute token frequency by province; test differences via divergence.
linguisticnamesprovinces
License Plate Graveyard
Ontario addresses with multiple license numbers reveal regulatory churn, tracked like stacking license plates.
MethodGroup Ontario listings by normalized address; compute distinct licenses plus authorized/cancelled flags.
ontariolicensingchurn
Hub & Spoke
K-means clustering reveals inferred "hubs"; remote stores hang off them by long geodesic spokes.
MethodCluster store coordinates within each province (k-means) to infer hubs; compute distance to nearest hub center.
geographyclusteringcanada
Review Voltage
Rating distributions by province showing electrical voltage of customer sentiment.
MethodCompute kernel density estimates (KDE) by province; run Kolmogorov-Smirnov tests.
ratingsprovincesdistribution
Clock Face
A 24-hour radial map of store availability across Canada.
MethodAggregate open/close times; compute "coverage" (% of stores open) for each hour.
hourstimeprovinces
Survival Signal
Correlation between low ratings and permanent store closures.
MethodGroup stores by rating quintile; compute closure rate per quintile.
ratingsclosuressurvival
Late Night Oasis
Mapping stores open past 10:00 PM as neon oases.
MethodFlag stores open past 22:00 or 24h; map by lat/lon.
hoursgeographynight
Review Length Spectrum
Review text length vs rating revealing the "Negativity Bias."
MethodCompute word count per review; compare median word count by rating tier.
ratingstextreviews
Stack & Stars
Do storefront tech choices rhyme with public sentiment? Compare reviews and ratings across inferred commerce stacks.
MethodInfer stack labels from BuiltWith + capture tech + network fingerprints, then compare review distributions by stack with within-city comparisons.
canadawebbuiltwith
Checkout Fingerprints
A site’s network calls leave a signature. Trace the vendor DNA behind storefronts and checkouts.
MethodAggregate requests by host and content type; compute prevalence and distinctiveness; surface per-capture top hosts.
canadawebnetwork
The Headline Ledger
What do stores promise first? A letterpress index of H1/H2 phrases across captured sites.
MethodNormalize heading text, compute phrase prevalence by group, and surface distinctive phrases with counts and examples.
canadawebcontent
Capture Weather
Not all sites load the same way. A radar map of capture outcomes and request volume.
MethodJoin capture status with request counts and age-gate detection; compare outcome rates across bins.
canadawebautomation
Chain Web Roots
One URL, many storefronts. A root-system view of shared web presence and centralization.
MethodCompute stores-per-URL from capture-to-store mapping; aggregate total reviews and average rating for each URL cluster.
canadawebchains
Page 1 of 1