Designing Around Breakdowns, Not Clean Data

Operational attribution is rarely discussed first. It should be.

Operations are where attribution systems encounter reality early. Inventory is lost. Counts drift. Corrections accumulate. If an attribution system cannot tolerate those conditions, it will not survive long enough to be useful elsewhere.

Attribution should be designed around how work breaks down, not how data is supposed to be clean.

The problem attribution exposes

In one case, the goal was to attribute retail sales back to individual nursery shipments.

At a high level, the inputs existed. Shipment systems recorded what was sent from each nursery. Sales systems recorded what sold at each store. What did not exist was any meaningful connection between the two once product landed in the store.

Sales were visible at the store level. Shipments were visible at the nursery level. Basic operational questions were not answerable. Which nursery was responsible for which sale? Which shipment did it come from? How long did product sit in the store before selling? How much inventory was lost before it was ever sold?

Because nursery product is a live good, loss was constant and uneven. It was also largely invisible. Inventory systems continued to count units that no longer existed. Discrepancies accumulated throughout the year and were corrected in bulk at spaced intervals. Replenishment decisions were made without a reliable sense of timing or true counts.

This was not an analytics failure. It was a systems failure.

The real constraint

The limiting factor was not a lack of sophisticated modeling. It was the absence of a relationship between two systems that were assumed to be aligned.

Sales data and shipment data existed independently. Attribution required introducing connective tissue between them. Waiting for a perfect model would have meant waiting indefinitely.

The first requirement was not correctness. It was usability.

Starting imperfectly

The initial attribution logic was intentionally simple. Sales were associated with shipments using a crude heuristic. It was not accurate in every case. It was consistent. It was explainable. It was reliable.

That was enough to make the system operational.

Once the system existed, operational edge cases became visible. Different transaction types behaved differently. Sales, returns, culls, and adjustments required different treatment. Over time, the attribution logic evolved into a hybrid approach that reflected how inventory actually moved, was lost, and was corrected in practice.

None of that nuance was present at the beginning. It emerged only after the system was used. It came from iteration.

What iteration unlocked

Once sales could be associated with shipments, new questions became answerable.

Average days in store could be calculated. That metric alone enabled a practical operational rule: after a certain multiple of the average days in store, remaining inventory could be safely refreshed and replenished.

This was not the original objective. The initial goal was basic visibility. The secondary insight followed naturally once the data existed and was trusted. It proved far more valuable than expected.

Inventory planning improved. Replenishment timing improved. Efficiency improved. Not because the attribution model was perfect, but because it reflected reality closely enough to support action.

Where operational attribution actually comes from

Operational attribution does not succeed when it is designed top-down. It succeeds when it grows out of reconciliation. Loss, correction, and adjustment are not edge cases. They are the system.

Clean data is not the starting point. It is the outcome.

Attribution becomes useful only after it can survive how work actually breaks down.

Operational attribution is rarely discussed first. It should be.

Operations are where attribution systems encounter reality early. Inventory decays. Counts drift. Corrections accumulate. If an attribution system cannot tolerate those conditions, it will not survive long enough to be useful elsewhere.

Attribution should be designed around how work breaks down, not how data is supposed to be clean.

The problem attribution exposes

In one case, the goal was to attribute retail sales back to individual nursery shipments.

At a high level, the inputs existed. Shipment systems recorded what was sent from each nursery. Sales systems recorded what sold at each store. What did not exist was any meaningful connection between the two once product landed at the store.

We could see sales at the store. We could see shipments from the nurseries. Basic operational questions were not answerable. Which nursery is responsible for which sale? Which shipment did it come from? How long did product sit at the store before selling? How much inventory was lost before it was ever sold?

The product that comes from our nurseries a live good, loss was constant. It was also largely invisible. Inventory systems continued to count units that no longer existed. Discrepancies accumulated throughout the year and were corrected in bulk at spaced out intervals. Replenishment decisions were made without a reliable sense of timing or true counts.

This was not an analytics failure. It was a systems failure.

The real constraint

The limiting factor was not a lack of sophisticated modeling. It was the absence of a relationship between two systems that were assumed to be aligned.

Sales data and shipment data existed independently. Attribution required introducing connective tissue between them. Waiting for a perfect model would have meant waiting indefinitely.

The first requirement was not correctness. It was usability.

Starting imperfectly

The initial attribution logic was intentionally simple. Sales were associated with shipments using a crude heuristic. It was not accurate in every case. It was consistent. It was explainable. It was reliable.

That was enough to have a viable system.

Once the system existed, operational edge cases started to become visible. Different transaction types behaved differently. Sales, returns, culls, and adjustments required different treatment. Over time, the attribution logic evolved into a hybrid approach that reflected how inventory actually moved, degraded, and was corrected in practice.

None of that nuance was present at the beginning. It emerged only after the system was used. It came from iteration.

What iteration unlocked

Once sales could be associated with shipments, new questions became answerable.

Average days in store could be calculated. That metric alone enabled a practical operational rule: after a certain multiple of the average days in store, remaining inventory could refreshed and replenished.

This was not the original objective. The initial goal was basic visibility. The secondary insight followed naturally once the data existed and was trusted. The second became incredibly valueable.

Inventory planning improved. Replenishment timing improved. Efficiency improved. Not because the attribution model was perfect, but because it reflected reality closely enough to support action.

Where operational attribution actually comes from

Operational attribution does not succeed when it is designed top-down. It succeeds when it grows out of reconciliation. Loss, decay, and correction are not edge cases. They are the system.

Clean data is not the starting point. It is the outcome.

Attribution becomes useful only after it can survive how work actually breaks down.

Leave a Reply

Your email address will not be published. Required fields are marked *