← FinOpsAid blog

What does one developer actually cost us? Reading the Developers page, column by column
Credits used, interactions, acceptance rate, dollars per credit and the red 2FA rows — every number on the FinOpsAid Developers page, what it means, and which ones are estimates.
The Developers page carries the most sensitive numbers in the product: dollars next to a person's name. Most of the time those dollars are modeled, not billed, and the page says so in three separate places. Knowing which regime you're in is the difference between a useful conversation and an unfair one.
The badge and direction conventions used below are defined in the grammar behind every number.
The KPI row
| Tile |
What it counts |
Direction |
| Total Developers |
Every org member we have a record for. |
Neutral. |
| Active Developers |
Members with more than zero Copilot interactions, plus their share of total. |
Higher is better in adoption terms — low active share against a full seat count is licence waste. |
| 2FA Disabled |
Members without two-factor authentication, plus their share. The icon turns amber when the count is non-zero. |
Lower is better. Zero is the target. |
| Total Cost |
Total billed cost from the allocation endpoint. Footnote reads either "GitHub-attributed" or "modeled estimate". |
Lower is better. |
| Avg Acceptance |
Mean acceptance rate across active developers only. |
Higher is better — with the usual caveat that it measures fit, not output. |
Note the denominator on Avg Acceptance: inactive developers are excluded, so it doesn't get dragged toward zero by people who never turned the tool on. Adoption is measured by the Active tile; quality of fit is measured here. Two different questions, deliberately not mixed.
The Period filter, and the coverage caption
The Period dropdown scopes exactly one card on this page: AI Credits & Cost by Developer. Everything else is current-state.
That card's caption is worth reading every time. It shows the selected preset and the real extent of the data inside it — for example Last 90 days · data Apr 3, 2026 – Jun 28, 2026. If you pick a 12-month window and the coverage line shows three months, three months is what exists. Setting a longer period never manufactures history.
The relative presets anchor to the latest day of Copilot usage, not to today, because Copilot metrics lag by a couple of days. A "Last 7 days" window anchored to the clock would routinely land in the gap and show nothing.
AI Credits & Cost by Developer — three views of the same data
The card has a AI Credits / Cost toggle at the top right and renders three stacked sections.
1. Ranked bars. The top 25 developers by whichever metric is toggled. Above them: the total across all developers with usage, the count of those developers, and — on the Cost view — the basis badge. If more than 25 have usage, the caption says "showing top 25" rather than silently truncating.
2. Credits vs Cost per developer. A grouped bar chart of the top 12 by cost, with credits on one axis (blue) and cost on the other (purple, marked "(est.)" when modeled). This is the comparison view — you're looking for bars that disagree.
3. Breakdown table. Exact figures for the top 40: AI Credits, Cost, and $ / credit.
Dollars per credit — the efficiency signal
$/credit is the only column here that isolates model choice. Ranking by raw cost tells you who used the most; ranking by $/credit tells you who used the most expensive things — a different, usually more actionable list.
The Developers table
Sorted by cost descending (credits as tiebreak), top 40 rows, with a search box.
| Column |
Meaning |
Direction |
| Developer |
Avatar, display name, login underneath, a link out to GitHub, and a brand-coloured AI credits chip when the person holds a Copilot seat. |
— |
| Team |
First team only. Multi-team members show one; the Teams page has the full picture. |
— |
| Role |
admin renders amber, member grey. |
Fewer admins is better — see Security. |
| 2FA |
Green on or red off. The whole row is tinted red when off. |
On is better. Off is a finding. |
| Credits Used |
AI credits consumed. A usage signal. |
Neutral. |
| Interactions |
Copilot interaction count. |
Neutral — activity. |
| Acceptance |
Suggestion acceptance rate. |
Higher is better (fit, not output). |
| Last Active |
Most recent Copilot-usage day, not last commit or last login. |
Recent is better. |
| Attributed / Allocated Cost |
Per the basis badge — real attributed dollars, or the credit-share estimate. |
Lower is better for the same output. |
Two things about Last Active trip people up. It is Copilot usage specifically, so a developer who commits daily but has never used Copilot shows a dash — they're active as an engineer and inactive as a seat holder. And it is not the same field as the seat's own "last activity" timestamp, which the detail page shows separately.
The red row tint for 2FA is the page doing two jobs at once. It's a cost page, but a member without 2FA who holds an admin role is an access-risk finding, and putting it in front of you here means it gets seen by someone who is already looking at the list.
The developer detail page
Clicking a name opens a per-developer view:
- Six tiles — Allocated Cost, Credits Used, Interactions (with accepted count), Acceptance, Days Active broken into chat / agent / cli days, and Last Active.
- Copilot credits over time, scoped by the Period filter.
- Profile — role, teams, 2FA state, seat plan, seat granted date, credits, interactions, LOC added, last Copilot-usage day, last seat activity, editor, and pending-cancellation date.
The chat / agent / cli split under Days Active is the most under-used number in the product. It tells you how someone uses the tool, and those modes have very different cost profiles. A developer whose days are almost entirely agent days is a different cost story from one who only uses inline completion.
LOC added should be read with real caution. Lines of code is a volume measure that rewards verbosity; it is here as context for the interaction counts, not as an output metric.
What people get wrong on this page
- Reading modeled per-developer cost as billed. Unless the chip is green, it is a credit-share split of org spend.
- Ranking people by cost and stopping there. Rank by $/credit as well; the lists differ.
- Treating a dash in Last Active as inactivity. It means no Copilot usage, not no work.
- Using acceptance rate as a performance rating. It measures fit between the tool and the codebase.
- Ignoring the coverage caption. A long period with short coverage is a data-extent fact, not a usage collapse.
The 60-second read
- Active Developers share against the seat count — that's the licence-waste headline.
- 2FA Disabled: any number above zero is a task, not a metric.
- Toggle the usage card to Cost, then read the $/credit column for the model-mix outliers.
- Check the coverage caption before drawing a trend.
- Open the top two developers' detail pages and look at the chat/agent/cli split before concluding anything about how the money is being spent.
Frequently asked questions
Is per-developer cost in FinOpsAid a real billed number?
Only when the badge is green and reads GitHub-attributed. Otherwise it is a modeled credit-share estimate: the org's AI-credit spend split across developers in proportion to the credits each one used. GitHub does not attribute Copilot cost per person for most organizations.
What does dollars per credit tell me that cost alone does not?
It isolates model choice from raw usage. Two developers can consume identical credits yet cost very different amounts because one routed work through frontier models and premium requests. Ranking by cost shows who used the most; ranking by dollars per credit shows who used the most expensive things.
Why does a developer show no Last Active date?
Last Active tracks the most recent Copilot usage day specifically, not commits or logins. Someone who commits daily but has never used Copilot shows a dash — they are active as an engineer and inactive as a seat holder, which is exactly the distinction the column exists to make.
Want to see your own developer economics? Connect your GitHub org — read-only and free during beta — or explore the demo first. Next: how to read the GitHub Actions page.