When stock quietly drifts: how we built drift detection

Anyone working with an outsourced fulfiller knows it: stock numbers that slowly drift away from reality. We built drift detection to catch it. A case study.

W
WUB

This is the kind of problem you only really understand once you've lived through it.

The problem

You work with an outsourced fulfiller. The stock numbers in your own system come from their reports. It goes well for a while. A few weeks, a few months. And then it starts to drift.

A return booked incorrectly. Breakage during storage. A manual correction on a Saturday that doesn't propagate cleanly. A pallet accidentally placed against the wrong SKU. Each one in isolation: nothing, a rounding error. Added up over three months: a gap.

The pain

You discover it at the worst moment. A customer orders something your system says is "in stock" — and the fulfiller reports it's gone. Or the reverse: you're not advertising a product because you think you're sold out, while an entire shelf still sits there.

Now you have a dilemma. Do you correct based on your system? Trust the fulfiller? And what do you do next week when another discrepancy shows up?

You start doubting everyone.

What we built

We built drift detection into WeUniteBrands. It works like this: we keep our own stock history of every mutation we see — orders, returns, reshipments, manual corrections by brands themselves. On top of that, we periodically pull the actual stock levels from the fulfiller.

Then we compare. Per SKU. Every day.

When drift appears — a gap between what we "should have" and what the fulfiller reports — brands see it directly in their admin. With a concrete number: "SKU X is showing a variance of -7 units since last week." They can export the mutations from that window and bring them back to the fulfiller.

What we took from building it

First: the discrepancies are almost never large. One return, one correction. But they accumulate, and without detection they only become visible once the damage is already done.

Second: the solution is not "we trust the fulfiller blindly", nor "we do it ourselves". It's transparency on both sides. Both systems are now honest about their own picture, and where they disagree becomes a conversation worth having. Not a blame game.

Third: this feature reshaped how we think about our platform. Stock isn't "one number sitting somewhere". It's "the outcome of two data streams we continuously reconcile".

Who this rings true for

Anyone in e-commerce running outsourced fulfillment. If you've ever gotten an urgent Friday-afternoon message about stock that isn't there — this is the feature you wish you'd had sooner.

We have it now. Since it went live, not a single brand has been caught off guard on a Friday.

Share this article:

Ready to get started?

Discover how WeUniteBrands can help your brand grow with professional fulfillment.