Skip to content

Machine learning development

We develop a machine learning model around a single decision in your process and build in monitoring, as we did for Rijkswaterstaat.

We built a single monitoring package for all of Rijkswaterstaat’s machine learning models

Rijkswaterstaat has several AI models in production. Manually monitoring for data drift and prediction drift does not scale, so we developed a generic package for drift and outlier detection. “DSL came up with an inventive solution that we can put to good use.” Nanine Overgaauw, Rijkswaterstaat - SRE Data Science

Read the case study

Which decision can a model prepare for us?

An employee checks every invoice, even though most are correct. A model learns from previous invoices what the work delivered should cost and presents only the discrepancies. The employee still makes the decision, but starts with the exceptions.

Book a meeting
Medewerker aan haar bureau leest een document na, met een laptop en paperassen ernaast

We deliver a model that works in day-to-day operations, with a designated owner

Discuss your challenge

Built around a single decision

We start with the decision and the cost of getting it wrong. For Fokker Services Group, a model predicts the expected invoice amount based on the work delivered.

Tested against a simple rule

Every model must outperform a simple baseline, such as the average or the rule you currently use. If it doesn’t, we stop.

Results where people work

The prediction appears in the system or dashboard staff already use. At LUMC, the results are available in an easy-to-use application.

Maintained after launch

We monitor inputs and outcomes and agree when to retrain the model. At Waternet, we maintain the workflow that takes models into production.

A test model using your historical data determines whether we take it further

  1. Decision and type of error

    Which decision will improve, who will use the result, and which is worse: a missed case or a false alarm?

  2. Test model using historical data

    We train the model on older data, test it on a later period and compare it with a simple baseline.

  3. Integrate and hand over

    We integrate the model, with monitoring, an owner and agreements on retraining. After that, your team manages it, or we do.

Is machine learning right for our problem?

Talk it through with us

A good fit when

The same decision comes up often, past outcomes have been recorded, and a fixed rule falls short. Think of checking invoices, categorising reports or detecting anomalies in sensor data.

Not a good fit when

The decision comes up only a few times a year, the outcomes are not recorded anywhere, or a simple rule already works well. In that case, a rule in the existing system or a dashboard makes more sense.

What determines the scope

How complete and clean the data is, whether outcomes have already been recorded, how many sources we connect, whether the model runs in real time or in batches, and who manages it.

Do we have enough data?

That depends less on the amount of data than on whether outcomes have been recorded and whether historical data reflects the situation today. A trial model using your own data makes this clear before anything is integrated.

A fixed rule, an existing AI service or your own model?

A fixed rule

Choose this if the decision can be captured in a few conditions and rarely changes. A rule in your existing system is easier to explain and manage.

An existing AI service

Choose this if the task is the same for every organisation, such as reading fields from invoices. Trained models are available for this; see document processing with AI.

Your own machine learning model

Choose this if the decision depends on your organisation’s own history, such as orders, measurements or customer behaviour. Our advice: start with one decision and a simple baseline to compare against.

We brought machine learning to rail, water and healthcare

Data Science Lab has worked with data and AI since 2016. Based in Amsterdam, we are a Databricks and Microsoft partner. We’ve worked on machine learning projects for ProRail, Waternet, GVB and LUMC, among others.

Book an introductory meeting

We discuss which error matters most in our first conversation

Stef Stoelwinder

Stef Stoelwinder

Business Development

Stef is your first point of contact. In our first conversation, in Amsterdam or online, we discuss which decision needs improving and who will work with the outcome.

What should our model be able to predict or recognise?

Describe the decision and the data you have. We’ll reply by email or arrange an initial conversation.

Enter a valid email address.

Let us know how we can help you.

Frequently asked questions

Machine learning is a form of AI in which a model learns patterns from examples in data, rather than from rules written by a person. It uses what it has learnt to predict or recognise something in new cases.

In supervised learning, the model learns from examples with known outcomes: a category (classification) or a number (regression). In unsupervised learning, there is no known outcome, and the model finds groups or anomalies itself. Machine learning is one of the AI applications we build.

Machine learning is a family of techniques, and we have a separate page for each type. You can count or inspect objects in images with computer vision; for GVB, it is used to count passengers in footage from security cameras. Categorising or searching text falls under NLP and text analysis.

Predicting future demand or stock levels is called forecasting. With predictive maintenance, you use asset data to predict when maintenance is needed. For planning optimisation, data science and optimisation help create a workable schedule. Finding anomalies, such as an incorrect invoice, is called anomaly detection.

By comparing it with a simple baseline, such as always predicting the most common outcome or using the rule you currently follow. If the model does not clearly outperform that baseline, it is not worth using. For time-ordered data, we train on the past and test on a later period; otherwise, the model learns from the future.

When an outcome is rare, the proportion of correct answers tells you little. That is why we measure precision — the proportion of alerts that are justified — and recall — the proportion of actual cases the model finds. Which matters more depends on the cost to you of a missed case or a false alarm.

Data leakage means the model uses information during training that would not yet be available when making a prediction. It then scores too well in tests and performs poorly in production. One example is a field that is only filled in after an invoice has been rejected.

That is why we split the data into training and test sets before processing it, and check when each column becomes available. The same preprocessing runs in production as during training; otherwise, the model receives different input from what it learnt on.

A model learns from historical data. When a new product, a different way of working or a different customer group comes along, the input changes and predictions become less accurate. This is called drift. That is why we monitor inputs and predictions, and define when the model should be retrained.

Before going live, also establish who owns the model, who is alerted to anomalies and who approves a new version. You can read about the technical side under MLOps. Your team can handle management, or we can take it on through management and continuous improvement.

We build where your data already resides. On Databricks, you can track experiments and models with MLflow and manage model versions in Unity Catalog. In Microsoft Fabric, you can track training runs with its built-in MLflow and write predictions to OneLake, where Power BI can read them. With LUMC, we work on on-premises, sovereign infrastructure.

This keeps your options open: MLflow is open source, and the code and models remain in your own version control and environment. As a Databricks and Microsoft partner, we set up the data and AI platform so your team can take it over.

If the model processes personal data, the GDPR applies. According to the Autoriteit Persoonsgegevens (AP), a data protection impact assessment (DPIA) is mandatory when you use algorithmic systems involving personal data, even in a pilot. People have a right to human review: you cannot make a decision that significantly affects them solely through automated processing. For public authorities, the AP points to the Algoritmeregister.

The EU AI Act classifies software that sorts CVs and systems that calculate credit scores, among others, as high-risk. According to the European Commission, strict obligations for these systems will apply from 2 December 2027. Your legal or compliance team must assess whether your model falls into this category. We help prepare the inventory and risk classification; read more under AI Act.

When a fixed rule already makes the decision well enough; when the outcome is not recorded anywhere, leaving the model nothing to learn from; or when the decision occurs so rarely that the cost of building and managing a model outweighs its benefits. In those cases, a rule in the existing system or a good dashboard makes more sense.

A model will not fix a messy data source either; start with the data foundation instead. If you do not know whether the problem lies in the data, processes or organisation, start with a maturity assessment. If a simpler solution fits, we will say so.

Want to compare companies first? See our overview of the best machine learning companies.