The situation
Following a payment-platform migration, a seven-figure block of revenue was arriving in the warehouse with missing category attributes. Reporting that depended on those attributes was silently wrong, and the obvious explanation — that the migration had broken something — turned out to be incomplete.
What I did
- Reconciled the revenue figures source against model against report, and named the exact point where the three diverged.
- Established that the migration had not caused the gap but exposed a longstanding gap in the data model that had been masked by the previous payment platform.
- Rejected the quiet fix. Bucketing the unattributed revenue into a null category would have made the report look correct while hiding a real modelling problem.
- Designed an honest labelling scheme instead, so the unattributed revenue was visible and traceable rather than absorbed.
- Verified the fix in a development environment against production until the outputs were byte-identical, then confirmed the corrected total matched the expected figure exactly.
What it means for you
A migration usually surfaces a pre-existing modelling problem rather than creating a new one. Reconciling source, model and report until the divergence point is provable is what separates a real fix from a report that has been made to look right.
Context
These are from eight years owning the data warehouse and reporting function of a consumer marketplace platform, in-house rather than as an outside consultant. The employer and the internal system names are withheld; the numbers are the real ones.