Hey Everyone!
Hawns let me know that Try That Soap was brought up on DFS, so wanted to stop by, introduce myself, and answer questions you all may have.
The
tl;dr version is users can create accounts, rate soaps they have tried based on scent, and get algorithmically generated recommendations for other soaps.
Longer version:
Over the past 7 months, I’ve been working on a soap recommendation tool that gives you unbiased soap recommendations based on how you rate the scent of soaps you’ve tired. When I started wet shaving about a year ago, the biggest obstacle was trying to figure out what soaps to try. I'm pretty active on reddit, so reading through /r/wicked_edge and /r/wetshaving made it pretty easy to figure out what the quality soaps were in terms of performance. Unfortunately, this still left literally hundreds of soaps as legitimate options, and more seem to be popping up every day. This leaves scent as the next filter, but I (and many new wet shavers) had no idea what vetiver, bergamot, or ambergris were, let alone what they smelled like. I did know how to try something and give it a 0-5 rating though.
So the concept is that users can create an account, and rate soaps they've tried (or common scents) on a scale of 0-5 and TTS will take care of the rest.
As far as how it actually works:
Every soap in the database has a scent profile and every user has a scent profile. When you rate a soap, your scent profile is updated based on what scents were in the soap you just rated, and how you rated them. TTS then compares your scent profile to all the soaps in the database and creates a recommendation based on that. The scents are weighted, so if you have a high rating for "orange" and new soap 123 has a ton of orange in it, it'll probably have a pretty high recommendation. Likewise, if your scent profile says you hate anise (like everyone should), but new soap 456 only has a little bit of anise, it won't affect the recommendation as much, relying on how the stronger notes in the soap compare to your scent profile . This is all done algorithmically and the only inputs are your scent profile and the soap's scent profile.
Current features:- Unbiased recommendations based on soaps you’ve rated
- “Getting Started” section where you can rate common scents. Great for those new to wet shaving that may not be familiar with things with vetiver, bergamot, or ambergris.
- Currently over 400 soaps to rate and get recommendations on
- Descriptions and Ingredient list for all soaps
- Keep track of all the soaps you’ve tried/rated
- “Where to buy” links for soaps that are currently in production
- List of scents and a list of soaps that have that have that scent in them
- Mark soaps as "not interested" so they won't show up in recommendations lists anymore
- Save soaps that you are interested in so you don't forget about them (they show up on your home page)
- Release date information for upcoming (and recently released) products
Why is this better than blind buying samples or asking strangers on the internet for recommendations?
Blind buying is expensive, especially if there aren't samples available, so being able to narrow it down even a little can save people some money. As for the second part, as mentioned, no two people are the same, so you'll never get a perfect recommendation from a person (especially one that knows nothing about you), or from an algorithm for that matter. The benefit of Try That Soap though, is that it does learn about you and gives you unbiased results. The only thing Try That Soap cares about are how you rated soaps you've tried, and how your personal scent profile compares to other soaps. It doesn't care about brand name, price, availability, who's been around the longest, or any other factor that may influence a human's recommendation. I'm not sure if there are a lot of "Recommend me a soap" posts here at DFS, but they show up pretty often on reddit, and the recommendations typically consist of "Soap X is popular, try that." or "MY favorite is Soap Y, you'll love it!" It's better than nothing, but ultimately not much more helpful than blind buying.
The next, and arguably most important question, is how accurate are the recommendations?
Very accurate, trust me
. But seriously, that's not a good answer. I’ll preface and say that no algorithm is perfect and I know there are ways that it can be improved. With that being said, the initial results were encouraging. Oh, and I have some data!
Before I got TTS up and running, I was tracking my personal soap ratings in a spreadsheet, but I switched over, I had about 60 soaps tried and rated. All ratings were made “blind” without any influence by the tool. With these ratings, I tried to simulate how a new user would use the tool:
- Rate “Common Scents” in the getting started section
- Check Ratings for all soaps in data set
- Rate a soap
- Check rating of next soap (takes into account “common scent” ratings and all previous soap ratings)
- Check rating for soap after rating it
- Repeat steps 3, 4, and 5 for all soaps
- Check ratings for all soaps after all are rated
- The main idea behind this process was to show that the ratings are constantly evolving as the tool learns more about the scents you like.
The main idea behind this process was to show that the ratings are constantly evolving as the tool learns more about the scents you like.
Raw data can be found here if anyone is interested
So how did it turn out? After rating common scents that I knew:
- 21/60 ratings were off by more than 1 either way
- 13/60 were off by .5-.99 either way
- 26/60 were within .5 either way
While not great, this is, at the very least, a good nudge in the right direction.
Did the ratings get better as we started rating soaps? Hopefully!
- 20/60 ratings still off by more than 1
- 14/60 off by .5-.99
- 26/60 within .5
This doesn’t seem like a huge improvement, but 32/60 soaps did improve their rating, 22 of which were in the last half of the soaps.
Looking at the recommendations after all 60 soaps have been rated looks a bit better.
- Only 7 are off by more than 1, and I have some idea as to why they were so off.
- 13 are between .5 and .99
- 40/60 are within .5
I’m sure someone can poke holes in the data here, but these numbers are encouraging to me that the ratings will continue to improve as the sample size grows. Like I said, no algorithm is perfect, but I have some ideas on how to continue to improve it.
Update: Those numbers were from Oct 1. I've tried/rated 6-7 more soaps since then and they were all within .5 before I rated them. Yay improvements!
The next major feature I'm planning is to be able to add aftershaves and other related products. Don't want Hawns to feel left out
. This is requiring some rework on the database and code so it'll be a few weeks before that's done. Some other stuff I have planned includes adding a search feature, adding tags (to note a soap as vegan for example), allow users to exclude ingredients or scents (primarily for allergy reasons), and a couple other things. I don't have a time table on most of this right now. As Hawns mentioned, there's that whole life thing. It's just me working on this, so between job and family, I only have so much time to work on this.
Now that all that is out of the way, some of the questions/concerns in this thread so far:
Only rating scents:
Performance is absolutely important, but I went into this with the assumption that users can find out the scents they like and then narrow down their choices by soap maker with further research. Implementing a performance rating and showing the average rating wouldn't be an issue, but it won't contribute to recommendation (as of now anyways). I'm also trying to avoid a situation where people give a bad performance review for reasons other than bad performance. It's definitely being considered and I may end up adding it eventually.
SSL:
Yep. It's on the to do list.
Samples/Scent Profile:
I think this is probably cleared up, but yeah, I'm not selling anything and I'm not giving personal reviews, so no samples necessary from that perspective. Product does come into play in regards to determining a soap's scent profile. I obviously haven't tried everything that's out there, so a lot of the scent profiles are based on descriptions. If I've tried the soap, it might be a bit more accurate for obvious things ("Oh, I had orange as a big part of this soap, but you can't smell it at all, let me fix that"). This is the one place were some objectiveness is coming into play, but unless the soap makers want to share the exact scent breakdowns (they don't, and I don't want to be responsible for that propriety information), it's one of the few options. I have had a couple people suggest allowing users to rate individual note strength, similar to what Fragrantica does, but my concern there is displaying that information publicly, even if it's not 100% accurate. I don't want to jeopardize anyone's products and open them up to copy cats more so than they already are. This may be a way to ultimately get more accurate scent breakdowns, but not sure if it's worth the trade off. I suppose I could allow note ratings, but not display the % breakdown. I'm weighing the options here and happy to hear input.
Hopefully this long winded post helps clarify what Try That Soap is and answers some of your questions. If there any more questions or feedback, please don't hesitate to reach out, and I'd be happy to answer. I think there is a lot of value in the tool, and hope others do too! I'm not sure how much value the recommendations will provide to those that have been wet shaving for years and know their scents inside out, but I think there are some useful things such as keeping track of the soaps you've tried and the ones you want to try, as well as some of the other stuff I have planned, can still be useful.
Thanks again to Hawns for inviting me to join the community!
Please note, I am considering the tool to still be in beta. This means that there will undoubtedly be bugs, things can change, and worst case (hopefully not!) the entire thing could crash. One bug that I am aware of (that I have yet to fix) is that usernames are case sensitive.
Happy shaving!
Alex