I ran usage analytics on our dashboards.
(I like to call it "Analytics on ourselves"—actually paying attention to what we build.)
Result: 60%+ hadn't been touched in 90 days.
Run the same analytics at the data level and the picture is usually uglier!
The Retail Analogy
If a product sat on an end cap at Target for 90 days without selling, how long would we keep it there?
Zero days. Pull it immediately. Run a promotion or discontinue it.
But in analytics and data? We just keep building more.
47 dashboards. 28 unused. But we're planning three more this quarter.
1,000s. or 10,000s. or 100,000s+ of tables and views. 70% plus never used. But we are adding 500 more in the next week.
The Manufacturing Problem
In my last post, I talked about viewing analytics as a manufacturing floor.
Here's what that looks like in practice:
We're manufacturing products (dashboards, reports, insights) that nobody's buying (using).
But we keep the production line running.
Why? Because we're not measuring the right thing.
We measure:
- ✅ Time to build
- ✅ Data accuracy
- ✅ Dashboard performance
- ✅ Number of features
We don't measure:
- ❌ Actual usage
- ❌ Time to value
- ❌ Decisions influenced
- ❌ Products we should sunset
The Usage Analytics Framework
Here's how we started tracking what actually matters:
1. Instrument Everything
CREATE TABLE dashboard_usage (
dashboard_id VARCHAR(50),
user_id VARCHAR(50),
viewed_at TIMESTAMP,
time_spent_seconds INT,
filters_applied JSONB,
exports_generated INT
);
Track:
- Page views (basic)
- Time spent (engagement)
- Filters applied (actual use vs casual browsing)
- Exports/downloads (taking action on the data)
2. Define "Active Use"
Not just "someone opened it."
Active use = viewed + spent >60 seconds + applied filters OR exported data
This separates "accidentally clicked" from "actually using."
3. Run the 90-Day Audit
SELECT
dashboard_name,
COUNT(DISTINCT user_id) as unique_users_90d,
AVG(time_spent_seconds) as avg_time_spent,
SUM(exports_generated) as total_exports
FROM dashboard_usage
WHERE viewed_at >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY dashboard_name
ORDER BY unique_users_90d DESC;
The results were brutal:
- 60% had zero active users in 90 days
- 20% had 1-2 users (probably just the creator checking it)
- Only 20% had genuine regular usage
4. Sunset Process
We created a simple decision tree:
Zero active users in 90 days?
↓
Email the creator: "Dashboard X hasn't been used. Sunset in 30 days unless we hear otherwise."
↓
No response OR "yeah, nobody needs it anymore"?
↓
Archive it. Remove from production. And you can track very similar stats at the data level. It is as simple as who queries what when?
Result: Went from 47 dashboards to 12 in one quarter.
The remaining 12? Actually used. Actually maintained. Actually valuable.
The Pushback We Got
"But what if someone needs it later?"
Archive it. If they ask (they won't), restore it. In two years, nobody asked.
"But it took us months to build!"
Sunk cost fallacy. The cost of maintaining unused dashboards is higher than the cost of rebuilding if needed.
"But leadership asked for it!"
Leadership asked for it two years ago. They haven't looked at it since. Show them the usage data. They'll agree to sunset it.
"But I worked hard on it!"
I know. I did too on dashboards that are now archived. It hurts. But unused work is waste in manufacturing terms.
The Factory Floor Mindset
If you view analytics as manufacturing (which I do after reading The Phoenix Project), then:
Unused dashboards = inventory sitting in a warehouse
They cost money to maintain:
- Data pipeline costs
- Storage costs
- Mental overhead ("should we update this?")
- Confusion ("which dashboard is the source of truth?")
Better to:
- Build less
- Measure usage
- Sunset quickly
- Focus on what's actually used
The Sarah Chen Story
This is exactly what happens in Chapter 1 of the Analytics Pitfalls fable.
Sarah Chen joins ClassicMotors.io as Head of Analytics. Day one, she discovers 47 dashboards.
Leadership keeps asking "what does the data say?" but nobody can answer because they have too much data and not enough insight.
Sarah realizes: This isn't a data problem. It's a production problem.
She needs to audit what's actually being used, sunset the waste, and focus the team on the 20% that drives 80% of value.
Sound familiar?
Read Chapter 1 (free): analyticspitfalls.com/fable
Your Turn
Have you run usage analytics on your dashboards or your data?
If not, start here:
- Instrument basic tracking (views, time spent)
- Run the 90-day audit
- Email creators of unused dashboards
- Sunset what's not needed
- Focus on what drives value
Drop your results in the comments. I'm betting most teams have 40-60% unused.
Let's stop building inventory nobody wants.
Discussion Questions
- What % of your dashboards do you think are actually used regularly?
- How do you track dashboard usage in your org?
- What's your process for sunsetting unused analytics products?
- Anyone else view analytics as a manufacturing floor?
This is part of my Analytics Pitfalls series - lessons from 25 years of data mistakes. Follow for more.
Previous: Garbage In, Powerhouse Out? (Nope.)
Top comments (0)