Build a business-event fact with auditable duplicate handling
Transaction feeds overlap, and source deliveries may be counted as separate business events.
- Transformation
Larger outcome
38 RecipesRecipes for building analytical models with explicit grain, populations, relationships, history, operational time and business rules.
Transaction feeds overlap, and source deliveries may be counted as separate business events.
A new percentage, rate or average needs a defensible eligible population and missing-value policy.
Revenue or productivity must be reported by employee, asset or team, but responsibility for each event is unclear.
Customer, asset or vendor attributes change, but past events need a defensible historical classification.
A backdated correction must change today's reading of the past, yet a report issued earlier has to stay reproducible as it was published.
Waiting, idle, available or busy time must be measured by site or zone and hour from operational event histories.
Product analytics numbers cannot be reproduced outside the vendor's screen, and nobody can say why two conversion figures differ.
A fleet dashboard labels observed vehicle occupancy as utilisation without an authoritative available-time denominator.
A TMS dashboard reports on-time performance by lane, but nobody can inspect how it is calculated or reproduce its figure.
A fleet dashboard reports revenue per shift but cannot establish whether a shift covers its applicable costs.
Historical fees or surcharges change when a current rate is applied to past events.
An existing dbt change builds successfully but reviewers still need evidence that its business answers remain valid.
Marketing segment lists come from a spreadsheet or BI export nobody can reproduce, and the same customer lands in different segments depending on who pulled the list.
The payback conversation uses a customer value from a spreadsheet nobody can reproduce, and it counts order revenue only, with no refunds and no cost of serving the orders.
Marketing, finance and product each quote a different churn rate because each defines an active and a lost customer differently.
A model scores well in training but worse in production because training rows used facts, corrections or labels a real prediction could not have seen.
A customer who opted out in one system still gets messages from another, because each source says something different and whichever job ran last wins.
Marketing and Sales each have a spreadsheet crediting their channel with the same revenue, and together they claim more than was booked.
A transaction-monitoring model is fed hand-built features nobody can reproduce, so two runs on the same data disagree.
Two reports put the same day in different weeks, months, quarters or fiscal periods because each mart builds its own date logic.
Finance adds amounts held in several currencies as if they were one, or restates old transactions at today's rate, and the total changes every time someone reruns it.
Planners cannot tell which items are about to run out because sell-through and stock-outs live in spreadsheets, and each one counts a day with no stock differently.
Reserving analysts rebuild loss triangles by hand in spreadsheets, and a late payment or reserve change pushes back into cells that were already reported.
The quality team rebuilds a readmission rate from a spreadsheet each quarter, and nobody can say who was left out of the rate or why.
The revenue cycle team matches payer remittances to billed claims by hand, and nobody can say, payer by payer, how much of what was billed was paid, adjusted, denied or is still open.
Credit risk reads delinquency off a servicer status field that each system refreshes on its own day, so bucket counts and roll rates differ from report to report.
Trade marketing reports promotion results with whatever comparison each analyst chose, and nobody can say what "without the promotion" meant for a given event.
Revenue assurance compares metered usage with billed usage in a spreadsheet each month, and nobody can say which differences are real and which are timing, estimates or a meter swap.
Monthly subscriber usage differs by who ran it, because nobody can say which call-detail batches had landed or whether each arrived complete.
Clinical operations rebuilds enrollment and site performance in a spreadsheet each month, and nobody can say who was left out of the enrolled count or why a site looks slow.
Finance, RevOps and the board each quote a different net revenue retention because each turns subscriptions into monthly recurring revenue its own way.
Plant OEE comes from a hand-built spreadsheet and nobody can say whether stops, slow running or scrap cost a line its points.
Occupancy, ADR and RevPAR differ between reports because each one counts stays, comps, out-of-order rooms and cancellations its own way.
Grants accountants cannot say per award how much is authorized, obligated, spent and drawn, and each report gives a different answer.
The warehouse bill keeps growing and nobody can say which models or jobs are behind it.
A required change to a published relation's grain, column meaning or shape cannot keep the old interface.
Gross sales minus original item cost overstates order margin because refunds and returns arrive after the order.
Accounts payable is asked to release payment and cannot say how much of an invoice is covered by the goods actually received.