Data engineering consultancy in Utrecht
We build pipelines that give models and reports the same data, and measure what changes. For Rijkswaterstaat, we developed a generic monitoring package.
We developed a single generic monitoring package for all the AI models Rijkswaterstaat has in production
Rijkswaterstaat put several AI models into production. Manual monitoring for data drift and prediction drift doesn’t scale, so we developed a package for detecting drift and outliers using Python, Alibi Detect and Pydantic, among other tools. “DSL came up with an inventive solution that we can put to good use.” Nanine Overgaauw, Rijkswaterstaat - SRE Data Science
Does our model notice when a source system is replaced?
At large organisations in and around Utrecht, asset registers, measurement networks, case management systems and planning systems all feed reports and models. If a column or unit changes, the model simply keeps running. We build pipelines that block such changes and make them visible.
Training, production and checks use the same data, from pipelines you can inspect
Ingestion with schema validation
Each source is ingested unchanged first. The pipeline then checks columns, types and rules. For Fokker Services Group, data quality checks are built into the data platform.
Model inputs and outputs documented
You document what a model receives and returns. This provides the basis for monitoring, such as the package for drift and outlier detection for Rijkswaterstaat.
Releases through the DTAP stages
Pipelines and infrastructure move from development to production as code. For SNG, we automated the release process through the DTAP stages, using Terraform among other tools.
Many sources, one data model
For Vivara, we developed a data platform that retrieves data daily from sources including SAP, Magento and SharePoint, with one data model for all departments.
From a running model, we trace the data back to every source
-
One model, all its sources
We trace one model back to every table and system that feeds it, and identify who owns each one.
-
Build ingestion and checks
Pipelines with schema checks and data quality rules, plus a table of the model’s inputs and outputs.
-
Reuse it for the next one
The next model or report uses the same data ingestion. Your team then manages it, or we do.
Do we need a data engineering consultancy now, or should we start elsewhere?
A good fit if
Several models or reports rely on data from many systems, ingestion has been built separately for each project, and no one notices when a source changes. You’re based in or near Utrecht and want a team that can visit you.
Not a good fit if
You’re looking for a data engineer to work temporarily alongside your own team: secondment is a better fit. If nothing is running on the data yet, start by asking which decision needs to improve.
What determines the scope
The number of sources and models, whether a platform is already in place, how often the data is refreshed, the security requirements and how much of the management your own team will handle.
Will we be tied to your choice?
We build on Databricks, Microsoft Fabric or the environment you already have, choosing what fits your existing IT landscape. We agree on documentation and management arrangements in advance.
Where should you catch a data error: at the source, in the pipeline or at the model?
At the source
Choose this if one system causes the error and its administrator can fix it, for example by making a field mandatory or setting a standard unit of measurement in the asset register.
In the pipeline
Choose this if multiple models and reports use the same source. A schema check or data quality rule then catches the error once, for everyone.
At the model
Choose this if the data is technically correct but real-world conditions are changing. Our advice: measure drift in the model inputs alongside pipeline checks, not instead of them.
We build data platforms and the pipelines that underpin them as a Databricks and Microsoft partner
Data Science Lab has worked in data and AI since 2016, based in Amsterdam. We have built data platforms for Fokker Services Group and Vivara, among others, and share knowledge in our lab and at Techdays.

In our first conversation, we’ll decide together which model or report to start with
Stef Stoelwinder
Business DevelopmentStef is your first point of contact. In our first conversation, we’ll discuss your sources and models, at your offices in Utrecht, in Amsterdam or online.
E-mail info@datasciencelab.nl
Phone +31 (0)20 3636 724
Which systems do your models and reports currently draw on?
Tell us which systems, models and platform you use. We’ll reply by email or arrange an initial conversation.
Message sent
Thanks for your message. We’ll be in touch as soon as possible.
Frequently asked questions
It brings data from all your systems together reliably in one place, using pipelines and a platform that it designs, builds and maintains. Models in production need more: the same data for training and production, checks when data is ingested, and a defined model input. The models themselves fall under data science. Read more about data engineering.
If you would rather have a data engineer from Utrecht or the surrounding area on your own team, you can hire a data engineer. They remain employed by us.
Because the model relies on what it saw during training. If a source system is replaced, a unit changes from metres to centimetres, or a column takes on a different meaning, the model will still produce results, but they will be less accurate. No one gets an error message.
So put checks at the point of ingestion. Delta tables on Databricks enforce the schema when data is written: columns the table does not recognise are rejected, and data types must match. Schema changes then become deliberate. You can validate data arriving as a file or through an API in Python with Pydantic.
By storing the input and output of every prediction alongside the training data. On Databricks, inference tables do this: they record the requests and responses of a model serving endpoint in a Delta table in Unity Catalog. You can then use data profiling to track performance and data drift.
Rijkswaterstaat has several AI models in production. For these, we developed a generic package for drift and outlier detection, using tools including Alibi Detect, a Python library for outlier and drift detection. Read the Rijkswaterstaat case study or find out more about MLOps.
With lineage: a record of which queries and files populate a table, which jobs and notebooks modify it, and which dashboards and model versions use it. Unity Catalog records this automatically for queries on Databricks, down to column level. If the person responsible for a source wants to remove a column, you can see in advance who will be affected.
Without a catalogue like this, you can keep a list for each pipeline, but it quickly becomes outdated. Read more about setting up Unity Catalog.
For high-risk AI systems, Article 10 requires training, validation and test data to be subject to appropriate data governance and management practices. The datasets must be relevant, sufficiently representative, and as free of errors and complete as possible for their intended purpose. Pipelines that record where data comes from help you demonstrate this.
Under the AI Omnibus, the requirements for Annex III do not apply until 2 December 2027. We can help you take stock; your legal counsel or compliance department decides whether your model is high-risk. Read more about the AI Act.
That depends on your existing IT landscape. We build on Databricks and Microsoft Fabric. For Fokker Services Group, we are building a data platform using Databricks, Azure and dbt, among other tools, modelled on the medallion architecture. To see how bronze, silver and gold form a lakehouse together, read about building a data lakehouse.
If you mainly need to bring together structured sources and exports, and no models run on the platform, a data warehouse is often enough.
If a single report runs on a single system, or if the problem is not technical but that no one owns a data source. In that case, start by agreeing on data governance, not by building a pipeline. If you mainly need more people on your own team, bringing in a specialist makes more sense than starting a project.
If you would rather compare a few consultancies first, use the comparison of data engineering consultancies. If you are based in South Holland, read about our data engineering consultancy in Rotterdam. If you first need to decide which model to build and who will manage it, see AI consultant Utrecht.
How do you continue to build the data foundation that supports your models?
- Data engineeringOur approach to the technical foundation for BI and AI: designing a new platform or managing an existing environment.
- Hire a data engineerIf you want to build the data ingestion process yourself but temporarily need one of our team to work alongside your engineers.
- Data engineering consultancy in RotterdamFor organisations in Zuid-Holland that want to bring sensor data and ERP together on one platform.