Every comparison on this topic argues Power BI against Tableau. Almost none of them prices the third option, a custom dashboard layer on the warehouse you already run, and none of them publishes the seat arithmetic that actually decides it. Here is that math, formula included, with list prices in the open.
Why does nobody publish the per-seat math?
Because most BI comparisons are written by vendors, resellers, and affiliates, they compare features and quietly assume every viewer needs a licensed seat forever. Write the arithmetic down, seats times price times months, against a one-time build, and a third option appears that nobody on the page is paid to mention.
Per-seat pricing scales with headcount, not with value delivered. The dashboards most companies actually run are read-heavy: a revenue view for the executive team, an ops board for the floor, a pipeline view for sales. The build-versus-buy framing we laid out in Build vs Buy: When to Use SaaS and When to Build Custom Software applies here with unusual force, because the buy side bills monthly per reader while the build side has near-zero marginal cost per reader.
What do Power BI and Tableau seats cost at list price?
At publicly listed prices at the time of writing, Power BI Pro runs around 14 USD per user per month and Premium Per User around 24. Tableau lists roughly 75 USD for Creator, 42 for Explorer, and 15 for Viewer, per user per month billed annually. Verify current pricing on the vendors' own pages before modeling anything.
- ▸Power BI: capacity-based Fabric SKUs can let viewers consume content without individual Pro licences, but the capacities that unlock free viewing list at thousands of dollars per month, an enterprise play, not an SME one. Per public reporting, Microsoft raised Power BI per-seat list prices by roughly 40 percent in 2025, the first increase in a decade. List price is a variable, not a constant.
- ▸Tableau: minimum seat counts commonly apply on some tiers and deployment models, and enterprise editions list higher. The Viewer tier is the line that quietly dominates invoices at scale.
- ▸Model at list, then discount. Negotiated discounts are real, but so is renewal drift. Price the walk-away case at list, because list is what walking away protects you from.
Why do read-only consumers dominate the bill?
Dashboard usage in most companies is a steep pyramid: a handful of people build, a modest group explores, and a large base only opens a dashboard, reads the numbers, filters by their region, and leaves. Per-seat pricing charges that base every month, indefinitely, for what is functionally a web page with charts.
- ▸Typical shape, commonly observed: one builder for every twenty to fifty consumers once a company passes a hundred employees. Check your own ratio in the usage logs before trusting anyone else's.
- ▸The base grows with headcount, not with analytical need. Every new hire in sales or operations becomes another viewer seat at the next renewal.
- ▸External consumers make it worse. Sharing with partners, franchisees, or clients typically requires additional licensing or embedded and capacity pricing, check the vendor's current external-user terms, which are among the least-read documents in BI procurement.
What is the break-even formula?
Annualize both sides and compare. SaaS side: S = 12 x (creators x creator price + explorers x explorer price + viewers x viewer price). Custom side: K = (build cost / expected years of life) + annual running cost. Custom wins on cost when K is below S, and each additional viewer after that is effectively free.
Assumptions to state openly whenever you use it:
- ▸Expected life (Y): a maintained internal tool commonly serves four to six years. If you would replace it inside two, custom rarely wins; the formula punishes short lifespans on the build side.
- ▸Annual running cost (M): hosting, monitoring, and a maintenance allowance, commonly budgeted at 15 to 20 percent of the build cost per year. Our honest accounting of that number is in the year-two ledger of owning your own software.
- ▸A worked illustration at list prices (verify pricing before reusing it): 5 creators, 20 explorers, and 125 viewers on Tableau's listed tiers is about 3,090 USD a month, roughly 37,000 a year. A focused dashboard layer is commonly quoted in the 40,000 to 80,000 range to build, with 8,000 to 12,000 a year to run, so K lands around 18,000 to 28,000 over a five-year life. The viewer base decides the outcome.
What does the custom side actually include?
Not a BI-platform rebuild. A custom dashboard layer is a read-optimized web application over the warehouse or Postgres you already run: SSO for authentication, a query layer with caching, a charting library, and a deploy pipeline. You build the ten to fifteen screens people actually open, and skip the self-service everything.
- ▸You keep the data where it is. The dashboards read from your warehouse or lakehouse; if you are still choosing that layer, start with Iceberg vs Delta Lake vs DuckLake in 2026: Picking an Open Table Format.
- ▸Scoping discipline is the whole game. The moment a custom dashboard drifts toward rebuilding ad-hoc exploration, the estimate doubles. The scoping method in How Much Does It Cost to Build Custom Software in 2026? applies directly here.
- ▸Honest risks: key-person dependency, the need for a real product owner, and the temptation to hand-roll what a charting library gives you for free. Budget maintenance as a line item, not a hope.
When do Power BI or Tableau clearly win?
Keep the BI tool when analysts genuinely self-serve, building new explorations weekly, not consuming fixed views, when your total seat count is small, when licensing arrives bundled with an enterprise agreement you already pay for, or when the real alternative is no maintained data model at all. The seat math only bites at scale.
- ▸Under roughly 25 total seats, the SaaS side is almost always cheaper than any build, full stop.
- ▸When exploration is the product: if the value is analysts asking new questions daily, a fixed set of custom screens will disappoint them within a month.
- ▸The hybrid is often optimal: keep a few Creator or Pro seats for the analysts and move the read-only base to a custom viewer layer, the pattern we detail in replace the seat, not the suite. Even a half-built custom viewer changes your renewal negotiation, which is the entire argument of building the exit before the renewal.
How do you run this math on your own stack?
Count real usage, not licences. Pull ninety days of view logs, classify every user as creator, explorer, or viewer by what they actually did, price the SaaS side at your renewal quote, and price the custom side with a scoped estimate, then compare annualized totals over a four-to-six-year life.
- ▸Reclaim first. Most organizations find licensed users who never log in; removing them may improve the math enough to stay. Do this before any build decision, not after.
- ▸Classify from logs, not job titles. Managers who insist they need full access and open one dashboard a month are viewers.
- ▸Migrate what is used. Commonly a minority of published dashboards account for nearly all views; only those need rebuilding, which keeps the build estimate honest.
- ▸Decide per audience, not per company. Creators, explorers, and viewers can land on different tools without anyone losing capability.
If the numbers point to an exit, the seat math is one chapter of a larger method, sequencing, data export, parallel running, covered in our complete guide to escaping SaaS for custom software.
How TuniCyberLabs helps
We run this exact audit with clients, usage-log classification, both sides priced at your real numbers, before anyone writes code, and when the math says build, we deliver fixed-scope dashboard layers on your own warehouse for EU and North African companies.
Bring us your renewal quote and ninety days of logs and we will run the formula with you, start with our custom software services.
