Showback reports each team what its share of a shared cluster costs, without moving money the way chargeback does. For a platform team running multi tenant clusters, it is the practical first step to accountability: it makes consumption visible, surfaces the heaviest tenants, and creates pressure to rightsize, while avoiding the political weight of an internal invoice. The work that makes or breaks it is allocating the cost that belongs to no single team, the control plane, system workloads, and idle headroom, on a key every tenant accepts as fair.
Here is how a platform team builds showback that holds up.
Showback or chargeback: which should a platform team start with?
Chargeback moves real budget: each team is billed for its usage and the cost leaves the platform team’s books. It drives the strongest accountability but needs allocation everyone trusts and finance machinery to support it, so it is a destination, not a starting point. Showback reports the same allocation without the transfer. Start with showback to build trust in the numbers and shift behaviour, then graduate to chargeback once the allocation is accepted and the data is reconciled. Launching chargeback on numbers teams dispute turns every cost conversation into an argument about the method.
How do you allocate the cost a single team does not own?
Direct cost is easy: a namespace’s pods consume measurable CPU, memory, and storage, and you cost them by their resource requests, the same reserved capacity that drives the node bill. The difficulty is shared cost. A cluster runs a control plane, system daemonsets such as logging and networking agents on every node, and idle headroom held for burst and resilience. None of it belongs to one tenant, but all of it is real. The fair method is to allocate shared and idle cost back to tenants in proportion to their direct usage, so a team that consumes 20 percent of the workload capacity also carries 20 percent of the overhead. Show that overhead as a separate line so teams see both their direct footprint and their share of the commons.
| Cost category | Allocation key | Why |
|---|---|---|
| Team pod usage | Resource requests per namespace | Reserved capacity drives the node bill |
| System workloads | Spread by direct usage share | Per node agents serve all tenants |
| Idle headroom | Spread by direct usage share | Burst capacity benefits everyone |
| Control plane | Spread by direct usage share or flat | Shared platform service |
What allocation key should you use?
Allocate by resource requests, not raw usage, because requests are what reserve node capacity and therefore what cost real money, and because a key teams can predict is a key they will trust. A namespace label per team is the minimum metadata; richer labels for product and environment let you slice the same data without re tagging. Hold the key stable across reporting periods so a team’s number changes only when its consumption changes, which is the whole point of showback. There are namespace level cost allocation tools that automate this against cluster telemetry; whichever you use, the allocation logic above is what determines whether the report is fair.
A Fortune 500 retailer’s platform team owned a large shared cluster whose entire cost landed on the platform budget, so no tenant felt the weight of its footprint. We built showback allocating pod cost by namespace requests and spreading system and idle cost in proportion to direct usage, then sent each team a monthly report with its direct and shared lines. Within a quarter the three heaviest tenants rightsized their requests once they could see the number, and cluster cost fell by about 22 percent with no platform mandate, purely from visibility. Figures are verified against billing data and anonymised.
How do you use showback to actually change behaviour?
A report nobody reads changes nothing. Send each team its own number on a monthly cadence, show the trend not just the level, and pair the largest direct lines with the rightsizing action that would move them, so the report is also a to do list. Surface the request to usage gap alongside the cost, because that gap is where the saving is. Keep the idle and shared line visible so teams understand that headroom and overhead are paid for collectively, which builds the case for the eventual move to chargeback. This pairs with why Kubernetes bills are so hard to read and pod requests, limits, and real cost, inside the Kubernetes cost guide.
Frequently asked questions
Make shared cluster cost visible and fair
We build showback that allocates direct, shared, and idle cluster cost on a key your teams accept, then turn the report into the rightsizing actions that move it. It is the same discipline behind the 31 percent median reduction we see in the first 90 days, with zero provider commissions. Our guarantee: we reduce your cloud spend or we reimburse our service fee.
Put a defensible number on your cloud spend.
No provider in the room, no published price list. Tell us your footprint and we will scope the savings against your billing data — we reduce your cloud spend or we reimburse our service fee.
The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.