Outcome
By the end of this lesson, you will be able to pick the right showback dimension based on the audience question, describe the underlying data source for each, and handle a question that needs more than one dimension.
| Prerequisites | T0, Foundations · M4.1, RBAC · M4.4: Multi-account |
| Time | 9 minutes |
1. Concept
Showback means telling each team what it spent.
ZopNight can slice that three ways: by organisation, which is everything added up, by team, which puts a name against each number, and by tag, which lets you cut it however the business thinks about itself.
Choosing the right one before you build the report is what makes the report answer the question somebody actually asked.
DIMENSION USE WHEN EXAMPLE──────────────────────────────────────────────────────────────────Organisation Org-wide rollup needed "What did we spend?"Teams Per-team accountability "Which teams overspent?"Tags Per-attribute breakdown "Which cost-center burned $?"Each dimension has its sweet spot. Each report answers one dimension at a time, so pick the one that answers the question.
Each dimension’s data source
DIMENSION UNDERLYING TABLE AGGREGATION──────────────────────────────────────────────────────────────────Organisation cost_records (raw) summed by orgTeams cost_allocation_daily where dimension_ type='team'Tags cost_allocation_daily where dimension_ type='tag'Internally, ZopNight computes daily allocations into a single cost_allocation_daily table with a dimension_type column. Reports query this table with filters. The three dimensions are not separate data pipelines; they are different filters on the same allocation engine, which is why the team and tag totals reconcile with each other.
Decision tree
"What's our total spend?" → Organisation"How is each team spending?" → Teams"How is each cost_center spending?" → Tags (key=cost_center)"How is each environment doing?" → Tags (key=environment)"What's per-team breakdown by tag?" → Two dimensions: see below"Which environment is the platform team's spend concentrated in?" → Two dimensions: see below"How much did this marketing campaign cost?" → Tags (key=campaign)"What did the data team spend on RDS?" → Teams, filtered by resource typeThe right dimension follows from the noun in the question. “Team” implies Teams; “environment” or “cost-center” implies Tags; “we” or “org” implies Organisation.
Question-first design
A common mistake is to start with the report layout (“let’s build a per-environment dashboard”) and then figure out what it answers. Question-first works better:
1. Write the question in plain English2. Identify the noun (team / cost-center / environment / org / etc.)3. Pick the dimension that has that noun4. Build the reportWhen you cannot pick a dimension cleanly, the question is probably two questions in one: split them.
Questions that need two dimensions
The Teams report filters by provider, resource type and period. The Tags report filters by tag key, tag value, provider, resource type and tag source. Neither report takes the other dimension as a filter, so “team by tag” is not one report.
QUESTION WHAT TO DO──────────────────────────────────────────────────────────────────"Platform team's spend by cost-center" Open the platform team's resources (Teams), group them by cost-center yourself
"Prod environment spend by team" Give each team's prod resources a resource group; read the groups' costs
Recurring, high-value question Restructure: one resource group per team and cost-center pairIf a two-dimension question comes up every month, build the answer into the structure (resource groups or assignments) rather than reworking it by hand each time. Unit economics is the one place that accepts either a team or a tag as its scope, but still not both.
What ZopNight surfaces by dimension
DIMENSION PRIMARY SURFACE SECONDARY VIEWS──────────────────────────────────────────────────────────────────Organisation Cost Reports → Summary Per-provider, per-account, trendTeams Cost Reports → Teams Per-team trend, vs budget, top resources within teamTags Cost Reports → Tags Filter by key + value; top tag values; coverageEach surface has consistent UX patterns: filters at the top, summary at left, breakdown chart in the middle, drill table at the bottom.
Audience-to-dimension mapping
AUDIENCE DEFAULT DIMENSION──────────────────────────────────────────────────────────────────Executive (monthly review) Organisation (rollup)Finance (budget vs actual) Organisation + Teams (with chargeback math)FinOps Lead All three (depending on the question of the week)Engineering Leader Teams (their teams' health)Platform Engineer Teams (scoped to their team)Compliance / Audit Tags (compliance-scope tags)Marketing (campaign cost) Tags (campaign key)The mapping is not strict: a FinOps Lead might present an Organisation rollup to the executive team and a Teams view to the engineering team in the same week. But the default surfaces by audience are stable.
How ZopNight uses the dimensions
The Cost Reports page in ZopNight’s UI is organized around these three dimensions as tabs. Summary is the rollup landing; Teams is the team landing; Tags is the flexible attribute landing. Each report has its own filters (period, provider, resource type, and tag key and value on Tags); the data underneath comes from the same allocation engine.
For a new analyst onboarding, the recommended exploration order is: Summary (orientation) → Teams (where the money goes) → Tags (deeper attribution). Within a quarter, the analyst should be comfortable switching dimensions to answer questions in real-time during meetings.
2. Demo
Three meetings, three different dimensions:
MONDAY: Exec monthly review AUDIENCE: CEO, CFO, CTO QUESTION: "Cloud cost trend MoM?" DIMENSION: Organisation REPORT: Cost Reports → Summary HEADLINE: "Total $2.1M (-3% MoM); driven by ml-infra rightsizing" TIME: 5-minute slot
TUESDAY: Engineering leadership review AUDIENCE: Engineering Leaders + FinOps Lead QUESTION: "Which teams are growing fastest?" DIMENSION: Teams REPORT: Cost Reports → Teams (trended over 90 days) HEADLINE: "ml-infra +30% YoY, data +8%, platform -5%" TIME: 20-minute slot, with discussion of ml-infra growth
WEDNESDAY: Marketing post-campaign review AUDIENCE: Marketing + Finance QUESTION: "Q2 campaign cost?" DIMENSION: Tags (key=campaign, value=Q2-launch) REPORT: Cost Reports → Tags → filter HEADLINE: "$14,200 total; Lambda $4,800 (34%), CloudFront $3,400" TIME: 10-minute slot, with ROI discussion vs revenueThree audiences, three dimensions, three reports: all from the same underlying cost data.
3. Hands-on (6 min)
For your team’s monthly cost review, write the questions in order:
QUESTION 1 (typically the headline): __________________________________________________________ Best dimension: __________
QUESTION 2 (where is the cost concentrated): __________________________________________________________ Best dimension: __________
QUESTION 3 (compare to budget or prior period): __________________________________________________________ Best dimension: __________
QUESTION 4 (drill into the anomaly, if any): __________________________________________________________ Best dimension: __________
If you find yourself wanting "all three dimensions for question 2",the question is probably actually multiple questions: split it.4. Knowledge check
Q1
“Which team overspent against budget?” Best dimension:
A. The organisation-wide rollup across all of the accounts
B. Tag-based attribution across the whole estate
C. Teams: the noun in the question is “team”
D. One single cloud account, viewed on its own
Show answer
Correct: C. Team-scoped question; Teams dimension. Cost Reports → Teams shows each team’s spend, and a team’s detail page totals the budgets that sit on its assigned resources and groups.
Q2
“Per-environment spend breakdown” requires:
A. The organisation dimension, taken entirely on its own
B. Cloud account isolation, with one account per environment
C. The team dimension, since teams map onto environments
D. Tags with key=environment, group by value (dev/staging/prod)
Show answer
Correct: D. Environment isn’t a team: it’s an attribute that applies across teams. Environment is a tag-driven attribute; Tags is the right dimension. Multiple teams might have prod resources; tag attribution sums them.
Q3
A question requires “platform team’s spend by cost-center”:
A. The Tags report, filtered by both team=platform and cost-center
B. Platform’s resources from Teams, grouped by cost-center yourself
C. The Teams report, set to group by the cost-center tag key
D. It cannot be answered with ZopNight’s data at all
Show answer
Correct: B. Each report answers one dimension: Teams takes no tag filter and Tags takes no team filter. Start from the platform team’s resources and group them by cost-center, or build a resource group per cost-center if the question recurs.
5. Apply
Cost Reports surfaces each dimension as a tab: Summary, Teams, Tags. Each tab answers one dimension; a question that needs two is worked from the team’s resources or from resource groups.
For recurring reports, save the configured filter as a dashboard widget (M4.7).
Related lessons
- L2: Team attribution and shared resources (next)
- L3: Tag attribution
- L4: Tag coverage
- L5: Unit economics
- T4.M4.4.L4: Rollup vs isolation
Glossary terms touched
Showback · Chargeback · Allocation