All writing

What it costs

The dashboard nobody opened, and the pipeline behind it

Unused reports are not a reporting problem. They are the visible end of a chain of models, tests and jobs that still run every night.

1 minute read

An unopened dashboard costs nothing by itself. What costs money is everything that exists to keep it correct: the mart it reads, the models that build the mart, the tests that guard those models, the orchestrator slot the job occupies, and the warehouse time all of it consumes. The dashboard is the handle; the pipeline is the weight.

Why they accumulate

Nobody decommissions a report, because decommissioning requires certainty that nobody needs it, and certainty requires asking everybody. The cost of asking is immediate and the cost of keeping is spread across a bill nobody reads line by line. So the estate grows a layer of reporting sediment, and every migration carries it forward because nobody can prove it is safe to leave behind.

What a safe retirement argument looks like

  • Last-viewed evidence covering the whole retention window, not the last thirty days.
  • The full downstream set: other dashboards, extracts, scheduled emails, API consumers.
  • The upstream chain that exists only for this consumer and nothing else.
  • A reversible first step — stop the schedule, keep the objects — with a date to revisit.

That last one does most of the work in practice. Pausing a schedule is a change anybody will approve because it undoes in a minute. Dropping a table is a change that needs a meeting. Take the saving that is reversible first, and let the irreversible one wait until the pause has gone a month without a complaint.

Retire the schedule, not the table. The saving is nearly the same and the argument is a tenth as long.

Run this against your own estate

Gecko reads metadata and query history — never the rows in your tables — and tells you what it found.

Get started