Data & Analytics
Data transformation: write down the cleanup, once
Three systems, three spellings
The CRM calls them Acme Properties LLC. Accounting has ACME PROPERTIES. The scheduling tool says Acme Prop. Put the three exports side by side and a report counts three customers, three statuses and one job that was somehow won, paid and complete on different days.
Somebody always knows how to fix it, usually in a spreadsheet only they understand. Transformation takes what that person knows and makes it a set of rules with names, so the fix doesn't leave when they do.
Four kinds of rule
01
Normalize
“Is this the same value?”
Trim, case, units, date formats, phone numbers. “$1,850.00”, “1850” and “1,850” become one amount.
Watch for: rounding rules nobody agreed on.
02
Align identifiers
“Is this the same thing?”
Match the customer in the CRM to the one in accounting, by a shared ID where there is one and by agreed fields where there isn't.
Watch for: matching on name alone.
03
Translate statuses
“What does this state mean here?”
“Closed Won”, “PAID” and “complete” are three systems' words for different moments. The rule says which canonical status each one is.
Watch for: one source word that means two different things.
04
Derive values
“What do we calculate from it?”
Job duration from start and end, margin from price and cost, the month a job belongs to. Derived once, in one place.
Watch for: the same value derived differently in two reports.
Many statuses, three meanings
Is a part-paid invoice completed work or open work? That's a business decision, not a data one. Until someone makes it, the three records wait in plain view instead of being counted either way.
No invented defaults
Every value can be traced back
Because rules run on the preserved source data, any number can be walked back to the rows it came from and the rules it passed through. When a figure looks wrong, the trace says whether the source was wrong or a rule was.
Report
Revenue, March · 48,210
from model
jobs completed
via rule
amount in cents
from Accounting export
1 April · row 1,882
What transformation hands off
In
Out
Worth building when the cleanup repeats
Good fit
- Sources use different structures or words for the same things.
- The same cleanup happens by hand before every report.
- Records from several systems need to line up as one.
Not the right fit
- The business hasn't agreed what the fields mean or how records relate. Data modeling settles that first.
- The data comes from one system that already uses the shape you need.
Questions about data transformation
Is data transformation the same as ETL?
It's the T. ETL and ELT describe the order of extract, load and transform; transformation is the rules themselves. We usually load untouched data first and transform after, so rules can be fixed and re-run.
Who decides what the rules should be?
The business. We write the rules from how your team already interprets the data, then show the edge cases nobody had to decide before, like a part-paid invoice, and ask.
Can AI clean the data for us?
It can help with genuinely messy text, like reading a free-form job description into a service type. The output is still checked against the rules, and the rules themselves stay written and reviewable.
What happens when a source adds a new status?
The rules don't recognize it, so the records are held as an exception and the owner is told. Someone decides what it means, the rule is added, and the held records run through.