← FinOpsAid blog

What am I looking at on the Overview dashboard? Every tile, chart and badge explained — FinOpsAid blog

What am I looking at on the Overview dashboard? Every tile, chart and badge explained

A section-by-section walkthrough of the FinOpsAid Overview page — what each KPI counts, which direction is good, why team totals don't sum to your bill, and which numbers are estimates.

Overview is the page you land on, so it's the page most often misread. It mixes three kinds of number in one screen — billed dollars, modeled dollars, and usage signals — and the difference between them is the difference between a figure you can take to finance and a figure you can't.

This walks the page top to bottom. If you haven't read the grammar behind every number, start there: the badge conventions and direction rules used below are defined once and apply everywhere.

The page in seven zones

Layout of the Overview dashboard From top to bottom: a granularity and period control bar; a row of five KPI tiles; an AI executive summary band; a spend trend chart beside a storage treemap; top teams beside top developers; four small widgets for Actions, Copilot usage, inactive licenses and budget; and finally a six-month forecast beside the top savings opportunities. OVERVIEW — WHAT SITS WHERE 1 Granularity (Daily / Monthly) · Period lives top-right in the page header 2 Spend Budget % YTD Savings Health 3 AI Executive Summary + top 3 recommendations 4 Spend Trend — billed $ / credits / both Storage treemap (hidden if no storage spend) 5 Top Teams (allocated) Top Developers (allocated) 6 Actions Copilot seats Inactive licenses Budget gauge 7 Forecast (next 6 months) Top savings opportunities
Zones 4 and 6 respond to the Period filter. Zones 2, 5 and 7 do not. That asymmetry is the single most common source of confusion on this page — changing the period does not change the KPI row.

Zone 1 — Granularity, and what the Period actually scopes

Two controls sit above the page. Granularity (Daily / Monthly) is inline at the top left. Period is the dropdown in the page header at the top right, and it is the same dropdown on every page.

The text next to Granularity says it outright: the period scopes the Spend Trend card and the Actions minutes mini-chart. It does not scope the KPI row, the team and developer leaderboards, the forecast, or the savings list. Those are month-to-date, year-to-date, or all-current-state figures by definition.

So if you set the period to "Last 7 days" and the Total Spend tile doesn't move, nothing is broken. That tile is a projected month-end figure and has no relationship to a seven-day window.

Zone 2 — The KPI row, tile by tile

The five Overview KPI tiles annotated Total Spend shows a projected month-end figure with a percentage delta versus the last full month and a month-to-date footnote. Budget Utilization is a dial of spend-to-date over the org budget, turning amber above ninety percent. Spend YTD shows year-to-date with a projected year-end footnote. Potential Savings shows total estimated annual savings and an opportunity count. The Health Score is a maturity dial out of one hundred with a named level. KPI ROW — READ THE FOOTNOTE, NOT JUST THE BIG NUMBER Total Spend (projected) $48.2k ▲ 12.4% vs last full month $31.7k month-to-date Budget Utilization 74% Spend YTD $392k Projecting $610k by year-end Potential Savings $71.4k 14 opportunities annual · estimated Health Score 62 Amber ▲ = a cost went up. On these five tiles only the two dials read “higher is better”. Tile 1 is a projection, not an actual. The actual so far is the small grey line beneath it. Tile 4 rising is good news about opportunity — and bad news about how much you are wasting today.
Every tile carries a footnote, and the footnote changes the meaning. "$48.2k" alone is wrong; "$48.2k projected, $31.7k actual so far" is the number.
Tile What it is Higher means
Total Spend (projected) Projected month-end spend. The delta compares it to the last full month, not to this month so far. Footnote is the real month-to-date figure. Worse. Rising delta renders amber/red.
Budget Utilization Spend-to-date ÷ the org budget, as a dial. Turns amber above 90%. Reads "no budget set" until you set one on Budgets. Worse past ~90%. Below that it just means the budget is being used.
Spend YTD Year-to-date billed spend, with a projected year-end figure underneath. Worse.
Potential Savings Total estimated annual savings across every open recommendation, plus the opportunity count. Ambiguous — more headroom to save, but only because more is currently being wasted.
FinOpsAid Health Score A maturity score out of 100 with a named level underneath (the same model behind the maturity write-up). Better. This is one of the few tiles where up is genuinely up.

Two traps here. Potential Savings is annualised — it is not what you save this month, it is twelve times a monthly estimate, and it is an estimate. And Budget Utilization at 74% in week one is not the same as 74% in week four; the dial has no idea where in the month you are.

Zone 3 — AI Executive Summary

A single generated paragraph summarising the month, plus the top three recommendations by estimated saving. It's marked Beta. Treat it as a starting sentence for a report, not as a source — every claim in it is visible in a card further down the page, and that card is where the number and its basis live.

Zone 4 — Spend Trend, and why a flat dollar line is normal

This card has three tabs: Billed, AI credits, and Both — and Both is the default, deliberately.

Why billed dollars stay flat while credit usage varies A dual-axis chart. The teal billed-dollar line on the left axis sits flat at zero while daily AI-credit usage on the amber right axis rises and falls, because usage inside the plan's included allowance bills nothing. Once cumulative usage crosses the allowance, the billed line lifts off zero. SPEND TREND · “BOTH” — TWO AXES, TWO MEANINGS BILLED $ (LEFT) CREDITS USED (RIGHT) ALLOWANCE EXHAUSTED day 1 day 30 A teal line pinned to zero over a busy amber line is the plan working, not a broken meter. The dashed marker is where the included allowance ran out. After it, every credit costs money.
The left axis is money. The right axis is not. The credit series is a usage count — a signal. It never converts to dollars at a fixed rate, because the first N credits each cycle are already paid for.

The headline number at the top right of the card changes with the tab: dollars on Billed and Both, a raw credit count on AI credits. If you're quoting a figure from this card, say which tab you were on.

Storage / Category Cost Breakdown sits to its right — a treemap of net billed storage spend by category, with each block's share as a percentage. This card is GitHub-attributed, so those are real billed dollars. The whole card disappears if your org has no storage spend, which is why it's sometimes not there. Detail lives on the Storage page.

Zone 5 — Top Teams and Top Developers, and the overlap problem

Both cards rank by cost, both carry a badge, and both come with a caveat that matters more than the ranking.

The badge is either a green GitHub-attributed chip or an amber Estimated chip. Green means GitHub reported per-developer cost directly and the numbers reconcile. Amber means we split the org's AI-credit spend across developers in proportion to the credits each one used — a credit-share model, and a documented one, but a model.

Why team costs do not sum to the GitHub bill A developer who belongs to both the Platform and Payments teams has their allocated cost counted in full inside each team. Summing the team rows therefore double-counts that developer, producing a total larger than the actual billed org spend. ALLOCATED ≠ BILLED — SHARED MEMBERS ARE COUNTED TWICE TEAM: PLATFORM ada · $410 omar · $260 total $670 TEAM: PAYMENTS omar · $260 rui · $180 total $440 ACTUAL ORG BILL $850 three people, once each $670 + $440 = $1,110 — which is $260 more than anyone was billed. Team rows are for comparing teams to each other. They are not a chargeback ledger. For the authoritative billed total, use the org figure on Cost Explorer or Billing. The app says this in an amber banner on the Teams page. It applies to this card too.
"Allocated, not billed — overlaps across shared members" is in the card subtitle for a reason. Ranking teams against each other is valid. Adding the rows up is not.

The Top Developers card shows cost and, underneath it, the credit count that produced it. Reading both together is the point: two developers with similar credit counts but very different dollars are using different models.

Zone 6 — The four small widgets

Widget What it shows How to read it
GitHub Actions Total modeled spend, a daily-minutes bar chart, and a success rate. Minutes are the billable signal; the dollar figure is our model applied to them. Success rate: higher is better.
Copilot Usage A donut of Active / Idle / Not used seats, with the active count in the centre. The "Not used" slice is seats that were never picked up at all — different from Idle, which is a seat that was used and then went quiet.
Inactive Licenses Idle seat count, modeled annual savings, then total / active / pending-cancel seats. The savings figure is modeled — seat price times idle seats times twelve. Pending cancel are already on their way out; don't count them twice.
Budget The same utilization dial, plus a status line and remaining budget. Status reads "On track" or "Over budget". Remaining goes negative-in-meaning once over.

The Actions mini-chart is the second thing on this page that does follow the Period filter.

Zone 7 — Forecast and Top Savings

Forecast (Next 6 Months) plots the last six months of actual monthly spend and then six projected months. The projection is drawn as a dashed continuation of the same line — solid is history, dashed is arithmetic. The delta chip at the top right compares projected month-end against the previous full month.

A forecast built from six months of history will not anticipate a runner fleet you haven't deployed yet or a Copilot rollout you haven't started. It extrapolates; it does not know your roadmap.

Top Savings Opportunities lists the four largest recommendations, each with a one-line evidence string and an annual dollar figure. Each carries a confidence chip — high, medium or low. Read the word, not the colour: the chip uses the app's severity palette, so a high-confidence recommendation renders in a strong colour that some people read as a warning. It isn't one. High confidence means the evidence is unambiguous — an idle seat with a name attached, not a modeled inefficiency. The full list, grouped by category, is on the Savings page.

What people get wrong on this page

The 60-second read

Frequently asked questions

Does the Period filter change every number on the Overview page?

No. On Overview the Period scopes only the Spend Trend card and the GitHub Actions mini-chart. The KPI row, the team and developer leaderboards, the forecast and the savings list are month-to-date, year-to-date or current-state figures, so they do not respond to it.

Why is Total Spend higher than what I have actually spent?

The Total Spend tile shows a projected month-end figure, not an actual. The real amount spent so far is the smaller number in the tile's footnote, labelled month-to-date. The percentage delta beside it compares the projection against the last full month, not against this month.

Why don't the team costs on Overview add up to my GitHub bill?

Because a developer who belongs to several teams is counted in full inside each of them. Team totals therefore overlap and sum to more than you were billed. The card is valid for ranking teams against each other; for the authoritative billed total, use the org figure on Cost Explorer or Billing.

Want to read your own Overview? Connect your GitHub org — read-only and free during beta — or explore the demo dashboard first. Next in this series: how to read the Cost Explorer.