Cannabis Distribution — Finding the best city districts for distributing Cannabis


With the establishment of the new German government in 2021, the governing parties announced their intention to introduce a controlled distribution of cannabis for recreational purposes in licensed stores. As this is an unprecedented as well as much debated business-sector in Germany, many questions arise. First our team identified potential consumers based on research studies across Canada, USA and the Netherlands to then develop an algorithm which ranks different city districts according to their share of potential customers. The results are visualized with heatmaps using geopandas, so that users can intuitively identify the most attractive parts of a city for future cannabis stores.


Legalization of Cannabis is a controversial issue which has been at the center of many political debates throughout the last decades. Due to the governmental change in Germany following last year’s federal elections, the legalization made it into the coalition agreement. Though whether legalization will truly happen, seems to remain an open question, some experts consider early 2024 as the earliest realistic date for legalization.


At the beginning of our project, we quickly agreed on the idea to start our research in countries that already legalized cannabis. Amongst others, we reviewed studies from the US, Canada and the Netherlands. Soon after, we were able to define a Persona that embodies the common cannabis customer. After some internal discussions, we agreed on leveraging data from the Netherlands because we see the Dutch best fit to resemble the German population.


For the visualization our goal was to use the cities’ maps combined with gradient colors to indicate the different potentials. Therefore, we required the shape data for the respective city to forecast. After having successfully visualized the forecast for Münster, we decided to include Cologne as an additional example. After some setbacks, we were able to discover a corresponding shape file, although we grant it is not as intuitive as the one for Münster as there are multiple ways of separating a city into districts.

The team

Julian Lagache Data Science: Python (LinkedIn)

Roles inside the team

Julian and Luis were mainly responsible for the data acquisition and data cleaning. Felix and Lukas were mainly responsible for the implementation of the input-output logic and visualization within the Jupyter Notebook. Jonas was mainly responsible for writing the code to perform the forecast. However, due to the rather similar backgrounds and prior knowledge, we helped out each other in all kinds of tasks.


Justin Hellermann



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Our community Members share their insights into the TechLabs Experience