1. Machine learning in production
Great work on identifying machine learning communication best practices. Now we will look into a few examples of production systems.
2. Production systems
Production systems can be software or applications that are an integral part of the business, or even are the business itself.
It can be a customer relationship management system,
a fraud detection system,
an online banking platform,
or even an autonomous car.
These are all production systems with real-time machine learning models deployed to them for better customer and product experience.
3. CRM
A customer relationship management system or CRM executes a number of campaigns - either automatic or manual.
A machine learning example could be where customers a predicted as churn risk and then sent an automatic number of emails and included in other retention campaigns.
4. Fraud detection system
A fraud detection system runs behind the scenes and analyzes thousands of data points for each transaction. Then, using machine learning it predicts likely fraudulent transactions, and can automatically block them and request a manual review.
5. Online banking system
An online banking platform where the customers have access to all of their banking services will likely have a multiple machine learning models helping them discover new products and predict their behaviors.
One example could be a recommender engine predicting products that the customers would be interested in and then customizing the website experience by showing only relevant products to the customer.
6. Autonomous cars
Even an autonomous car is a production system with self-driving machine learning software deployed into its operating system.
It uses machine learning in many ways, one of which is collision avoidance where machine learning scans the car surroundings and - if it detects any collision risk - it then initiates collision avoidance procedures such as braking and forced steering to another direction.
7. Staffing
The details of deploying machine learning models in production are out of the scope of this course, but you should know that doing so is a software building process and requires a different kind of people.
While prototype models are built by data scientists and machine learning engineers, the ML integration into production systems is done by software and data engineers as well as infrastructure owners. It's important to understand this as putting machine learning into production can be much more expensive, and will require resource planning upfront.
8. Launch, tracking and feedback
Finally, a little bit about launching machine learning in production.
First, remember Murphy's law - if something can go wrong, it will. Hence obsessive planning and preparation for the worst are good practice.
Therefore, the launch should be a small scale event, to a subset of customers.
Once the light launch is done, the performance should be tracked for a period of time to make sure the results are as expected, and consistent.
It's also important to track the system's performance, how it is affected by ML integration, stability and any changes in customer feedback.
Once it is confirmed that the model performs well and the system is not acting weird, it's time to scale it up a bit, and increase exposure to more customers.
Steps 3, 4, and 5 are repeated until the model is fully deployed into the system.
Now what's not covered is the iterative improvements of the model, deploying updated versions, and so on. Each new launch should follow a similar order of steps to make sure model improvements do not affect system performance or desired results. Remember - even the best performing prototype models can be non-actionable, so make sure model improvements do not sacrifice business outcomes.
9. Let's practice!
Fantastic! Let's check out some examples of production systems and deploying machine learning in them!