Search and recommendation engines
I lead the Search Experience team at Walmart and I am writing my first story on search and recommendation engines. The goal of a search or recommendation engine is to offer the best suggestions to users no matter who they are, what they want and where they are shopping from. The key pillars of such a system include understanding, matching with and ranking the best options, and offering tools to users to help make decisions.
In this story, we will focus on understanding, which includes:
- understanding the user (what they have bought before, do they have a brand affinity)
- understanding their intent (what did they type, where they are shopping from, what did they just click on)
- understanding the domain (what category are they searching in — this could be grocery, restaurants, home decor or cities)
Let me describe these areas below.
User understanding
When developing capabilities for understanding users better, it is important to think about the following:
- Coverage: What percent of users do you know? All or some or none? You want to continue investing in knowing more than less (knowing a user could be defined based on the business)
- Depth: Do you know your users well enough? For example, a grocery business would benefit from knowing the dietary preferences of it’s users, while a fashion business would benefit from knowing their styles
- Quality: Are you confident about the accuracy of the information? This, in turn, depends on how this information is being captured (whether implicit or explicit)
- Security: Companies need to use secure systems to store user data to minimize risks of leakage and misuse and consequently, severe brand and market impact
- Privacy: Do your users have the ability to access, control and manage their data as they deem fit? Are you legally compliant with CCPA, GDPR and other relevant laws in your region?
The above indicators should be part of the user understanding score card so you can use this information effectively to improve the product or service experience. Gathering and utilizing user data is a complex and expensive process and companies need to prioritize their needs constantly. Should we capture the user location, number of family members, diet restrictions, brand affinity, price preferences and tens of other data points? Can we do with less? What matters more to our business? This is where market research and business understanding can play an important role in helping prioritize.
Intent understanding
Intent can be:
- Explicit, through a typed query or voiced question, or
- Implicit, through clicks or other actions like read or view more, add to my list, add to my shopping basket
Intent understanding needs to be holistic and capture both explicit and implicit actions. Depending on the business, one may be more important (shopping search) than the other (social media feeds). In order to capture explicit intent, companies need to use speech-to-text engines, text analysis systems, and technologies like semantic query understanding. Implicit intent is developed through user activities. For example, a lot of users come back to their Facebook or Netflix feeds every day and show their interest on posts or movies through clicking, spending time, and liking. These activities can be used to both enhance user understanding and bolster intent gathering in the current session.
Effective text or query understanding is not easy. For example, “bounty paper towels” is a fairly simple query to understand compared to “medium size summer dresses”. The former has a clear product category and brand while the latter talks about size, product type and an attribute which needs further understanding. Do you know dresses for women, men, kids or all of them? Do summer dress refer to a certain color, a brand launched this summer? This is where combining user and intent understanding shows the power of holistic understanding.
Depending on the business, it might not be necessary to develop a natural language search engine. Often, shopping sites will allow users to click on categories, brands and product types from navigation tabs. This often works well for niche shopping sites with limited traffic. However, for engines like Google, natural language typing is almost necessary.
Domain understanding
Domains are important to understand before developing algorithms to show search results or recommendations to users. For example, a restaurant search engine is almost always looking up restaurants in a local area which could a city or a town. A search engine for a grocery store is running on store inventory at a point in time. When people look for restaurants or groceries, they are often interested in making a reservation or transaction in the next few hours or days. A search engine in these cases needs to account for not just user taste and preferences but also availability of inventory and slots to pickup, or dine in.
However, a housing search engine is much more complex due to the nature of user needs, the high consideration of the transaction, and the time required to evaluate each option. Such a search engine might need multiple user inputs before showing any relevant options that a user finds attractive. The engine needs to understand a variety of different complex attributes from location to price to size to transit scores and many more. Recall (show me all possible houses for my needs) might be more important in such categories than precision (show me the most relevant houses only).
Summary
Having talked about the importance of customer, intent and domain understanding, the magic really happens when they come together. By themselves, they each add value to the experience but together, their whole is greater than the sum. In early days, one might start with one or the other but with time, it becomes increasingly important to account for all of these. At every point, it is important to prioritize the signals that really matter to your business.