In this post, I'm going to suggest a workflow on how to apply machine learning in your business and start gaining business value from it.
If done right, artificial intelligence and machine learning can be a tremendous advantage for your company and can help you distinguish yourself from your competitors.
The truth is that properly incorporating machine learning into your business is a long and difficult process, as it requires coordination between different people in your organization.
While helping different smaller and bigger companies build their AI products, I found that this workflow can really ease some of the uncertainty and eliminate some of the risks coming with such a big decision.
So, let’s get right into it.
What is Machine Learning?
Machine Learning is a collection of algorithms and statistical models used to perform a specific task without explicit instructions, but by relying on pattern recognition and inference. These models are able to learn patterns from data and use that knowledge to predict the behavior of previously unseen new data points.
In other words, Machine learning can be used in problems for which we can’t program the exact solution (most times because we don’t know it). Instead, we let the model learn it from existing data.
Identify the problem you want to solve
Before even thinking of spending money towards hiring Machine Learning Engineers, you have to identify what problem you need to solve.
The best reason to start with Machine Learning is not for the sake of it, but for solving a very specific, quantifiable problem. First you need to really understand the root of your problem, come up with different ways to solve it (not only machine learning) and define how will you measure and evaluate the solution.
Let’s give a concrete example. Let’s say that your run a dog collars e-shop and you want to build a recommendation system that suggests to the user the best collars to buy.
What’s your problem here? It’s not the recommendation system. It’s the increase of your customer base. Thar’s the ultimate goal you are trying to achieve.
How can you solve it? Sure, recommendation systems can be a solution. But so is google ads or email marketing or better customer support or any of 146 other things.
How will you evaluate it? A great way will be to measure your sales conversion rate or your customer acquisition cost.
Is machine learning the best solution for the problem ?
Now that you know your problem and have some solutions in mind (including the machine learning ones), you have to compare them and proceed with one or more of them.
How can you do that?
The same way every business decision is evaluated: ease of implementation, cost, risk levels, roi etc.
If the final decision happens to be the Machine Learning one, you can continue with the next step. Otherwise, you are free to go.
Sure, ML can be great (believe me) but it’s not always the answer. In fact, most of the time, it definitely isn’t.
It makes sense for big companies like Netflix or Amazon, because even a slight increase in performance can make billions of dollars. But for startups and smaller companies, it usually doesn’t worth the investment.
With that in mind let’s go on.
Build a team
Once you decided that Machine Learning is indeed the best solution for your problem, it’s time to build your AI team. There are actually two ways you can go about it:
Build an in-house team
Hire external consultants and engineers
If you have a long-term vision for using AI inside your business, then you will need to build an in house team. At first, focus on a small one that will act quickly and can deliver an MVP in 6-12 months.
The first person you need to get is an Engineering Manager ( or VP of AI or some other role depending on your organizational structure).
This person should have years of experience in Machine Learning managerial positions and a very good understanding of the field. He needs to be able to tell what can and can’t be done, as he’ll be the one who’ll make all the important decisions. He should also be responsible for managing a team, communicate with people on higher levels, talk finance.
Also you will need to hire 2-3 Machine Learning Engineers to develop the products and work closely with the EM. Remember to start with Seniors Engineers or Tech Leads, which are people with high technical and programming skills.
On the other hand, if you don’t have a long term goal for Machine Learning or your organization is quite small, it makes sense to hire an external consultant for guiding you during the project, and leave the implementation to some of your existing engineers or external ones.
But be careful because you may need to maintain or improving the project afterwards and you don’t want to keep signing contracts every year with external teams.
Develop the infrastructure
It’s time to build the Machine Learning Infrastructure. By infrastructure we mean the technical stack that will enable engineers to implement, test and deploy their machine learning models. So we are talking about databases, servers, frameworks etc.
Depending on the size and the technical expertise of your company, you have 2 choices:
1) Cloud services
Many top tech companies such as Google, Amazon, Microsoft and IBM provide all in one platforms for developing AI Solutions. They are called “Machine Learning as a Service” and they include everything you need from data storage, data aggregation, serving, monitoring and much more.
You can also choose to go fully autonomous by use existing models and apis specifically targeted for your application or you can build your own models and use their infra to deploy and serve them. It’s really up to you and it depends on the use case
For most use cases, cloud services are more than adequate and can speed up the process enormously.
2) Build everything from scratch
Highly technical companies with existing infrastructure and engineers can decide to build everything from scratch. It is recommended only for big organizations with enough money and a very long-term plan for AI, as it can be a tedious process and can take years before seeing value.
You can still relying on cloud providers for basic stuff such as storage but you will be responsible for design the overall architecture and all the subcomponents.
Gather the necessary data
Now that you have both the team and the infrastructure ready you need to develop your data strategy. Because machine learning is all about the right data. Without data it’s totally useless. Here some questions you’ll need to have in mind:
How will you acquire data?
What data do you need?
How much data do you need?
In what format should the data be stored?
What about security?
How will engineers have access to the data?
These are questions that will be answered by the Manager and the Engineering team and depend heavily on the original problem, your industry, your budget.
Also keep in mind that this is not an one off action. You will need to find a way to keep acquiring new data if you want your models to stay accurate for a long period of time.
The origin of the data will probably be a combination of public datasets, in-house sources, analytics, surveys, external partnerships and more. The next steps are preprocessing, cleaning, formatting and storing. These is where your engineers come into play.
Build an MVP
This is where you let your engineers do their magic and develop the first version of your machine learning application. The important thing is to make sure that they have a clear understanding of your vision and they’re in harmony with the business end goal.
That’s why coordination with the Engineering Manager and perhaps with a Product Manager is essential.
Remember that Machine Learning is not different from any other software, so you have to treat it normally. Follow the standard software lifecycle, perform testing, check performance etc.
Also, it is valuable that they set up the foundation for future ml endeavors along the way. Instead of a one-off solution, any process they follow and any tool they build should be documented properly and developed with the future in mind.
That way, you won’t have to reinvent the wheel next time, but you can build on top of already existed solutions and improve upon them.
Evaluate its performance and iterate
Once you have a minimum viable product, you can deploy it in production and start measuring its performance. The models will be evaluated with metrics defined by the engineers but also by the KPI’s you decided in the beginning.
Don’t expect to see results right away. It may take weeks or months before you see any real value.
Moreover, the models needs to be trained in the actual client data and you can’t rely only on offline training. For that reason, some sort of feedback pipeline is critical for most AI applications. Wherever is possible, you can gather the desired outputs and the incorrect predictions, feed them back to the model and retrain it.
So the model will always be up to date. But even then, its accuracy will gradually start to decline. This is where a new version of the model needs to be built and deployed by your engineers. And this iteration will continue as long as the model is active.
You can think is as a vicious circle: more data -> better model -> more users -> more data
Integrate Machine Learning in other parts of your business
You did it. Your machine learning model is up and running. Now what?
Now you have to decide if it’s worth it. Given that enough time has passed, does machine learning brought value to your business? Is it more or less than you expected? How it performs compare to other existing solutions?
And the most important. Should you integrate AI in other part of your business?
If the answer to the last question is yes, I have some advices for you on how to spread machine learning across your organization and expand its presence:
Provide AI Training: Both executives and employees in your organization should be informed about the AI capabilities through workshops, seminars, talks. Motivation for bringing new AI ideas and taking over Machine Learning projects can also be set in place. A great place to start is this course by Coursera: AI For Everyone
Train Engineers: In the same directions, engineers (new hires and seniors) need to familiarize themselves with the technical aspects of ML and understand the workflows. Tech talks and meeting with AI experts are a good way to start. Also there is a huge variety of online courses and MOOCs out there.
Build external connections: Relationships with other AI companies, Consultancies, Freelancers, Investors, Government, can play a key role in expanding your AI capabilities, hire new talent, understand the user’s perspective on AI, adhere to regulations ( this should not be taken lightly).
Restructure the organizational chart: Introducing new positions, new levels of expertise and reorganizing the structure of your company in a way that enables collaboration between AI and other teams is a top priority.
Transforming your company to use AI and Machine Learning requires careful planning and execution.
Since these technologies are fairly new, there is no “correct way” to do things. At least not yet.
The whole process might take 1-3 years (depending on the size of your organization). But this is not a reason to be discouraged. The most vital thing is to take the first step and begin executing some of the actions mentioned in this post.
For even more details about AI transformation, I highly suggest the following course by Andrew Ng (co-founder of google Brain and VP at Baidu), where he discusses in depth what is AI and Machine Learning, and how it affects our companies and our society.
AI for Everyone course by Coursera
So here is your plan.
Start small and use all the help you can get from experts. Begin with a pilot project and see how things will go. Once you start realizing the value Machine Learning can provide into your business, it will be much easier to keep expanding and improving.
AI transformation is going to happen in most companies sooner or later. Why not be among the first ones and gain a significant advantage over your competitors?
Now it’s your turn.
* Disclosure: Please note that some of the links above might be affiliate links, and at no additional cost to you, we will earn a commission if you decide to make a purchase after clicking through.