Log inBook a Demo
BuildMidData / MLAuto-graded

Repair an ETL pipeline crashing on dirty data

Keeping a data-processing job running on inconsistent real-world input, instead of crashing on it, is the measure.Wednesday morning. The finance team's monthly customer-revenue report failed silently overnight — wrong totals, two customers missing entirely, and the CFO has noticed. You inherit etl.py. It runs without crashing, which is the problem: the data going through it is dirty in several distinct ways and the pipeline mishandles each one quietly. Repair it so the numbers are right.
25 min
python, pandas

You're done when

  • The pipeline runs end to end without error and writes its output.
  • Customer identifiers with stray whitespace are normalised, so the same customer is not split in two.
  • Prices carrying currency symbols are parsed as numbers rather than dropped or stringified.
  • Orders referencing a customer that does not exist are dropped rather than silently corrupting totals.
  • Average order value is computed correctly per customer.
  • No customer disappears from the report who should be in it.

What it measures

ETL and data pipelinesMaking a pipeline correct on dirty input, where running without an exception is not evidence of success.
PythonCleaning and joining tabular data without losing rows to type coercion or key mismatches.
Distrust of silent successChecking output against expectations instead of treating a zero exit code as a pass.

Your environment

Terminal + editorA full shell in the browser
Claude CodePre-authenticated, no key setup
Isolated microVMYours alone, wiped afterwards

Start this lab

25 min
Start labYou'll sign in to Anthropos to start. The lab opens in a private cloud workspace with Claude Code ready to use.
AI Labs is part of Anthropos Workforce. Not on your plan yet? Book a demo