← BACK TO THE BLOG

MLOps: what happens the day after the model works

Laptop screen showing colour-highlighted source code in an editor, with an office window reflected in the glass

MLOps is the set of practices that keep a machine learning model working six months after someone demoed it in a slide deck. It is not a tool you buy: it is the boring part — versioning, deployment, monitoring, retraining and accountability — that separates a nice experiment from a system the business depends on.

The scene repeats itself. A vendor delivers a forecasting model with good accuracy on historical data. Management signs it off. Three months later nobody can say whether it is still right, who checks it, what data it was trained on, or what happens if tomorrow it returns nonsense. The model did not break suddenly. It was left alone.

This guide is for IT leads, management and data teams who already have a model — or are about to commission one — and want to know what has to be built around it so it does not turn into technical debt. If you are earlier than that, start with machine learning for business.

What is MLOps and how is it different from DevOps?

DevOps solves how to ship code to production repeatably: you control the code, test it, deploy it, observe it. MLOps adds two things classic software does not have:

Hence the practical definition: MLOps is DevOps plus data traceability plus surveillance of prediction quality. Everything else is tooling.

One detail that saves arguments: MLOps does not require an expensive platform. A model that runs once a day over 40,000 rows can be operated with a git repository, a container, a scheduler and a results table. What you cannot do is operate it without knowing which version is running.

What changes when the model leaves the demo?

On the data scientist's laptop the data arrives clean, in one file, all at once, with no deadline. In production all four of those conditions change.

| In the demo | In production | |---|---| | A hand-prepared CSV | Data from the ERP, with new fields and unexpected nulls | | Training and prediction in one place | Monthly training, hourly prediction, different code on each side | | Error measured once | Error has to be measured weekly against what actually happened | | If it fails, you rerun it | If it fails, someone in operations sees a gap on screen and has no one to call | | Nobody asks why | A client or an auditor asks why that decision was made |

The most expensive difference is the third row. Measuring error in production forces you to store every prediction with its date and, when the real outcome arrives, to match them up. If that was not designed in from the start, reconstructing it later is weeks of work.

If you cannot answer "how wrong was the model last month?" with a single query, you do not have a model in production. You have a script that runs.

The second silent change is training-serving skew: the data transformation gets written twice, in two places, for training and for serving, and the two drift apart. It is the number one cause of models that perform worse in the real world than in testing. There is only one way to avoid it: the same preparation code serves both training and prediction.

Which parts of MLOps do you actually need?

You do not need the full platform. You need these five questions to have a written answer.

| Part | The question it answers | Minimum viable | |---|---|---| | Model and data versioning | Which version is running and what was it trained on? | A register with: version id, date, training data range, metrics | | Reproducibility | Can I retrain this identically a year from now? | Code in git + pinned dependencies + dataset snapshot | | Deploy and rollback | How do I publish a new version and revert it in 10 minutes? | Two versions coexisting and a switch | | Monitoring | Is the prediction degrading? | Weekly error metric + drift alert on the inputs | | Governance | Who approves a retrain and who answers for a failure? | A name against each item, written down |

If you have to start with one, start with monitoring: it turns an invisible problem into a problem with a date on it. The rest can be built on top.

None of this works if the input data is garbage. MLOps does not fix an ERP with duplicated customer records; it exposes the problem faster. Before investing here, look at data quality.

How do you spot a model that is degrading?

A model never warns you. It keeps returning numbers with complete confidence while the world it learned stops existing. There are three signals and all three are worth watching, because they arrive at different moments.

1. Input drift (arrives first). The distribution of what comes in changes: a new product that did not exist during training, 30% of rows carrying an unknown sales channel, average order value up 40% because prices went up. You detect it by comparing each variable's distribution over the last week against the training set. It does not prove the model is failing, but it is the earliest warning you will get.

2. Prediction drift (arrives next). The spread of what the model predicts shifts. A lead scoring model that used to flag 8% of leads as hot starts flagging 22%. It may be real or the model may be lost. It is cheap to watch because you do not need the actual outcome.

3. Performance drop (arrives late, and it is the one that truly matters). Real error goes up. You can only measure it once the outcome lands: for demand forecasting, at month close; for a churn model, three or six months later. That is exactly why the first two signals are not optional: they are all you have while you wait.

A sensible setup for a mid-sized company: an automated weekly report with input and prediction distributions, and a monthly report with real error against what happened. Two recipients: whoever maintains the model and whoever uses the output. If only the technical person reads it, degradation gets discussed too late.

Set the threshold before you need it. "If average error exceeds 18% two months running, we retrain and tell operations." Written down. Without a written threshold, every month is decided on gut feel, and gut feel always says it will hold one more month.

How often should you retrain a model?

The honest answer: it depends how fast your business changes, and you find out by measuring, not by deciding in a meeting. Three patterns cover almost every case:

And an unpopular warning: retraining does not always improve things. If the new data is contaminated — because the model itself influenced it, because it was an atypical month, because the way a field is recorded changed — the retrained model can be worse. So every retrain goes through the same gate: evaluate against a stable validation set, compare against the version in production, and only deploy if it wins. If it does not win, the old one stays and you investigate.

The pattern that works best is boring: new model trained, run in shadow mode for a week or two (it predicts, nobody acts on it), compared against the one in production, then swapped in with immediate rollback available.

Who answers when the model fails?

This question sinks more projects than any technical detail. A model in production carries at least four distinct responsibilities, and they are almost never assigned:

Write it as a four-row table with one name per row. Not a department: a name. And add a degradation procedure: if the model is unavailable or its numbers are not credible, what happens meanwhile? The answer is almost always "we go back to the manual rule we used before", and that needs to be written down and tested, not improvised at eight on a Monday morning.

If the vendor handing you the model does not also hand you those four rows, they handed you half a project. It is the same logic behind choosing an AI consultancy: whoever builds it should answer for what happens afterwards.

What does it cost to keep a model alive?

Nobody budgets for this, and it is the crack the overspend comes through. A reasonable field rule: annual maintenance of a model in production runs between 15% and 30% of what it cost to build, spread across three places:

From which comes the uncomfortable, useful question: if the model delivers less value per year than it costs to maintain, the right move is to switch it off. A model switched off is not a failure; three zombie models nobody looks at that still feed reports definitely are. To put numbers on that, measuring AI ROI comes first.

Frequently asked questions

Is MLOps the same as having a data scientist?

No. A data scientist builds the model; MLOps is what lets you operate it when that person is on holiday or no longer works with you. Many projects fail precisely because all the knowledge about the model lives in one head and one unversioned notebook.

Do I need an MLOps platform to get started?

Not for your first or second model. Git, containers, a task scheduler and a table to store predictions and metrics are enough to operate a model with proper guarantees. Platforms pay off once you have several models, several teams and need centralised governance.

How often should a production model be reviewed?

At minimum a monthly metrics review and a deeper quarterly review that asks whether the use case still makes sense. For models touching daily decisions or money, automated surveillance should be weekly.

Does the same apply to language models?

The framework applies and the metrics change. There is no clean numeric error, so you evaluate against a fixed set of test cases plus sampled human review. What does not change is the core: version what is in production, measure on a schedule, and have someone accountable.

Where to start

If you already have a model running, the first step is not building a platform: it is writing answers to five questions — which version runs, what data trained it, how its error is measured, when it gets retrained, and who answers for it. The blanks are exactly your work plan.

At adask we build this layer on top of what the company already has, without swapping the stack for the sake of it, and we leave in writing who does what. If you want to know the state of what you already have in production, ask for the audit; if you would rather talk it through, let's talk.

Shall we apply it to your case?

The 360° AI Audit turns these ideas into a concrete plan for your company: three weeks, fixed price and the full picture of your AI before spending a euro.

See the 360° Audit→ Let's talk↗