Machine learning(ML) and AI are hot topics these days. So, I find a lot of product managers and would-be product managers come up to me and ask how they can become better ML PMs. Since the intersection of machine learning and product management is a fairly comprehensive topic, one post would not do justice to it. Hence, I am planning to break it down into three parts
Part I — Problem Mapping: What types of problems are best suited for machine learning
Part III — Caveats: What are the common mistakes made in building products that use machine learning
This post will focus on how to figure out if the problem you are trying to solve needs machine learning or not.
Focus on the User
The first principle of building a great product using machine learning is to focus on user needs. One of the common misconceptions I find is that people think Machine Learning somehow fundamentally changes the skill-set of a PM. Machine learning is not an end unto itself. Machine learning is a tool to solve a real user need. I find many people (and companies) have a cool AI technology, and think the technology alone validates its usage. If you have a cool technology to apply, think about what problems could be solved, or what experiences can be enhanced through that technology.
Having said that, there are plenty of startups that come up with cool innovations using machine learning, not always focused on solving a user problem/need. They serve a very important purpose in the ecosystem — they push the technological frontiers. These startups tend to get acquired, and rarely are able to find product market fit on their own. However, as a PM, if you are trying to build a product to serve users, the problems that your users are facing, and not the technology, needs to be your focus.
This brings us to the challenge of — How to tell which user/business problems can ML help solve. At its core ML is best suited for problems that require some sort of pattern recognition . Usually these problems can be categorized into a few different types
User is inundated with too much data
If a user has to sift through a lot of data to complete a task, ML/AI is a great tool for that. Search technologies such as Google and Bing use a host of various machine learning algorithms to surface the best results for the user. For example, when you search for recipes, which recipe to rank for you as the first result is based on learning both your own patterns of search, as well as patterns of search and click behavior of people similar to you. Categorization problems also are able to leverage machine learning. If you are looking to cluster millions of posts that are about Education, machine learning can help group them, assuming you’ve trained the models by providing a reasonable sample of similar documents that are already known to be about Education.
Problems that require complex cognition abilities
Autonomous cars need to be able to understand the environment around them. A gallery app that automatically sorts photos needs to be able to detect places, people and things. These require complex cognition skills and the only way to build these kinds of smart machines is to feed it a lot of data and learn through pattern recognition.
Predictions and Forecasting
One of the most common types of problems that come up is predicting whether a user would like an item or not. Would a user like a story in their News Feed, would a user who bought a Dropbox subscription churn. If your problem requires you to predict if a user would perform an action , ML is a good fit.
Similarly, if you want to forecast what sales would look like in December 2018 (and your business fundamentals haven’t changed drastically) you can feed in historical data from all the past years, and an ML model can create a forecast while taking into account seasonality as well. Sales forecasting, inventory usage — all of these can benefit from ML.
One of the big benefits of ML is finding anomalies in data. Since ML is good at pattern recognition, anything that doesn’t fit the pattern of behavior that is considered the norm, can be detected very easily. Fraud detection is a major application. If my pattern of card usage differs from my regular behavior, it might suggest that my card has been compromised. Similarly, if hackers are trying to access a corporate intranet, looking at the access patterns of the intruder, one can easily flag such behavior using machine learning.
Help with decision making via Recommendations
If you are looking to help your users make a decision — say, provide recommendations of what to buy, visit, watch etc., machine learning is a great tool. By looking at patterns of people who watch similar things, buy similar products, visit similar sites, machine learning can reduce the cognitive burden of making a decision. By looking through suggestions, users who may not have looked through the whole video catalog or searched all the items are able to find items similar to their interest.
Experiences that interact with Humans
If you are looking to build a service that communicates with humans and thus, needs to understand natural language, ML is needed. All the assistant technologies being built — Alexa, Siri, Google Assistant, work by being able to translate human language into actionable tasks. Teaching machines to understand human language requires feeding them a lot of data about language, voice intonations, and letting the machines then start mapping the voices to the language and then the instructions and then to the tasks.
Augmenting/Creating New Experiences
Augmenting/creating new experiences is the most exciting area for ML. Is there an experience that is now possible because of all the capabilities mentioned above? SnapChat filters are a great example of how experiences can be augmented using ML. By using facial recognition algorithms, SnapChat filters are able to detect the contours of a face, and thus overlay creative filters over a face, thus making photo sharing more fun. Are there more experiences you can think of that could be improved through ML/AI?