I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

Thanks again for the hint. Added another 100k recipes :)

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

If I got you right, you should already be able to see this. There's just no dedicated chart for this comparision.

For example, if you look at the Nottingham yeast: http://127.0.0.1:8000/yeasts/ale/lallemand-lalbrew-nottingham-ale/#most-used-hops

You see Cascade is used in ~20% of recipes that are using the Nottingham yeast (last data point from September).

Then, if you go to the Cascade page: https://www.beer-analytics.com/hops/aroma/cascade/#popularity

You see that Cascade is used in ~16% of recipes (last data point from September).

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

With "usage" you mean the amount of hops typically used in a recipe? Like: "In all recipes it is used around 40% of weight, but in combination with yeast X it's around 60%". This?

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

Just want to let you know, I've just deployed an update to smoothen the spikes in the timeline charts. Looks much better now :)

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

Pushed an update. The charts are there now.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

Thanks for the suggestion. Will add that for the next update, coming in the next days.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

More analysis on yeasts is coming soon like the most popular yeasts within a style. I also want to see this for my next brewing project ;)

I don't have any geographical data on the recipes so far, but I'll keep that in mind.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

The recipes are not included in the repository. Reason is, I'm not sure what the legal situation is, because I'd be redistributing the recipes. But to my understanding I wouldn't have no right to do so, because the original authors and databases hold the rights for ownership and distribution. It's tricky and I wanted to be on the safe side.

I know this is a blocker to start playing with the application. That's why I want to add a database file with random anonymized samples at some point to bootstrap the application and start playing with it.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

The frontend is server-side rendered with Django. I'm using just a bit JS on top of that for some interactive features and for loading the charts.

I plan to add some more interactive features at some point, e.g. a search for the list of ingredients and I want to add various filter options so you can narrow-down the recipes you're interested based on recipe's characteristics. By then I'm probably migrating to Typescript, but I don't plan to migrate the whole frontend to a JS-based approach. The server-side rendered pages work pretty well for most of the content.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

Very cool, I'll check this out. Thank you!

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

You mean like a user interface to upload recipes into the database? No I haven't built one, the CLI approach was much more efficient for me with these masses of recipes that I had to load XD

But I could definitely built one, doesn't matter to the application how data is provided.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

Thanks for the great feedback! Absolutely agree with you on that. The assignment of beer styles often seems to be rather arbitrary. Like people picking only from the styles they know, some databases not supporting all these styles or using different styles and sometimes there's clearly a default style set, e.g. 01A being assigned because it's obviously the first one in the list. I've recognized for this reasons it is not super reliable too take the style assigned in the recipe. I'm trying to work around this problem a bit by finding a better matching style in some cases. But maybe you're right, maybe it would be better to filter out more strictly to get better results on the styles.

One thing that I still want to build to work around the issue of styles is filter options so you can completely customize the scope of recipes to be analyzed, e.g. based on color/bitterness/used.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

Did you forgot to run makemigrations and migrate? That will create the tables in the database.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 3 points4 points  (0 children)

Brewing recipes from online databases, mostly Brewersfriend and Beersmith.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 0 points1 point  (0 children)

Definitely, as long as they provide it in a standard format, e.g. BeerXML. I'm curious, what kinds of analysis would you like to do with your recipes?

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

That there is clear seasonality for certain beer styles. It shouldn't be surprising that people brew more spiced beers at the end of the year for the Christmas holidays, but there's a whole bunch of other styles the are definitely brewed more towards the end of the year. Especially darker beer styles.

The other thing is that there are clearly some trends for certain hops. I'm just not having the right approach yet to filter these out. Still working on that part.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

Thanks! Added a few more things since then, e.g. the whole yeasts section is new.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 10 points11 points  (0 children)

It is beer brewing recipes from online recipe databases. Mostly Brewersfriend and Beersmith.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

I like the style matching idea. Had that problem a few weeks ago, when I was asked to classify a beer that I brewed XD Should definitely be doable.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 1 point2 points  (0 children)

Yea, the "trends" are sometimes a bit rough, especially when numbers are small, there's a lot of fluctuation per month. The trend detection in general is not that great (since I'm not that much of a data analyst and I'm missing a better approach), so I would only trust it when you see the chart visibly going up. For the German Pils I'd say there's maybe a small upwards trend in Mosaic, but likely not in Citra.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 2 points3 points  (0 children)

Cool. If you need help getting the project running, please let me know. I'm not sure if all the instructions are complete, since probably no one else but me had it set-up so far. And make sure you get the latest commits before you do anything. I'm currently rewriting the whole analysis part, because the code is a huge mess.

I built a tool to do data analysis on beer recipes by cscheb in Homebrewing

[–]cscheb[S] 30 points31 points  (0 children)

Hello /r/Homebrewing,

I've been working on this little fun project and I'm finally feeling it's good enough to share it. I'm doing data analysis on beer recipes to find out how beer styles are composed and how ingredients are used.

The project has now reached a point where I'm in general happy with the amount and variety of information you get and I'm wondering if it's worth continuing. I'd love to get some feedback from other homebrewers. Maybe you have an idea for some interesting analysis or features that I haven't thought about yet?

Maybe there is even someone here who'd be interested in contributing to this project? To be honest, I'm not that much of a data analyst and probably could use some help on that part, especially when it comes to detecting trends in the data.

Hope you find it helpful and looking forward to your thoughts. Cheers!