Understanding how Spotify Discover Weekly works helped us figure out how to build a better recommendations engine to identify similar startup companies.
In the last 30 days, our clients have accepted 1256 similar company recommendations provided by Collections.
For context, Collections, aka our “CRM for Innovation”, lets clients build and collaborate on market landscapes or competitor/comp sets right on CB Insights. We wanted a way to ensure that these Collections were always current. And this meant recommending new, relevant companies to customers regularly to keep them updated.
Recommendations is a problem we’ve been trying to tackle programmatically for a while and we’re happy to report we’ve finally cracked the code, thanks to some inspiration from the engineering team at Spotify.
We break it down below.
- First, why do clients need to identify similar companies?
- What similar company identification approaches had we tried before?
- What we learned from Spotify’s eerily good recommendations
- The Lightbulb Moment: A Spotify playlist = A CB Insights Collection
First, why do clients need to identify similar companies?
We will detail how Spotify’s Discover Weekly recommendations helped us solve this long-standing problem, but first, it’s worth understanding why finding similar companies (aka “comps” or “comparables”) is important.
- To ensure their industry or market maps / market landscapes are current
- To identify competitors to a specific company (or set of companies)
- When scouting in a particular tech area and they want to ensure they’ve missed nobody
And as you know if you’ve tried it, the work of identifying similar startup companies is difficult and inefficient because new players are always popping up. As a result, this makes your market maps and industry and comp lists obsolete quickly.
In other words, you build a market map of companies for a particular sector and in 30 days, it’s outdated.
What similar company identification approaches had we tried before?
This is a problem we’ve been trying to solve for a while and so we’ve tried many approaches in the past including:
- Similarity of keywords in company descriptions – We’ve had some success with this, but it’s harder than it sounds for a variety of reasons. Company descriptions can be short and sometimes identifying and extracting enough noun phrases to judge similarity is difficult.
- Extracting similar companies from the news – In this method, we look at which companies are mentioned together in news on a recurring basis. So if Lyft and Uber are constantly mentioned by journalists and bloggers in articles, that is a high likelihood they are similar. The challenge with this approach is that it works well for companies who get enough press attention to find these pairings, but many companies, especially early stage startups, don’t get enough media attention to identify these pairings. So while it’s useful and the signal:noise ratio is high, it doesn’t get us enough coverage / recommendations.
- Transitive competitor linking – If you remember grade school, there was the transitive property that said if A=B and B=C, then A=C. We also employed this to identify similar companies. This method works quite well but requires you have enough pairings to identify these transitive relationships. It’s worked well for us but scale ultimately became a challenge. Moreover, without proper constraints on your algorithm, this can actually spiral out of control polluting your similar company results.
What we learned from Spotify’s eerily good recommendations
None of these approaches were perfect but all worked in some cases.
Then lady luck smiled down upon us.
Alex T., a product manager on the CB Insights team, chanced upon the Actuality podcast episode called “Robot Tastemakers”, which reveals how Spotify’s Discover Weekly playlists work.
(For those of you not already familiar, since 2015 Spotify has created customized weekly playlists with individual suggestions tailored to its millions of users’ musical tastes. The “Discover Weekly” playlists are eerily good at recommending music to you that you’ll love and understanding how Spotify Discover Weekly works is a mystery that fans often ponder.)
In the Actuality podcast, Matt Ogle, Spotify Product Director, who revealed that the playlists work by looking at what you’ve been listening to, finding other users who listened to the same music, and recommending other songs to you that those users had enjoyed.
This explanation revealed how the algorithm appeared to make recommendations based on users’ “taste”. Ogle explained “Is it the computer doing it, or is it millions of humans doing what they do best?”
That Lightbulb Moment: A Spotify playlist = A CB Insights Collection
After listening to the podcast, Alex T. realized that a CB Insights Collection is simply a ‘playlist’ of different companies curated by our very smart clients and research analysts. And so he realized that we could apply the same strategy to our company recommendations that Spotify used for music recommendations.
Alex T. created an initial prototype using a Collaborative Filtering methodology. He asked our industry analyst team who regularly build market landscapes around different sectors/themes ranging from fintech to HR tech to AI whether the recommendations his algo was surfacing new companies they hadn’t seen before.
The response from the research team who are our internal power users of CB Insights was an enthusiastic yes.
From here, it was important for Alex T. to improve the performance of his prototype and he turned to Engineering where Alex P. (yes we have lots of Alex’s at CB Insights) improved upon the performance by turning similar company recommendations into its own service using a Bloom Filter.
A Bloom Filter, as you might know, is a data structure that tests whether an element is a member of a set. A Bloom Filter has the advantages of being both time- and space-efficient, meaning that we can query for items quickly and represent a set using as little memory as possible. This is the first “microservice” that CB Insights has created! (By the way, if you understand what this paragraph is talking about and it excites you, we’re hiring. If your name is Alex, bonus points).
Our solution in place, we now compare all Collections against each other, so our clients benefit from each other’s collective wisdom and can keep their market maps, comp lists, etc updated with similar companies they’d have otherwise missed. In addition, we use some of our earlier methods to identify similar companies to help surface the best matches. So for example, if the Collections Bloom Filter suggests a company belongs in a market landscape and transitive competitor linking also suggests the same, we have even greater confidence in the recommendation.
The best part has been that as more Collections (CBI “playlists”) get built, the suggestions get better.
As mentioned, we’ve seen 1256 of these similar startup recommendations get added to Collections by clients in the last 30 days. Our hope is that we can help clients discover 50,000+ new companies by the end of this year.
It’s been great to see how experimenting with a method developed by Spotify, a music streaming service for consumers, has yielded such an elegant solution to a long-standing goal we had even though we’re a very different business – a B2B tech market intelligence platform. Yes – our technology draws inspiration from lots of companies who are very far from what we do.
A huge thanks to the Spotify team for coming up with this method of determining similarity and to Matt Ogle for being so candid about it on the Actuality podcast.
If identifying similar startup companies is a challenge that you want an elegant solution to solve, let’s talk. Here is more on Collections: Our CRM for Innovation.
If solving hard problems like this in ingenious, creative way is something you’d like, we’re hiring and would love to chat.