The days when you needed to hire a full-time data scientist to use machine learning to solve a business problem in your company are long gone.
Now, machine learning is more accessible than ever and there are several ways you can start using it in your business without breaking the bank.
Here are a few steps you should take to build your first ML-powered solution.
Identify A Measurable Business Problem
Start by identifying a business problem that machine learning could help solve.
It usually implies a solution that will help you make better decisions by “seeing into the future” or automating a complicated task so that it may be scaled.
Examples are: forecasting sales to make sure your stocks always have what customers want or building a recommender system to increase your online store average order value.
The key here is to make sure the problem you want to solve has a clear metric that you can use to track your success and ROI.
An example metric for a forecasting system can be the percentage of times your machine learning model is accurate to within plus or minus ten percent of the actual value of actual sales.
But it can go deeper, like checking how many sales you missed out on because you didn’t have the product in stock.
For a recommender system, you could split your users in half, measure the average order value of the group exposed to the recommendations and compare it to the group that wasn’t.
If you can’t split the users, you can activate the recommendations and analyze how much the average order value changed compared to the previous period.
Not “statistically rigorous” but it works well in practice. Machine learning models are just technical means to a business end.
Even though you have a primary metric, your model will impact other metrics, so keep an eye on them.
For example, when doing recommendations, look at the first and repeat purchase rate too.
When doing forecasting, look at products that are staying too long in stock, wasting space, instead of only looking at the missing ones.
Look For A Quick Win
It’s not a coincidence that I am talking about forecasting and recommendation as examples.
Both are use cases that have been tried and tested and offer a relatively quick way to get started with machine learning.
We don’t want to spend months or years on a project that may not even work in the end.
Instead, we want to get started quickly and see some results that we can show to decision-makers to get buy-in for further investments.
Other examples of business problems where machine learning could be applied are fraud detection, image recognition, and text classification.
Check Your Data Infrastructure
Machine learning models need data to learn from.
This means that you need to have a data infrastructure in place that can provide the model with the right data at the right time.
You don’t need to have a perfect data infrastructure, but you at least need to have the data that the machine learning model needs.
For recommendations, this could be previous purchase data like what items users have bought in the past, when they bought them and how much they paid.
For a forecasting system, you need data about past sales, the time of year, what marketing campaigns were run, etc.
If you don’t have this data, you need to take a step back and build the infrastructure to collect it.
Maybe this data is inside an ERP system. In this case, you need to get the data out into a format that can be used to feed machine learning models. This usually means a tabular data format like CSV or a document store like JSON.
If this data is not in an electronic system but, for example, on paper, you need to find a way to get it into an electronic format.
This could be done by hiring someone to manually transcribe the data or by building a simple interface that allows users to input the data themselves.
Extracting data from physical documents could even be your first machine learning project.
There are situations where you can use models that have been trained on other data, such as an API for image recognition or sentiment analysis.
But in general, you benefit from having your own data to adjust these models to your specific case.
Set Up A Benchmark (Or Baseline)
A benchmark is a simple solution that solves the problem without using machine learning.
This could be a rule-based system. Something as simple as always recommending the best-selling products to users or forecasting that sales for a product today will be the same amount that they were the same weekday last week.
It doesn’t need to be new. It can be the existing system that you want to replace with machine learning.
The important thing is to have a baseline against which you can measure the performance of your machine learning model.
If your machine learning model can’t outperform the benchmark, it is not worth using.
Start With An AI Service
One way to get started quickly is to use an AI service.
In most cases, you will only need to prepare the data, upload it to the service and get the outputs.
It can be done by calling APIs from your own software but some services offer a point-and-click UI.
The advantage of using an AI service is that you don’t need to worry so much about the machine learning part.
There are a number of these services on the market, for example:
For recommendations, we have AWS Personalize and GCP Recommendations AI.
For forecasting, we have AWS Forecast.
For image classification, we have GCP Vision AI.
These services are not perfect but they offer a quick way to get started without having to build everything from scratch.
A Real Case Where I Used AI Recommendation Services
I once worked with a marketplace that didn’t have an in-house data scientist and wanted to build a recommender system for their food-related products.
Even though I was working on the project, they would need to keep the system working after I left, so it didn’t make sense to build something too complex.
We needed a solution that didn’t need a machine learning expert to maintain it.
At the time, the CEO asked me to evaluate an Azure API that did what I wrote above: you uploaded the data, and it gave you product recommendations for each user.
I worked with an internal software engineer and a data analyst to build a short PHP script that would take care of these two steps.
We decided on a weekly retraining schedule, so I taught them how to know if the model was working after sending new data by running a simple time split validation.
These people were not interested in becoming data scientists, but they learned enough about machine learning to keep the service working and moving the needle.
This project opened up the door to many more projects and they ended up building an internal SaaS for their customers to get insights from their on-platform data.
Repeat The Process
The key to success with machine learning is to start small, learn from the experience, and then repeat the process.
After you get your first quick win, it becomes much easier to convince other stakeholders to invest more time and resources into machine learning.
They will even start reaching out to you with new projects.
Just make sure you manage their expectations. Treating machine learning as a silver bullet will only lead to disappointment.
The reality is that machine learning is just one tool that can be used to solve problems. It’s not a magical fix-all solution, and it won’t always produce the desired results.
In some cases, it may even make things worse.
That’s why it’s important to approach machine learning with realistic expectations and to use it judiciously.
What If You Need A Custom Solution That Is Not Provided As An AI Service?
You can hire freelancers or agencies that specialize in building machine learning models.
And you can also train your team to use managed machine learning services that go beyond simply inputting data and getting outputs.
With tools like AWS Sagemaker and GCP Vertex AI you can build and deploy any model (as long as you have the data) without having to build a machine learning platform from scratch.
There are a lot of basic machine learning courses at Coursera, Udacity, and fast.ai that can take your team very far.
You can hire an experienced consultant (like me) to advise and guide the team as needed to avoid common mistakes and speed up the learning process.
With time you will have the ideal situation: an experienced team not only capable of building machine learning systems, but that understands how these solutions fit into your business.