Back to Blog
datacleanupreliabilityinventoryengineering

Append-Only Data Cleanup: When a Counter Only Goes Up (Simply Explained)

A plain-language guide to append only data cleanup. No jargon, no tech speak, just what it means for your business.

By Mike Hodgen

Want the full technical deep dive? Read the detailed version

The Warning Light That Stopped Meaning Anything

I run a fashion brand out of San Diego. Handmade goods. Like any business that holds inventory, I need to know when my physical stock and my computer's records disagree.

So I have a little warning system. When a box gets miscounted, or a return gets logged twice, or a unit walks off a shelf, a red badge pops up on my admin screen. It tells me something needs a look.

One day that badge read 4,414.

It was supposed to be a quick alert. A few items, flagged, fixed, gone by tomorrow. Instead it had quietly become a permanent fixture. The kind of thing you stop seeing. Nobody clicked it. Nobody believed it.

That number told me exactly as much as 4,400 would have. Or 5,000. Which is to say, nothing.

Why a Warning Light That Always Says the Same Thing Is Useless

Here's the part that bugs me. A red light you've trained yourself to ignore is worse than no light at all.

No light means you go check things by hand, because you know you're flying blind. A stuck light gives you false comfort. You think you're being warned. You're really just being numbed.

And somewhere in those 4,414 alerts, there might be three or four that are real. Products where I genuinely have fewer units than my system thinks. Real money slipping out a real door. But they're buried under 4,400 that mean nothing.

A team that's learned to ignore the badge will keep ignoring it when it finally matters. You've trained your own people to treat your most important warning like wallpaper.

So I sat down to fix it. Not to clear the number. To make the number mean something again.

How a Warning System Quietly Broke

Think of my inventory system like a hospital with a "patients admitted" board. Every time something got flagged, a name went up on the board.

The problem? Nobody ever wrote the part that checks patients out. There was a spot for it. It just never got filled in. Names went up and never came down.

That's the whole bug in one sentence. The system knew how to record a problem. It never learned to record a problem being solved.

On top of that, months earlier, one bad run had dumped thousands of flags onto the board all at once. Combine the two. A big pile that never gets cleared, plus no way to ever clear anything. The number had exactly one direction it could go. Up.

The Fix: Stop the Bleeding First, Then Clean Up

Here's a trap I see all the time. Somebody clears the big scary number, feels good about it, and walks away. Two months later it's back at 4,000. And now you trust it even less.

That's resetting the gauge while the pipe is still leaking. So I did it in the right order.

First, I fixed the plumbing. I taught the system to check patients out. Now, when a product's physical count and digital count line up again (which happens naturally as stock moves and gets recounted), the matching alert clears itself automatically.

This is the part I care about most. It means the problem cannot come back. No new pile builds up, because the system finally records both halves of the story. Problem found, and problem solved.

Then I cleaned up the old mess. I still had 4,400-plus old flags that would never clear on their own, because they referred to issues settled long ago. So I wrote a one-time cleanup tool.

I built it with three modes, because I never run anything against live business data without them.

  • Preview: shows me exactly what it's about to change, without changing a thing. I read it line by line first.
  • Go: makes the actual change.
  • Undo: reverses it with one command if I don't like the result. No restoring from backups, no panic.

If a cleanup tool can't show you what it'll do before it does it, and can't undo it after, it's not a tool. It's a gamble.

The Safety Check That Proves Nothing Got Broken

Here's the most important piece. The cleanup never touched my actual inventory counts. It only changed the little "resolved" tag on each alert. Like sorting your mail without opening any envelopes.

But saying that isn't enough. I had to prove it.

So the tool added up my total stock across every product before it ran, and again after it ran. And it refused to make any change unless those two totals matched exactly. Not roughly. Exactly.

If even one unit of stock had moved, the math wouldn't line up, and the tool would stop and undo itself automatically.

That turns "trust me, it only changes labels" into "the math proves it only changed labels." That's the difference between a cleanup you hope was safe and one that can demonstrate it was.

Keeping the Few Problems That Were Real

Not every alert was junk. This is where a lazy cleanup goes badly wrong.

A handful of those flags were real. Products genuinely out of sync, right now, in a way that costs me money. If I'd just wiped every unresolved alert, I'd have erased the four problems I actually needed to see, along with the 4,400 I didn't.

So the cleanup was careful. It only cleared flags where the counts now agreed. The ones still in disagreement, it left alone. Those need a human to walk over, count the shelf, and fix the number for real.

The result? The badge dropped from 4,414 to 4.

Four real problems. Specific. Worth my attention. Instead of 4,414 that meant nothing.

The goal was never zero. Zero would mean either having no problems ever (impossible) or lying about the ones I have. The goal was a number I can trust. A badge that says 4 and is right beats a badge that says 0 and lies, every single time. When it ticks to 5 next week, I'll actually go look. That's the whole point of having it.

What This Has to Do With Your Business

This was one warning light in one system in one brand. But here's why it should matter to you.

Most of the software running your business is full of these quiet traps. Counters that only go up. Alerts nobody trusts anymore. Cleanup scripts that change more than they admit. Systems that record problems and never record solutions.

Nobody built those traps on purpose. They pile up from moving fast and only writing the first half of the job. Until one day a number reads 4,414 and you realize you stopped believing your own dashboards months ago.

When I build a fix, I build it so it can prove it was safe. That's not extra polish. That's the bar.

Ready to bring AI leadership into your company?

I work with a small number of companies at a time. If you're serious about AI, apply to work together and I'll review your application personally.

Apply to Work Together

Get AI insights for business leaders

Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.

Ready to automate your growth?

Book a free 30-minute strategy call with Hodgen.AI.

Book a Strategy Call