I am a fan of good beer. In this post I am going to talk about my ideas for how to improve websites that offer ratings for different varieties of beer, and how I think recommender systems would improve their service.

Why I care

Whenever I’m asked what kind of beer I like, I experience a moment of awkwardness. Because I don’t just like good beer, I hate bad mediocre beer. Usually the person asking is a beer noob and I don’t want to sound too snobby by throwing beer jargon at them they probably won’t understand. So I say something along the lines of “I like the more expensive stuff, like from small breweries or imports.” The response is usually something about Sam Adams. I used to enjoy Sam Adams Boston Lager, but I can barely stomach it anymore. There are a couple Sam Adams brews that aren’t half bad, but the Boston Lager no longer cuts it for me.

I am no true afficionado, though, for a few reasons. For one, I have a bad memory when it comes to what I eat and drink and alcohol only makes it worse. I may remember that, yes I did have a Bell’s Kalamazoo Stout and I liked it, but if you asked me to describe its flavor in any way or compare it to others, I’d have to reference my RateBeer profile. The same goes for meals and coffees and cigars. I love them all and know when I have found a good one, but I lack some sort of sense memory that allows me to recollect details about them. This translates into several problems for me in that I also have a hard time picking out indivdiual flavors in food and beer. I can taste the coriander, but since I can’t remember what coriander tastes like I can’t put a name to it.

Current State of RateBeer

So RateBeer is pretty much what it sounds like: a website that lets you rate different beers and view the ratings other users have given them. They score these ratings to build percentile rankings for all beers and for beers of a certain category. According to their FAQ:

We use a Bayesian weighted mean so that more ratings increase the score’s validity. Simply put, a beer that has one hundred 5.0 scores will have a score just thousandths of a point under five, whereas a beer that only ten 5.0 scores might have a score a few *tenths* below a five. This not only helps us combat abuse but ensures a greater validity to our beer lists.

I haven’t been able to find the exact formula they use to calculate scores, but it seems to discount higher scores more than lower scores. This is definitely a good idea because a beer with only 10 ratings (the minimum to obtain a percentile ranking) will have a very high standard error. RateBeer lists standard deviations in their statistics and even for beers with over 1100 ratings, you still can see values of 0.45 or higher. So a beer with 11 ratings would have an error a factor of 10 larger than a beer with 1100 ratings. If they failed to discount scores, beers with few ratings could dominate the playing field.

Ratings consist of different scales for Aroma (1-10), Appearance (1-5), Flavor (1-10), Palate (1-5), and Overall (1-20). They refer to this as a hedonic scale, meaning they want ratings that say how good a beer is versus how well does a beer conform to the standards of its type. They don’t necessarily want (but don’t mind): this a good example of an Imperial Stout. They would prefer: this is an intriguing beer. You can also provide some geographical information for the beer by indicating which area code you were in when you found it. This lets people know what they can get in their area.

My Suggestions

I think RateBeer has a lot going for it and while I considered trying to come up with a site that would compete with it, I don’t have the money or the time to undertake such an enormous task. Plus, as a friend pointed out, RateBeer has a great community, which is an extraordinarily difficult thing to build. The task of building a competitor to RateBeer would require millions in advertising and development with no guarantees. So here is how I would like to see RateBeer improve:

  1. Social networking - Currently RateBeer has a great community. You can use forums and message other users. This is fine, but isn’t the easiest way to do certain tasks that Facebook makes simple. Things they could add would be the ability to form beer special interest groups (IPA lovers, for example), regional groups, whatever. There are many ways the crowd dynamic can be enhanced.
  2. Google Mashups - RateBeer has information on beer suppliers (bars, stores, etc) and on beers. But the connection between the two is missing. Add a Google Maps mashup that shows the town you are looking at and the locations of stores. Filter stores by beer, add beers to a store, etc.
  3. Recommendations - For example: People who liked this beer also liked yada-yada-yada. Some people may disagree with this point because RateBeer already offers the most popular beers overall and by various style. Just find the style you want and the highest rated beers will be your recommendations, right? Wrong. What if you absolutely love Leinenkugel’s Sunset Wheat, despite the fact that it tastes like Fruity Pebbles? Other beers of a similar nastiness won’t be rated very highly, so you’d never find them buried by the mountain of better beers towering over them. Some people hate certain things in a beer (like spruce, let’s say) so that no matter how highly rated a spruce beer is, they will never like it. The examples are endless, but this should demonstrate the need for such a system. What’s more, it wouldn’t be difficult to implement, unlike some of these other features. I’ll discuss this a little more in the next section.
  4. Better UI - RateBeer is suffering from a pretty old design, but some people may not see that as a flaw. Personally, I experience bugs in the login process, improperly formatted pages, and some tables have bizarre coloring or fonts too small.

Recommender System

RateBeer seems well poised to offer some very interesting recommendations. They have an absolutely enormous amount of data on beers: each user rates the beer with the scales I described above, plus they have to give a text description of their experience. Ratings are sometimes removed that are spurious or abusive, but not always. Usually problem users are found and their ratings are taken out of consideration. All of this content data about beers can be exploited in a content-based recommender system.

Likewise, the large number of users on the site provides a wealth of collaborative data as well. Collaborative filtering techniques that have been applied to movie ratings (see Netflix Prize) could just as easily be applied to beers. Hybrid approaches that combine the content information with the collaborative could also be employed.

Conclusion

So finally, my wish is that RateBeer be improved. I enjoy it and find it a highly useful site, but so often I just wish there was more to it. Oh - and I would love to get my hands on their data for research purposes.