Every now and then we all hear how Machine Learning is going to take over our mundane jobs and how AI is the future. But frankly today Machine Learning and Algorithms are not a story of the future, these are everywhere, from your google searches, to your Netflix suggestions.
While on the onset you might never be able to recognize this hidden intelligence in the systems around you, but these systems are designed to give you such a seamless experience that it feels almost like “Magic”.
Machine learning is a subset of Artificial Intelligence, and we are only going to talk about only Machine Learning for now.
Machine learning simply utilises computers to understand complex and big data that we as humans might struggle to comprehend.
Today when we think of marketing, we can’t help but think of “Digital Marketing”. With the invention of this prefix, came a lot of digital data. Data about how we acquire customers to data around user behaviour on our products.
While some companies are now becoming extremely sophisticated in handling such big data and combining it to better segment and market users, a lot are still catching up.
Marketing analytics in most companies is still restricted to creating reports on Google sheets and using simple time series forecasts (or a conjecture) to project sales.
While most of the top marketing executives know that Machine Learning can be useful in marketing, only a few exactly know how. And without exactly knowing how, how can you even get the data scientist in your company to help you out?
Don’t worry, in this article, I will give you the framework to get started on your journey of being a Marketing Scientist and use Machine Learning to empower your marketing activities.
How to get started
- Learn basic SQL: The key behind all good ML algorithms is good data and to fetch this data from a relational database like the one your company most probably is using, you will require knowledge of SQL. Just familiarize yourself with the basic syntax, so that you should be able to fetch the relevant data and store that in a CSV.
- Learn Python: When it comes to Artificial Intelligence or Machine Learning or anything that remotely concerns these topics, Python is the Gold Standard Language for it. The extent of resources and help is limitless and once you start, you should be coding in no time.
Familiarise yourself with the basic python and packages like pandas and numpy, learn to clean up data and pre-process it for the ML models. This could involve handling null values, structuring the data well and some bit of feature selection and feature engineering.
Once you have the data manipulation and clean up done, and selected all the right features to construct the model, you divide your data into “test” and “train” sets. The train set helps your model to learn while the test set helps to test the accuracy of your model.
There are 2 major branches of Machine Learning that you can utilise;
- Supervised Machine Learning: As the name suggests this type of machine learning models are used when we teach the algorithm with labelled data to predict outcomes or classify data into categories.
Eg; you could use supervised machine learning algorithms to predict the marketing budget required based on factors like last period spend, sales target etc
- Unsupervised Machine Learning: While supervised machine learning requires you to train the algorithm with labelled data, unsupervised machine learning algorithms discover the hidden patterns in data without any human intervention.
Eg: unsupervised machine learning can be helpful to group customers given certain attributes for those customers.
Caution: No matter how fancy unsupervised learning sounds, it generally is very difficult to explain the working of unsupervised learning models to the business stakeholders. It’s better to stick with Supervised Machine Learning, at least for the start.
Categories of algorithm in Supervised Machine Learning
There are 2 types of algorithms in Supervised Machine Learning;
1. Classification: Classification will help you to predict a label Eg: segmenting customers based on other dependent variables like Revenue, Frequency of purchase, Recency of purchase, Time spent on website etc.
Popular Classification Models: Logistic Regression (while the name suggests it’s regression, it’s actually used for classification problems), Stochastic Gradient Descent, K-Nearest Neighbours. Decision Tree. Random Forest. Support Vector Machine.
- Regression: The regressions problem helps to predict the quantity of a variable. Eg; sales in the next month.
Popular Regression Models: Linear Regression, Ridge Regression. Lasso Regression. ElasticNet Regression
Once you know whether the problem you are trying to solve is one of Classification or Regression, model selection is highly dependent on your use case. There are metrics that you would want to optimise for (eg: mean squared error), to select the best model for your use case.
Start with a problem:
Something if learnt and not applied is forgotten in some time. Thus it is advisable to have use cases in mind as you are getting familiar with the world of Machine Learning. This will not only keep you interested in learning newer models but you can also show off your newly learnt skills.
As you progress, you should start with a problem to solve. This could be anything from trying to segment your users with KMeans clustering to projecting sales with Linear Regression to predicting churn with KNN classifier.
Once you have learnt enough to deploy production ready models, you can try applying other models and fine tune features to increase the accuracy of your models. The accuracy of your models might change with time, so it is always advisable to revisit your models later as well.
Pro Tip: There are models in Python eg: SARIMAX that don’t fall under Machine Learning per say but are very useful models for a time series forecast. Don’t restrict yourself to Machine Learning, there are other models that will come handy as you learn Python.
And remember, all machine learning models are as good as the data you feed into training them. A model to predict the best indicator for your SERP rankings will be determined by how exhaustive and reasonable is your list of features. Domain knowledge is very crucial while you build your machine learning models.