Tuesday, December 29, 2015

Online Recommendations

This afternoon I am working on a personal project related to a recommendation engine. I don't really want to go into too many details as there are plenty of examples that I can draw from without giving away any secrets. While I don't have a confidentiality agreement in place that prevents me from talking about it, I am working with friends and that bond is stronger than any signed legal document.

This example has nothing to do with the project but is something else I have been working on today as well and illustrates the project. I want to take my family on a vacation next autumn. We enjoy going in the month of October because the usual crowds associated with summer are long gone. However we can't do the usual summer things nor can we do the winter activities either. Shoulder seasons can be tough but I am looking for a good recommendation on where to go. There are some important criteria to take into account:
  • Price
  • Ease of travel
  • Level of fun
  • Not needing a vacation after the vacation
  • Flexibility to add one or two people
I am taking all of my children along with my wife and their spouses. Right now I only have one child that is married but that number could change in the next 10 months. I also have children in college and that may limit who can go, which is why I need the destination to be somewhat flexible.

Now I travel almost every week of the year and so I have a very good understanding of destinations that are easy to get to vs. ones that are difficult. I also understand that it might be a coin toss for certain destinations because of things like hurricane season in the Caribbean or early snow for places like Alaska.

So how does one distill all of the information into a helpful recommendation engine? If you look at how Amazon does it, they ask you to start with something and then show you what other things people have also looked at, starting with the most popular. In the case of a vacation, I might look at hotels in Hawaii and Amazon would also show me places like Mexico or Tahiti. It would then be up to me to weed out the best choice based on my criteria.

If you look at how online forums handle this issue, I would simply provide a posting with the criteria listed above and then leave it to other actual humans to give recommendations based on their previous experiences. The problem with this approach is that someone may have gone to Alaska at this time of year and had a wonderful time. However a freak snowstorm during my proposed dates could severely impact the "Level of fun" in a negative way.

If you look at other online vendors like Backcountry.com, they employ human experts that you can ask via chat windows to get their opinions. This is better than the online forums because the experts should know enough to filter out the "Alaska" responses. The only problem is that it requires paying people to answer questions and provide recommendations.

The Google search engine has sort of combined all of these methods with some extra smarts to give you the results of your online searches. Theoretically if 100 people all enter the same search criteria, the links near the top of the results are the most popular ones that have been clicked. For the first 10 searchers, the results are not nearly as accurate. However as more and more people click results, the better answers rise to the top.

There are a number of recommendation engine algorithms and some of them work better than others. Unfortunately none of them are perfect and so it is a matter of figuring out how much effort to put into my next project. I have some ideas and will post the results as they come in.

No comments:

Post a Comment