And I guess just to introduce you to Charles, this is Paul.
Paul, this is Charles.
Hi.
Charles has been in the data science field for, he's a veteran and he knows his way around
data.
Charles Paul is getting, correct me if I'm wrong, a master's in data science.
Yeah.
Why don't you introduce yourselves?
Sure.
Okay, I can go first, Charles.
Yeah, pleasure to meet you.
Yeah, I'm just wrapping up a master's in data science from University of Wisconsin.
I'm a data scientist at General Motors.
I work in our global vehicle safety division and we use vehicle telematics to try and
uncover safety issues with vehicles before our customers experience those things to the
greatest extent that we can.
I'm part of a pretty large team.
There's about a dozen data scientists on the team.
We're kind of split between unstructured data and structured data.
We do a lot of text analysis of customer feedback and technician feedback from dealership services.
We look at that data and then we also use OnStar, our telematics data, to try and understand
what's going on with customers' vehicles.
That's kind of my background in data science.
Before that, I got my start in business intelligence.
Before that, in IT project management and before that, I was an officer in the Air Force
for a while, so that's a bit about my background.
Okay.
So, yeah, I'm Charles and I've been a programmer for like over 27 years.
I'm kind of the last year, year and a half, I've been getting into data science.
I took some graduate level classes in machine learning in the early 2000s.
I worked for Ford on a system that tested vehicles at the end of the assembly line and
it would detect defects.
Yeah, yeah.
Okay.
I know exactly we have the same thing at GM.
Right as they come off the line, they plug them in and run all kinds of diagnostic tests
on it, so I'm sure it's the same type of thing.
So are you in Detroit?
Yeah, I'm just north.
I'm about, I'd say about an hour north of Detroit.
Okay.
I went to Wayne State.
Oh, yeah.
I know my wife, she did some of her schooling there.
I've been down to Wayne State a couple of times for some predictive analytics conferences.
So yeah, good school.
Yeah.
Yeah, I got a degree in math from there.
Okay.
Did, so are you from here, Southeast Michigan?
Yeah.
Yeah, I grew up in like Detroit, Roseville.
My wife grew up in Roseville.
Yeah, she grew up in Roseville.
She's Middle Eastern by descent and her family emigrated in the early 80s and she went to
Roseville High School and everything.
So yeah.
I went to Fraser High.
I was like at the north end of Roseville.
Okay.
Wow, such a small world.
Are you still in Southeast Michigan or are you somewhere else now?
I'm in Portland, Oregon.
Oh, okay.
So you're just in the same neck of the woods as Keegan then?
Yeah.
Okay.
All right.
That's cool.
It's good to meet you.
It's a small world, huh?
It is.
Yeah.
That's so funny because both of you seem to have deep programming backgrounds.
I'm more of a hacker.
I try to do whatever I can to try and get the answer I'm finding, but it sounds like
you guys are pretty experienced developers.
Well, you know, it's just tools for the trade.
So you've got a task at hand.
So it's awesome to see you using the tool.
And like whenever you're doing anything new, you end up sort of hacking around anyway to
figure it out and then...
Exactly.
Yeah.
Yeah, we...
Yeah, here at GM, we use Python, PySpark.
We have a Hadoop environment because our data sets are so large.
So we're usually using Jupyter Labs environment to work in that environment.
And then some of our desktop kind of exploratory analysis is done in R. And I tend to lean
more towards R, although it's not as popular as Python.
But for me, it's a little easier.
So that's why I tend to lean towards the R side of the house.
But yeah.
So yeah, all good.
It's good to...
I just can't believe that you actually from Roseville that pulls me away.
Yeah.
Yeah, I figure the odds.
I guess you wanted...
I guess I'm just real curious about your use with big data because we've been having a
bit of...
That's one of our things, one of our tasks at hand is working with big data, in particular
this large Washington state data.
So I'm just curious, what's been your experience?
I pointed you in the direction of the sales data and you seem to read it in without any
trouble.
So is R pretty powerful for that?
I didn't have any real big problems.
I just used...
There's a group of packages called the tidyverse.
And that's what I lean towards.
And I just read it in using the read CSV function.
And I read in the first 20,000 rows just to take a look, take a peek and it read right
in fine.
And that's a large data set too.
I forgot how many gigabytes that is, but I didn't have any trouble.
My machine, I think I have...
I'm not sure.
I have to check how much RAM I've gotten here, but I didn't really have a problem just taking
a peek.
Awesome.
Awesome, awesome.
Well, I'm glad you started to get a look at that.
And...
Yeah, it's...
Or what are you going to say?
Oh, I'm sorry.
I think it might be a little lag.
I'm not interrupting you too much.
So I printed out...
Where is it?
Yeah.
I printed out the data set, the Washington data set, the user manual, the table of contents,
just to learn my way around all the different table names and try to get used to the business
logic that is required of the system to run the different types of businesses, whether
you're a producer or if you're a lab or anything like that.
And just try and get familiar with some of those things.
What I would like to try and take a shot at...
And let me back up real quick for the benefit of Charles.
So I reached out to Keegan last week, actually.
I just stumbled onto this meetup.
And I'm wrapping up my graduate program and I have to do graduate project.
And I was trying to figure out, what am I going to do?
And I have some family members are actually involved in the business.
And I have a periphery view of that.
But I thought, well, is there something I could do for my project?
So I reached out to Keegan and he was kind enough to talk with me and give me some ideas
and maybe some questions I could try to answer with the data.
So that's why I've kind of...
The last week or so I've been trying to dig into the data set and try to understand it
as best I could with the amount of time I've had.
But yeah, so one of the things I wanted to do is...
It may be a waste of time depending on what work you guys have already done.
But for me, it would be nice if there was an entity relationship diagram of the tables.
So know how the different keys are related and how all these different fields are connected
within the different tables.
And so I was thinking about taking a shot at doing something like that based on what
I could scrape out of the user guide and sort of have this big picture map of what's going
on in the data.
I don't know if you think it's a worthwhile thing or something you've already done or
maybe it's a lot of extra...
I like how you think.
I think that needs to be done because I think at the moment I just have this vague mental
map about how IDs connect.
But it's better to formalize things because then you can actually have it down on paper
and you can actually start to see all of the connections.
So I think that needs to be done.
It's all essentially based on global IDs.
So each object for the most part has a global ID.
And so it's all about sort of tracing.
Yeah, I guess tracing those.
But it'll be...
So basically what I was working on right now was essentially mapping.
The first connection was just mapping the lab result.
For me, I started with lab results.
So I was just mapping the lab result to the licensee.
And so that one, I guess you would just say the connection would be like the 4MME ID of
the lab result ID.
Here, I'll share my screen and share what I'm talking about.
So one thing, every table has a global ID.
Okay.
But those global IDs are actually...
It's actually the record ID for that entry in the table.
Like the sales table has a global ID, but that's actually a sales ID.
And the lab results ID has a global ID, but that's actually the lab results ID.
And so trying to combine those tables, there's always this conflict that every table has
a global ID.
So I think one thing to do is to go through and rename those.
Okay.
So there is more of a local ID to the table in question.
And then linking those ideas...
I mean, I assume that in some of these tables, they have ID sharing, right?
So you would have a global ID from...
I'm just looking at lists here from...
I'm making an example.
A global ID from the sales table would also show up in the sales item table, right?
To make that linkage.
So, okay, I see what you're saying.
So there needs to be some distinctions made between that global ID that they actually
are specific to the table that they're embedded in.
Right.
Yeah.
And now we're actually making a map of...
Sort of a schema map of the tables.
That would be great.
That would be helpful.
They are linked.
The global ID that's in the lab results shows up as the lab result ID in the inventories.
Okay.
Yeah.
And until you get it all down and can see it all laid out, I mean, they have that in
the user guide, but it's obviously not a very practical way to look at it.
Okay.
Go ahead, Keith.
Go ahead, Keegan.
I think you both have a very good mental framework, and we've both all come to the conclusion
that we need to map this out, but I was just going to show you an example.
So here you found the data.
So pretty much the core is the licensees, right?
So they're sort of what I think of as like the core object.
So here you just have just a given licensee.
And I think this is what Charles did at, which I kind of like that idea is...
So here you have sort of a global ID for the license.
You deal with a lot of global IDs along the way.
So we may want to...
I guess that's also maybe called the MME ID.
So we may want to make...
That was maybe an idea is to just make our own formalization of what they call that.
But we can think about that.
What is the format of that ID?
You got WAWA1. and then something else after that, is that a typical formatting of the
ID?
I think it's...
I think it's usually just...
Well, it looks like it maybe begins with MN.
So that's probably like, I'm not 100% certain for the abbreviation, maybe like medical marijuana
or something.
And then it looks like followed by just a random...
It looks like it increments through one to nine and then...
Exactly.
So just the alphanumeric counter.
Yeah, and there's a different format for labs, for producers.
Okay.
And this is another interesting point is the...
The code is essentially their license number.
So let's look at a lab result real quick.
So I just read in the lab results.
There's a lot of data here, but...
Okay.
So essentially, I guess we can talk about the IDs more in a second, but just to hit
on it real quick.
The way I was able to connect these was basically say, okay, so the lab results has this field
that's for MME ID.
And so that is the global ID of the license data.
And so you're able to merge the data on those two.
And so I think that's where you were talking about.
I think that's where you were talking about we can maybe start to create a visual of the
actual...
Right.
Like a bit more abstraction.
What were you going to say?
So I just found this online utility where I took the user guide and it tries to convert
it like PDF files and tries to convert it into a table.
So obviously where there's all the text and everything in the user guide, it has a bunch
of just line after line if you import it into Excel.
But then the tables themselves with a little bit of minimal cleanup, I can extract those
tables and make them their own CSV files.
And then there was another online utility I found that you can feed in CSV files and
it will try to join the tables together as best it can based on common field aiming.
And that might get us part of the way there.
I haven't tried it yet, but that might get us part of the way there to speed it up because
obviously going through and trying to map things manually is not the optimal way of
doing it.
But there may be, I don't know, what do you guys think of that idea?
Honestly I think it's worth a stab just to try it.
However actually, we have the data guide here.
I think it's worth a stab.
I think ultimately we're just going to have to get in here though and just sort of match
up the main fields.
So yeah, because like the licensee global ID is the 4-MEME ID.
It doesn't match the global ID in the lab results.
I mean Panda has a really hard time with this and I have to name things.
Right.
Well at the very least, I'll go through the exercise.
I mean it's a good exercise for me to go through for familiarity reasons, right?
To go through and scrape the tables out of the document, put them into like a CSV file
that I could share with you guys.
And we could then start, if we need to go through and do some manual mapping, we could
do that too.
At least it will give us a common data file, a common worksheet that we could collaborate
on or whatever.
So I think that would be incredibly helpful Paul because basically any stab, any way we
can try to connect this data the better.
Because I think it's worth a go because what do we have here?
We've got about, I don't know, a dozen or two dozen, more than a dozen, or maybe two
dozen whole like data sets here.
And they're all loosely connected.
And I think just first would be just a nice mental map.
So what I'm imagining is almost just, you can do it a little cleaner, but just a real
quick stab at it.
You could just almost just do something like you've got the licensees here and they've
got some data.
But they maybe connect up.
And we can think about how we want to visualize this.
But basically, we basically show that licensees connect to lab results.
And then this would be like from, this is just real quick and dirty.
You could just sort of have arrows.
Exactly.
Yeah.
And that would just be a good starting point.
I know that for my school projects, I have to be able to account for the data set that
I'm using, how I made sense of it, and those types of things.
So I would have to go through some of this exercise anyway.
So yeah, I could take a stab at it, take a first pass to see how far I get.
And for next time, when we come together, I can show you guys what I have up to that
point.
Feel free to bounce things off me when questions off.
Well, the group really, Charles too, he's gotten pretty deep into this data as well.
Because the matching game is tricky.
So for example, let's look at this lab result ID real quick.
Oh, here we go.
This is what I was looking for.
This inventory ID is critical as well.
So this inventory ID may actually be better than the 4MME ID.
So see the 4MME ID connects to the global ID here.
But if you look at the inventory ID, if you split the WA to the period, you see that?
That is a licenses code.
And so that's basically their license number.
And that's an important number on its own.
I think you can navigate the system through MME IDs.
However, you may actually sort of have better luck.
Well, actually, they're for tracking different things.
So this is for tracking the licensee.
And then this is actually for tracking a particular inventory item.
Right.
But long story short, this is an important ID as well.
Yeah.
I mean, obviously, the benefit of going through some of this mapping is that it puts everybody
on the experience that you and Charles have had so far.
You've kind of figured out some of these relationships.
But if we had it documented somewhere, it makes it easier to share and collaborate and
kind of speak the same language.
Yeah, no, that would be really helpful.
Because yeah, it all is sort of in my head.
And I have to, you know, sometimes I take a few days off from working on this and I
have to go back and think, oh, this is how it all works together.
Right.
It's always the case.
You asked me something I coded five days ago and you might as well be talking to a wall.
And I think this is something that's been a long time coming because I just, yeah, it's
just a brilliant idea because we all just have these sort of mental maps about, oh,
yeah.
For example, when I was coding this up, I was like, oh, you know, I just sort of looked
at the data and I was like, okay, you know, this sort of matches global ID to MME ID.
However, if we had just almost not just this connection, but if we had the whole web, that
way we could see, oh, you know, this ID connects to this ID.
Right.
So that way we could connect.
Okay, so that way we can connect the licensee to the lab result.
And then, you know, what if we could also then, you know, connect, what if we could
then, you know, connect this lab result up to sales essentially?
Exactly.
Right.
You can answer a lot more interesting questions if you just know the lay of the land.
Yeah.
Exactly.
And I don't even know really the first thing about sales.
So for example, well, just since the spirit of the data science group is actually look
at the data, let's actually look at the script from last week where we were reading in sales
last week.
Now.
Maybe that was something I was doing on my own.
But have no fear.
We can go to the documentation.
By the way, I just saw your your analytics logo on there.
That was pretty cool.
Oh, thank you.
So.
But so.
Okay.
Here is a sales data point.
And so what as you'll see, once again, we've got the PESTI global ID.
Well, or the or the helpful global ID, whichever.
If you're the glass half full person.
So like Charles was saying, so this is sort of my inclination.
But there's a pro and the con.
So my inclination would be to just call this a sales ID.
And that's just what we'll in internally refer to it as.
So table, not table name underscore ID.
Exactly.
Sales under.
And so let's see if that would work for the most part.
So I don't think taxes are in there.
But the sales are the big one.
We can get plants and see if we can incorporate some plants or like I would call that like
plant ID.
Inventory type ID.
Lab result ID.
Sure.
Licensee ID.
And then the inventory transfer ID.
Yeah.
That's right.
That's ID.
That's what I would do.
But just to go ahead and play devil's advocate that that's introducing like yet a whole other
variable into the into the mix of variables.
But you know, to counter that, you know, it's just it can be nice to just add a little structure
to add a bit more schema is always nice.
Well, you have to do that at some point, because if you try and combine entries from the lab
results and the inventories, they both have a global ID, but they're not the same global
ID.
And then pandas tries to think, well, it's a global ID.
So it's all the same column, but it's not.
So you have to go back and you have to go through and rename them anyway at some point
if you want to if you want to do analysis using more than one table.
Exactly.
I was just curious for the files that Keegan that you've collected up to this point.
I might be tracking off the subject a little bit, but you mentioned previously that there's
a Freedom of Information Act that you had to use to get all this data.
Is that correct?
I already have this stuff posted out there.
So I'll share this link with you.
So this is essentially the way to go about things.
So if you go to the LCB.WA.gov slash records slash make dash public dash request records
request, they've basically got this set of guidelines.
So basically just submit your information in sort of the data you're seeking.
And so it may be helpful.
So this was shared with me with me by someone who just does sort of monthly records requests.
So they're just each month just getting all the latest data.
And so it actually to this, you know, just goes up through December.
So it'd be worthwhile to have to do another records request.
I'm not 100% certain like how fast they're able to turn around the data, but you can
probably get like up to like the last month.
So everything up to before the prior month.
So let's say this month is May.
I wouldn't be surprised if you could get everything up through March, through the end of March.
But I just haven't I haven't gone about making records requests for the latest data myself.
And they published all that out on their kind of public access point.
Yes.
Yeah.
Okay.
We do something similar with government data.
So the National Highway Transportation Safety Administration, it's they publish a lot of
public databases on vehicle accidents and complaints from customers.
And we actually scrape that data and ingest it.
But that we do that daily for General Motors because they update it daily.
But I don't know what your long term vision is Keegan for the Canalytics company.
But if you're thinking about aggregation across states or something like that, you'd want
to think about some formalized ETL type tools or whatever to ingest it and consolidate it.
But back to our mapping schema, whatever we end up calling, if we call these different
IDs by their table name and all that stuff, that would be part of your formal definition
of map.
As you ingest them, you can then translate the fields to whatever it is that you want
to use.
And then they'll be like data ready to use after you ingest them.
You've actually hit on a brilliant idea.
So essentially, that's something that essentially I sort of started fiddling with over here
because you're right.
So we're essentially going to need a formal schema for all the data.
So that's actually something that you're right that Canalytics is sort of setting about this.
So the way I'm approaching this is I'm trying to essentially consolidate the two main traceability
systems.
So you've got leaf here and then you've got metric over here.
And that's the one Michigan uses metric.
I haven't done much digging around yet, but because I find out more about how to access
Michigan's metric data, I'll share that with you.
So I'm not 100% sure if you can actually get public metric data.
But essentially, I was just looking at this just to try to consolidate these names here.
So let's see here.
So let's just look at these two side by side.
So here would be, well, this is a delivery.
An actual...
When you were working in your lab environment and you were running APIs, obviously, I say
obviously, but you have to be a license holder in order to access the data, right?
Yes, 100%.
So well, in Washington state, you can do the Freedom of Information Act.
That's just a...
It's sort of funny how that works, but that's like historic data.
But to get sort of the live active data, yes, you have to be a license holder or technically
there are software companies that are verified integrators with the state, provide software
services to the companies.
And then they can actually interface with the state traceability API.
Okay.
The way I'm interested in it though is basically just trying to help people just have sort
of a common way of talking about data.
The data they're looking at.
So for example, on the left here, you've got like essentially a sales receipt in LEAF.
And then here you've got a sales receipt on the right in metric.
And so they're generally capturing the same thing.
So you've got the time.
So here we've got sales date and they have it in ISO formatted timestamp.
And then here we've got created ad.
And I do believe you can actually pass ISO formatted timestamps.
But the documentation, it says it should be in that format.
Yes, you're already thinking along the lines of data consolidation and aggregation.
Exactly.
And so basically just for my...
I'm just trying to create some standards here.
Well, and there's other efforts to do this.
I should note there's OpenTHC and other groups who are trying to do sort of standardization
in the cannabis industry.
Oh yes.
This was specifically lab results.
But essentially it would just be nice to create models for these.
And my formalization would be yes to go with the ISO.
You definitely want the ISO formatted timestamps.
But it's not critical, but it's...
I think it would be awesome to just have a standardized way to talk about cannabis data
even between traceability systems.
So that way you could do analysis regardless if they're in Washington state or in Michigan.
Right.
Absolutely.
So Charles, one of the ideas that Keegan was sharing with me for my graduate project was
possibly mapping THC concentrations in different products and relating that to sales to see
if what the relationship is, is there any kind of correlation between those factors.
And so that was one good idea.
And I'm definitely open to other ideas as well.
I just have to come up with something pretty quick.
But if you also, if you think of any kind of interesting questions, Charles, please
let me know.
But again, the first step for me to do anything with this is time to kind of map out the data
so I understand it, the relationship and how I can pull the data that I would need for
my analysis.
Right.
I started actually, I've started working on that particular problem.
Okay.
So one of the things you're going to run into is just the massive amount of data because
you need the lab results, you need the inventory, you need the sales.
And so, I mean, it's a lot of data.
And so what I've been trying to do is get Dask working so that, although what ends up
happening is even with Dask, you're swap file bound and you're still, if you don't have
a lot of memory, then it spends a lot of time swapping between the Dask and the memory.
I wonder if you could do some sort of data sampling methodology as opposed to trying
to get it all just maybe do a segment of the products or at least a start.
Yeah, that would be a good approach.
So Paul, here, oops, I keep bringing that up.
So here is actually how you make the connection.
You can do it more elegantly because I'm not sure how you're going to capture the, basically
the things you need to capture are the quantity.
So it's going to be a mess, right?
So you've got a receipt here.
A receipt can have multiple items, right?
And this is where you got into the basket idea because a consumer may buy a soda and
a jar of flour or they may buy two jars of different flour from two different licenses
or two different cultivators.
So what you're basically going to have to do is for each sale item, I would aggregate
by sale item, so just essentially think of every sale item independently.
They are independent in the sale items table.
Oh, I see.
The sales is just a total amount.
The sale items actually have the individual items.
It's like a parent-child relationship.
Yeah.
Okay.
That's good to know.
Yeah, so that was one idea that we were talking about, Charles's market basket analysis where
the example is if I buy peanut butter and jelly, I'm likely to buy bread, right?
And some of that analysis might be kind of interesting just to see what the product mix
is of what people are buying.
Yeah.
I don't know how you can, or I just don't know off the top of my head how to quantify
it.
I'm sure you can.
We have to get the sale ID or somehow the sale ID I think is embedded in the sale items
ID or in the sale items table.
Yeah.
You have to link them that way and then find everything that was sold with that particular
sales ID.
Yeah, that seems to make sense.
Okay.
We have to take a look to maybe I'll start off with that one then as far as the mapping
goes.
But you were saying that the, was it the customer or the member ID or whatever, the MMI, I think
you were calling it, that seems to be like the core ID in the whole system, the licensee
ID.
Oh, so let me just get this thought out and then I'll explain the ID.
Yeah, go ahead.
I was just thinking a way that you could actually quantify the baskets would be just do percent
out of 100 of the different types of goods.
So did this person buy 100% flower or did they buy or was their sale like 80% flower,
20% edible?
Yeah, they have in market basket analysis, they have something called support.
There's like four or five metrics and you're hitting on one of them.
One's called support is basically like a popularity measure.
There's another one called lift and that's the strength of relationship amongst the items
in the basket.
So there's various different metrics in market basket analysis that will kind of give us
that picture.
It gives you different, so you could have a combination that's very, very popular, but
it's weird, it's almost counterintuitive, but the relationship amongst those items in
the basket may not be that strong.
If I have a propensity by one, do I buy the other?
So there's some interesting things, relationships you can get out of that.
That's fascinating.
You are an expert on this.
So I'm stunned.
I want to learn a lot more from you about this because this is something that I'm interested
in and I apparently, I don't know that much.
It's actually, maybe next time we can go over some of it, but it's actually not that difficult
after you look at it a little bit.
It's actually one of the most basic machine learning algorithms that you use, or not you
use, but it can be used.
It's just real basic, it's been around for a long time.
And one of the reasons, this sounds, maybe I shouldn't say this, but for this graduate
project, I was looking for something that wouldn't be too, too overwhelming because
there's such a large time commitment in writing the paper and everything else that I didn't
want to trip myself up and get in something that's really advanced that might be a real
time suck.
So I thought, this is something that could be useful.
It's well known.
It's not too complicated.
And it may be a low hanging fruit for this data set.
So just something that I'm keeping in mind.
Okay.
Yeah.
I'm glad, Charles, you said about that sale item relationship.
That'll be the first thing I'm going to go check out as far as mapping goes.
But yeah, I mean, if you guys are cool with me taking a stab at some of the, getting started
with some of the data mapping, I'll be glad to do that.
But yeah, I probably will have some questions for you as I get tripped up on anything.
Sure.
Well, yeah.
I mean, contact Keegan or me and we'll help you out or try and help you out.
It's a lot of data.
It's a lot of information.
It's hard to keep it all straight.
So yeah, certainly.
So just curious about...
The connection may be a little choppy, but I was just going to jump in real quick and
point you in maybe a direction connecting these IDs real quick.
That's okay?
Yeah, go ahead.
Right here.
Yeah.
Am I coming through okay?
It chops a little bit, but for the most part, you're fine.
Am I still coming through okay?
Yeah.
Yes.
Okay.
Well, I'll just try to power through this.
Essentially I was just going to say real quick that, you know, we've basically mapped the
licensee to the lab result.
And then you can use the inventory ID.
So you can use the inventory ID of the lab result to map that to the global inventory
ID of the sale.
So that way you've mapped the cultivator and the lab result to the sale item.
So in the sale table, what was the one that maps back to the lab result?
Can you repeat that?
I was looking down, sorry.
Yes.
So you have the inventory ID of the lab result maps to the global inventory ID of actually
the sale item.
I got you.
Yep.
And what Charles was saying is you can actually basically use this.
I think this is what Charles was saying, you can use this global inventory ID and then
you could also potentially, you know, incorporate some other data points.
So you could also maybe get, look that inventory item up in inventories.
And then you can find out, you know, whatever, you know, you could find out more data points
about that inventory, like what strain it is.
This system is just a wealth for business intelligence, isn't it?
I mean, if you wrap your hands around this, I mean, you'll definitely have the pulse.
I mean, obviously if you only get the data set once a month, but you'll have a pulse
of what's going on in Washington state for sure.
And that could be pretty good for your company, I would think.
Well definitely.
And it's one of those things where the data is sitting there, but it's such like a big
pile of data and it's coming out so fast that I don't think people have the great handle
on it.
So you do see companies out there that are sort of just doing monthly totals.
So that's useful just to know, okay, you know, what's the total sales, you know, each month.
And so those are the big ones.
Like maybe the more ambitious people are maybe trying to do like average price.
But I don't even think people have that great of a handle on that.
Maybe I just haven't seen it.
But the more in-depth connections, I'm not certain that, and that's why it's so cool
working with it because, you know, we can be some of the first people to actually connect
the data sets here and really have some real cool findings and just some real interesting
findings and often all you really need to do is some conditional averages and you can.
Yeah, it's definitely like first mover advantage.
So in your opinion, for you as well, Charles, I mean, obviously you guys know a lot more
about this than I do.
But would you say the data science slash analytics maturity level in the industry right now is
pretty low then?
So there's not a whole lot of, I mean, it sounds like people are doing some basic aggregation
based on what you said, but there's really not much in the way of data science being
applied in the space.
Well so that's why I think there's a shortage.
So it's being done.
What I see is mostly just averages.
So I'll just see people just do monthly averages.
So they'll just do total sales by month.
And then they'll almost just conjecture what may be in the future.
So I rarely even see like formal forecasting models.
And then I think like the, I take that back.
There are some companies I see that are starting to do a bit more in-depth analysis of sort
of consumer sales.
So they're saying, oh, the average consumer, maybe they're 60, 70% male, 30, 40% female.
And so that's where, so I think they're starting to get there.
And so that's where I was talking about sort of the conditional averages.
And that's sort of, I think, where you start to get into the better insights is instead
of just doing monthly sales, do sales by X.
Instead of monthly sales, do sales by flower versus concentrate.
So you're starting to get there.
But then like the analysis you're doing where you're actually saying, OK, does lab results,
do lab results have an effect on sales?
I don't think I haven't, the only people who are doing that sort of research are like the
academics.
And like I said, it's in high demand.
Everybody wants to know those sort of questions.
But there's just a shortage of data scientists and people that have time to wrangle this
stuff.
So that's why it's just such a good opportunity.
Yeah, the wrangling is the biggest part.
And so there's univariate type statistics out there, summary statistics.
You kind of talking about some multivariate stuff, this versus that.
But it sounds like there's really no kind of machine learning effort or that we're aware
of anyway that's currently.
Nothing super public.
I mean, like I'm sure people are making their attempts internally at making like machine
learning models.
And I've heard of like biotechnology companies who are trying to maybe do predictive analysis
with cultivation, but really, really early stages.
So I have one contact, so this is a bit of a stretch, but my cousin's husband's brother.
I know he lives in Chicago.
I know for a time he was looking, he worked for a hedge fund for a while.
And then all I heard was he was looking into the cannabis industry.
And this was probably about 18 months ago.
That's the last I heard of it.
And so my guess is that investment firms probably have some quants that have tried to do some
of this stuff as far as trying to figure out what the investment landscape looks like.
So those are probably one of the few in the academics that you mentioned.
Those are probably the few people then that probably have delved into it that much.
And I imagine once they look at some of the data wrangling and that it's not consolidated,
it's probably not a comprehensive view.
But I'm just kind of theorizing here, but those are probably the only folks that then
have really probably dug into this that much.
Exactly.
The quantum, unless you were going to chime in, Charles.
Oh, no.
I mean, I really kind of don't know what other people are doing or what's going on out there.
I'm just sort of doing this for an academic sense, not really like, you know.
But it would be nice to see what other people are doing.
Yeah.
At the very least, it's fun.
So it's interesting.
Exactly.
And there's so many avenues.
And I was just going to chime in that I think the quantitative guys, they're looking at
stocks and sales.
So I think there's a ton of interest in like consumer sales.
So I think they're starting to get a bit more advanced there.
But like, and but I think people are just barely scraping the surface with sort of cultivation
analytics and then just the market analysis as a whole.
There are maybe some people taking a stab at it.
And then, of course, academics.
But a lot of times they're just late to the game.
Maybe don't have the best inside knowledge of the industry.
It'd be great because there's a lot of like combining data sets you need to do.
So I'm not certain.
But like I said, it's crazy because it's just all this data is just sitting there on the
table.
So yeah, there's a lot of opportunity for sure to do something around and find out some
interesting things.
So I will share some things that I've learned from digging through this data.
One, there's a lot of records that have dates of 1-1-1900.
Basically I think anything that's like dated before April of 2018 is kind of messy because
there was apparently there was some sort of system conversion.
And so a lot of stuff that was from before 2018 is crammed into the first couple months
of 2018.
So you'll get some there's a lot of outliers.
There's a lot of really off the charts results.
And then it sort of stabilizes after that.
So some data quality issues then.
Yeah.
I feel like there's something else I have to tell you.
But let's see.
I mean, those are two of the big oh, the other thing is data isn't necessarily recorded in
real time.
Like I think some places enter their data every day, some every week, some every month.
So it's kind of hard to do a time any sort of time series analysis.
I see.
My, my two cents on those is you may want to exactly restrict your analysis to either
after 2018 or after April of 2018, because that's sort of when the traceability was formalized.
But look at your data and make your best judgment.
And then what was the second point Charles?
It's not recorded.
It's not recorded at the same time.
Yes.
Yeah.
A lot of the times I find weekly analysis real interesting, because you still get the
dynamics of, you know, a bit more dynamic dynamics than like a monthly series.
But then you don't get this noise that's present in the daily data where you may have these
unnatural spikes where like Charles said, maybe everybody just does all their data entry
on Monday.
Or, you know, but maybe that's not when the sales actually happen.
Sure.
I, that makes a lot of sense because one of the first things that I felt when I was reading
through this, I thought, what a, what a business burden for these organizations, right?
To have to actually do all this work, right?
All this accounting for the government.
And that's just a, that's a lot of time, a lot of effort.
So if they're going to figure out ways to make it as easy for them as possible and batch
their submissions, I'm sure that's what they're going to do.
Well you've, you've hit on essentially what analytics is all about.
And so not just analytics, but many software companies out there.
So that's one thing it's, it's incredible.
You know, you throw these companies a challenge and they just, you know, there's companies
that rise to it.
So there's basically, you know, software companies that specifically just essentially try to
make interfacing with the traceability system easy.
And then, you know, they often have to have some sort of like ERP aspect.
But you know, some sort of value added.
And then, because you're right, it's either that or, you know, sit your employee down
to do some data entry.
Right.
So is that, so from the analytics perspective, is that the space that you're most interested
in right now is like how to facilitate making these guys' lives easier?
Well, essentially so.
Right now we're, analytics is verified in Oklahoma.
So with metric.
And so the idea is, so, you know, the laboratories need to operate and, you know, they need to
comply with traceability.
And to end of the day, the producers need to just, they care about getting their products
tested and then sold.
And they need to comply with traceability, preferably as an afterthought.
Right.
So they don't want to spend all day worrying about that.
Sure.
And so, and that's sort of what CanLinux does is so you sort of leverage the API so that
way, you know, the data just flows nicely through the whole system.
So you collect it smoothly.
You create your certificates.
It goes up into the traceability system.
The cultivators, processors receive it.
And then they can, you know, have the results in their system, sell it to the retailer.
Everything's just moving along smoothly.
And then they can sell it.
And so that's the ideal world that we're trying to move towards.
And then we're just trying to, you know, iron everything out, help those that are forced
to still do data entry because I've been there and I don't think anybody, you know, no one
deserves to be doing data entry.
So we're trying to solve that problem.
Yeah, no, that's a great spot that you're in then because you're just trying to make
the lives easier for the businesses.
Yeah, they just want to have a quality product and make sure it's following the process and
they make their money.
Right.
And so I think that's a great spot for you coming in and kind of greasing the skids for
that process is a great spot to be in, it sounds like.
Just trying to help.
Because, you know, like that's what I've learned.
And there's just so much help and value that can be added there because, you know, there's
some people that are figuring it out.
But, you know, when you start talking to people, there are a lot of people that are frustrated
with it and they are doing a lot of unnecessary data entry and it can only help.
Right.
And then it has a ripple effect because, you know, if all of a sudden they don't have that
burden of data entry, they can spend that much time to make their business better, have
better operations.
Yeah.
Do you know if the state agencies, especially like Washington or Oregon, do they have like
auditing where you have to go into different maybe labs or producers or whatever and they
have to be audited for compliance?
So that's probably a state by state basis.
I think they essentially, I'm sure they do sort of spot checks.
So I don't actually know too much about like the actual enforcement side.
So like for example, pesticide testing in Washington state, it's one of those things
where you have to comply with the regulations so you can't use unregulated pesticides.
But they're currently just, it's one of those things where basically if they showed up at
your facility and tested your product, you know, you could be in violation of the regulations.
But I don't really know like if they're like, if they have a schedule that they're going
about and spot checking or if it's random or if they just do it, you know, if they suspect
there's a pesticide being used.
And that's just Washington state.
And so I really think it probably varies state by state.
I just heard secondhand that like in Oklahoma, they basically just pick random samples off
of the shelf and get retested.
So that's sort of a form of auditing.
Yeah.
Okay.
I was just curious.
It's interesting to see what kind of maturity level the industry is in.
And it just seemed like it's well, it's all just getting started really.
So I read in Oregon that if a producer goes to a lab and their sample fails, they'll take
it to another lab.
And basically labs that fail products just don't get any business and the ones that just
pass products just don't get any business.
So it's this pressure on labs to just pass things.
Oh my word.
Yeah.
So who's testing the testers, right?
Yeah.
Interesting.
Okay.
Well, correct me if I'm wrong, too.
In Oregon, you do have mandated pesticide testing.
Do they also have mandated metals or?
It's you know, everything in Oregon, right?
It's the strictest testing.
It's everything from the seed to the sale is tracked and we have the most, the strictest
testing standards and stuff.
But I don't believe any of it because I've, especially after reading stuff like that,
I mean, it seems like there's always a way around it.
And that was one of the things I looked at in Washington.
There's very little retest data.
That table is almost non-existent.
Interesting.
Yes, I hadn't even looked at that data.
So that's worth a look.
So that's interesting.
Yeah.
I mean, it's, could you imagine if Canalex had a white paper about retesting results,
right?
That would definitely get you some attention, I would think.
Yeah.
But yeah, I don't know.
That's something I read in the newspaper, you know, the local newspaper.
So it would be interesting to just go out.
Actually there's a lot of, you can actually come up with a lot of good project ideas from
reading the newspaper.
Yeah.
There's one about like sales along the Oregon-Idaho border because it's illegal in Idaho, but
it's legal in Oregon.
And like, you know, these little towns have this huge per capita spending on cannabis.
But the larger cities, because people are coming across the border.
Yeah, sure.
Yeah.
This is all part of the story that could be told, right?
I mean, yeah, it's interesting stuff.
But first we just have to get a handle on the data.
Yeah, the data always comes first.
So I do have to drop off here.
Oh yes, yes.
We've overstayed.
No, no, no.
It's my lunch break.
I'm supposed to be working, but this is more fun.
So I'll start doing, trying to do the best I can in the mapping.
I'll touch base with you guys before we meet again, just to let you know where I am.
Right now, what kind of project I'm going to do for my schoolwork, I'm not exactly 100%
sure.
I think it's going to be really low hanging fruit on what data seems to present itself
to pull together most easily.
I think that's probably going to be the driving factor.
But yeah, I'll take a shot at doing what I can for the mapping and reach out to you guys
if I have any questions and I'll give you a little update.
I'll probably beginning of next week or something like that.
Awesome, Paul.
It's been fun and I like your ideas.
I think it's going to be incredibly helpful.
Yeah, I appreciate it.
And it's great meeting you, Charles.
And I'm looking forward to tell my wife that I met a guy in Oregon who's from Roseville.
It's great meeting you.
Okay.
All right.
All right, everyone.
It's been awesome.
Have a productive week.
All right.
Take care, guys.
Talk to you later.
Bye.
See you soon.
Bye.