Machine Learning (ML) is becoming ubiquitous, and every single product out there is attempting to use some flavor of Machine Learning to address customer problems better and delight them. Even though machine learning is still evolving, it is no more a fad, and it is not restricted to those common use-cases of image recognition, page ranking, spam detection, autonomous cars, etc. Appropriate use of machine learning algorithms is essential to differentiate every product and delivering a better value proposition to its customers.
Machine learning is evolving faster than any other technology, and it has the potential to break new grounds creating more opportunities by providing solutions to problems that were evading us for a longer time. Even products that are not entirely machine learning dependent, where it already addresses a particular problem, harnessing machine learning can help the product better address the same problem. Machine learning is soon becoming the de facto technology. For every product and its Product Manager, machine learning offers only two choices (1) Embrace machine learning effectively or (2) Fad into oblivion. Ideally speaking, there is only one option to pick.
In this entire conundrum of how to embrace machine learning, can machine learning offer a practical solution and what are the other alternatives, how machine learning is better than those alternatives, how to validate the efficacy of machine learning, and what is the real value delivered to customers? What do you think will be the role of PMs? Please be aware that the context of this blog is to products that are not entirely machine learning dependent unlike autonomous cars, speech recognition, etc.
Great Product Managers should be tremendously good at discovering, identifying and later defining the problem – What is the problem that the product has to address. Great Product Managers spend time identifying a problem that is worth addressing. Focus on technology and solution is always secondary. Technology continually evolves, and so does the solution. Identifying the right problem provides the right start in identifying the right technology for delivering the right solution. Product Managers should focus on identifying the problem, and it is entirely the responsibility of engineering to identify the right flavors of ML based on the problem statement provided by a Product Manager.
Then… Why am I bragging about PMs being aware of machine learning? I foresee three reasons for it.
Speak the language of engineering
Even though, Product Managers should focus more on the problem and less on the solution and Product Managers need not play a role in drafting HOW to address the problem using ML, Product Managers should have the technical acumen to understand the HOW. Understanding of HOW will position Product Managers to unbiasedly evaluate how exactly ML is better at addressing the customer problem, does it add significant value. Incorporating machine learning does not automatically bring results. There is no magic behind machine learning. Machine learning has to be harnessed in a right way with a right set of data and models to contribute the right value. Rightly so, It is the not the destination that is always important. The journey is also equally important to ensure that Product Managers took notice of the efforts by the engineering team and not just the outcome. During the journey, Product Manager should speak the language of engineering to comprehend their efforts and to assist them as well. Let me imagine a fictional conversation between my engineer and me after I asked for his assistance to help me predict product revenue based on earlier collected data.
Engineer: Hey Murali, I have used multiple models for the classification problem. However, the bias is too high with all those models, and we have a problem of underfitting. Guess we need additional features.
Me: What are the features?
Engineer: Any additional information that can augment existing customers data.
Me: Oh, I have customers age and country.
Engineer: Is there a strong correlation between the country and the revenue generated
Me: Hmm … Correlation? I doubt
Engineer: No, the data is not useful we need something else. Unless you provide additional data, I cannot build a good prediction model
Me: Completely lost in the jargons, not sure what data to collect. Notwithstanding, I do not know a dime about ML, I will start doubting the capabilities of my engineer. I gave data on 1000’s of customers. He is still asking for more data, what the heck?
Product Managers interface with many entities (Engineer, C-Level Execs, Sales, Marketing, and Account Teams, etc.) and speaking their respective languages gain mutual respect and trust. When I insist Product Managers should learn machine learning, I am not focussing on the ability to build a new model but to understand existing models and at least to the extent of mapping the problem on hand to one of the right flavors – Prediction, classification, ranking, clustering, or anomaly detection, etc. PMs should understand the overall landscape of ML to differentiate reality from fad and for absolute clarity on what is possible to solve using machine learning.
What lies beneath the surface?
Customers (mostly B2B) are not merely interested in what happens above the surface. They are keen to understand what happens beneath the surface as well. It is essential for Product Managers to explain how the product works in addition to articulating what the product could do for them. Without understanding the specific flavor of machine learning used in the product and how it is improving the overall efficiency of the solution, it would be tough for Product Manager to articulate the details succinctly.
There is a $ at stake, and B2B products are evaluated rationally than emotionally, so the person implementing the product will be curious to know what data is used to validate models and what is the accuracy rate of the outcome. Customer will be interested in knowing the precision score, recall score, and F1 score. In simple terms, customers might be interested to know the rate of false positives and false negatives to consolidate their confidence in the outcome delivered by the product.
Machine learning will soon be as fundamental as Excel to Product Managers
As I scratched the surface of learning machine learning through online courses at Coursera and with hands-on Python courses, I primarily understood two things that machine learning can soon become de-facto technology for data visualization and analysis alike Excel.
- Presenting the data is a fundamental skill that every PM should possess. Companies are sitting on top of a goldmine of data related to products gathered internally and externally. With an increase in collection of data, there should be efficient ways to process and visualize data to get newer insights through adopting more modern scalable techniques. The technologies used for presenting the data should evolve, and Product Managers can no more restrict their expertise to basic some graphs in XLS.
Matplotlib, Seaborn and various other libraries are having tons of pre-built plots to visualize data in a meaningful way. Using those libraries are not rocket science. Anyone with basic knowledge of programming should be able to use them. Considering that the majority of Product Managers are either developers or designers, using those visualization libraries should be a piece of cake. What matters is that the options those libraries provide to visualize data is tremendous. Product Managers do have huge chunks of marketing, sales data in their hand. It might not always be feasible taking assistance from engineering to choose right plots for visualizing the data. Visualizing data can provide more insights than plain numbers on a sheet of paper. There are options for bar plots, scatter plots, correlation through heat maps, country/world map, etc.
PS: Some of those libraries are already available with excel, but I feel Python provides more flexibility. Using Python reminisces those days of programming. Guess, once a developer always a developer :-).
- It is not just visualization, analysis of data is also important. At a very fundamental level, every Product Manager should forecast revenues or assess the probability of a deal to succeed or not, cluster customers into segments based on certain common demographic elements. Again, I am speaking mostly from the context of a B2B segment. For data analysis, Product Managers can understand the nature of the problem – prediction, classification or clustering and pick one of the already available algorithms to analyze the data. Ability to interpret errors such as mean squared error, f1 error, etc. on both training set and validation set can help Product Manager identify alternate solutions to address bias/variance tradeoffs. The Internet has tons of pre-determined solutions for addressing bias/variance tradeoffs for various combinations of bias/variance problems. ML is a valuable tool for analyzing data and constructing meaningful interpretations of marketing data to define pricing, design market campaigns, define strategies to acquire and retain customers, etc.
How did I got started
Ever since I started learning machine learning, I love every bit of it. Probably, it was because of my passion for mathematics, and I have a background in statistics. If you detest numbers, then I bet machine learning will be annoying for you.
My journey started with a course in Coursera by Andrew Ng. It provided me with a basic understanding of machine learning fundamentals.
- What is supervised and unsupervised learning?
- What are various models under each of those categories? How to identify the right model depending on the use-case?
- How to measure and interpret error for various algorithms?
- When to use regularization?
- What are bias and variance? What are the techniques for bias/variance tradeoffs?
- When to add more features to existing data and when to augment more data to existing data?
Awareness of the above details is sufficient to speak the language of ML with engineering, to understand, appreciate and complement their efforts, and comprehend what is truly possible with machine learning.
Andrew NG course also requires some amount of programming. It is not too difficult as they do too much of handholding. If you have been a programmer earlier, try to avoid the normal use of loops and instead use vectors to solve problems. Vector methods are faster, and pretty much the entire algorithm is programmed in almost one single line. Utmost 90% of the problems, I solved using vectors. Before you get started, gain some basic understanding of vector operations. For me, it took some time to realize that [A] * [B] is not equivalent to [B] * [A] and also to realize that vector multiplication of 2 elements is possible only if the number of columns of the 1st vector is equivalent to the number of rows of the 2nd vector. Ideally, brush your fundamentals in mathematics, if you are more interested to know how algorithms are derived for various models, then you should familiarize in algebra and calculus.
After Andrew NG course, I explored for few courses in Udemy for hands-on experience exploring machine learning algorithms, and I picked the following course: Python for Data Science and Machine Learning Bootcamp (it is cheaper :-)). I completed 50% of the course, and the focus is exclusively on using existing Python libraries for solving machine learning problems. However, the course does not provide any theoretical foundation for the background of various ML algorithms. I love every bit of my journey so far. I hope that I will sooner start solving some basic problems in Kaggle. However, for Product Managers, I would suggest to start and end with Andrew NG course, unless you intend to dive deeper.
MIT also offers a course on Machine Learning. If you are looking for a dataset, Kaggle offers many datasets to play around with ML algorithms. Another good resource is MNIST. Also, IBM Watson also offers certain tools for validating problems related to data science. However, I am yet to explore it.
Please share your thoughts and opinions on learning machine learning. I wish good luck in your journey of learning machine learning