Back office ops · Production

GoCardless adopts DVC for ML data versioning and pipeline management

The problem

GoCardless had no automated data version control for their ML processes, which ran as long-running Python scripts, making model provenance tracking and reproducibility of ML artefacts difficult.

First attempt

DVC's pipelining had critical gaps: no parallel stage execution, atomic output handling that wipes full datasets on re-run, a single lock file preventing multiple execution environments, and insufficient expressiveness for dynamic YAML-based pipeline definitions, forcing workarounds like dummy dependency files.

Workflow diagram · grounded in source
1
Git-synced data versioning
trigger
“We've paired it with pre-commit, a tool to manage Git hooks, so that the DVC workflow happens opaquely in sync with the typical Git workflow”
2
Artefact caching to GCS
integration
“DVC caches our datasets, models and everything in between in a GCS bucket”
3
ML pipeline stage execution
ai_action
“to benefit from DVC's Directed acyclic-graph (DAG) support and caching we broke our ML processes up into stages with explicit inputs, outputs and dependencies”
4
Model metrics tracking
output
“Making DVC aware of model metrics automates tracking of model performance alongside code and data versioning. Now, we're able to dvc metrics diff just as easily as we git diff”
5
Notebook peer review
validation
“Reviewers see the notebook as Python scripts without output cells, where we might inadvertently leak sensitive data, and we version the notebook in its entirety using DVC”
Reported outcome

GoCardless achieved intuitive Git-like data versioning, automated model metrics tracking alongside code, and safe Jupyter notebook peer review via DVC; they recommend DVC for data versioning but plan to migrate away from its pipelining feature.

Reported metrics
onboarding experience for new Data Scientistsimproves the onboarding experience for new Data Scientists
Model metrics trackingautomates tracking of model performance
Reported stack
DVCpre-commitJupytextGCSGitHub
Source
https://mlops.community/blog/experience-report-data-version-control-dvc-for-machine-learning-projects
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

GoCardless achieved intuitive Git-like data versioning, automated model metrics tracking alongside code, and safe Jupyter notebook peer review via DVC; they recommend DVC for data versioning but plan to migrate away f…

What tools did this team use?

DVC, pre-commit, Jupytext, GCS, GitHub.

What results were reported?

onboarding experience for new Data Scientists: improves the onboarding experience for new Data Scientists; Model metrics tracking: automates tracking of model performance (source-reported, not independently verified).

What failed first in this deployment?

DVC's pipelining had critical gaps: no parallel stage execution, atomic output handling that wipes full datasets on re-run, a single lock file preventing multiple execution environments, and insufficient expressivenes…

How is this back office ops AI workflow structured?

Git-synced data versioning → Artefact caching to GCS → ML pipeline stage execution → Model metrics tracking → Notebook peer review.