Treat seats and usage as two cost systems
AI coding costs usually combine fixed subscriptions and variable model usage. A developer may hold a monthly IDE-assistant seat while also generating token charges through a CLI or API. If finance tracks invoices and engineering tracks tokens in separate spreadsheets, the organization can double count some tools, omit others, and miss licenses assigned to people who no longer use them. A useful review keeps subscription and usage estimates separate, then shows their combined monthly estimate with a note.
Begin with one denominator: monitored developers. In MainLayer billing, a seat is an active seat assignment for a person whose endpoint is eligible to be monitored. Product analytics can also report whether that seated developer produced an AI session during the review window. Admin, manager, security, finance, and viewer access does not itself consume a monitored developer seat. Keep this control-plane seat distinct from each vendor subscription seat.
Build the seat inventory
For every provider subscription, record the provider, plan, billing interval, unit price, number of purchased seats, contract dates, owner, renewal notice date, and any minimum commitment. Then map assigned vendor identities to organization members and teams. Preserve an unmatched bucket for service accounts, departed users, consultants, and aliases that cannot be resolved. Silent dropping makes utilization look better than it is.
| Field | Why it matters |
|---|---|
| Purchased seats | Sets the invoice baseline and contract commitment |
| Assigned seats | Shows licenses allocated in the vendor or internal system |
| Active users in 30 days | Shows people with at least one observed AI session in the review window |
| Last AI activity | Helps distinguish a short pause from sustained inactivity |
| Monthly equivalent price | Makes monthly and annual subscriptions comparable |
| Renewal and notice dates | Creates time to reduce quantities or renegotiate |
Do not call every inactive seat waste. A developer may be on leave, between projects, waiting for access, or using a hosted surface the endpoint cannot observe. Set a review window, usually 30 days, and ask the manager or license owner to confirm context. Record the decision: retain, reassign, release, or investigate. Releasing a seat should not delete historical usage needed for aggregate reporting and audit.
Estimate token-based cost with coverage
For supported providers, usage events contain input, output, cache-read, and cache-write token counts plus provider and model when known. Multiply each token class by the relevant per-million-token price and sum the results. Provider pricing changes, enterprise discounts, bundled quotas, and model aliases mean this is an estimate unless it is reconciled to an invoice. Store organization-specific price overrides when the contract differs from public list pricing.
estimated usage cost =
input tokens × input rate
+ output tokens × output rate
+ cache-read tokens × cache-read rate
+ cache-write tokens × cache-write rateUnknown model prices must remain unknown. Do not silently substitute the cheapest model, the provider average, or zero. MainLayer reports pricing coverage as the share of observed tokens that have a known price. If any material part of a row is unknown, its estimated cost can be null while token counts remain visible. This is more useful than a precise-looking total built on missing rates.
Roll costs up by provider, model, team, and repository
Provider and model rollups help with commercial decisions. They show where tokens accumulate, whether cache usage is material, and which unknown models reduce pricing coverage. Team rollups help budget owners understand demand. Repository rollups connect usage to the kind of work, though they should respect restricted-repository privacy. Daily trends expose one-time migrations, model changes, or an integration that suddenly emits duplicate events.
Team membership can overlap, so a person may appear in more than one team report. Label that behavior rather than summing team totals into an organization total. Subscription cost also needs its own rollup: monthly price multiplied by seats, active users in the review window, and cost per active user. The combined monthly estimate equals usage estimate plus subscription totals, with both components visible.
Find idle licenses without creating a ranking
Create an inactive list from people who hold a monitored seat but have no session-domain event in the selected period. Include seat assignment date and last observed AI activity when available. The list is an operations queue, not a performance table. Do not compare prompt counts or token totals as individual productivity scores. Different roles, repositories, and tasks need different levels of AI assistance.
Use team-level review where it meets the purpose. Person-level access should follow the organization's privacy controls, role restrictions, and access audit. Small aggregates may be suppressed under the chosen k-anonymity threshold. The developer's self-view should remain available so people can understand the activity associated with them and correct mismatches.
Run the monthly review
- Freeze the reporting window and note data gaps, unsupported providers, stale endpoints, and pricing coverage.
- Reconcile purchased and assigned subscription seats against active organization members and the vendor invoice.
- Review inactive seats with managers and license owners, then record retain, reassign, release, or investigate decisions.
- Compare usage estimates by provider, model, team, and repository. Investigate spikes, duplicate signals, and unknown-price models.
- Review combined subscription and token estimates against budget, renewal dates, and any automatic seat true-up.
- Pair cost with adoption, AI-assisted pull-request evidence, quality signals, and developer feedback before changing access.
- Assign owners and deadlines, then preserve the decision log for the next review.
Invite engineering operations, finance or procurement, platform engineering, security, and affected team leads. Keep the meeting focused on exceptions and decisions rather than reading every row. A pre-read should show the previous month's actions, current subscription totals, token estimate and coverage, inactive seats, renewal deadlines, and the largest material changes. Close with quantities to change, price overrides to update, owners, and dates.
Understand seat true-up
A billing true-up increases the purchased MainLayer subscription quantity when active monitored seat assignments exceed the current quantity and automatic synchronization is enabled. It never decreases seats automatically. Downward changes belong in the billing portal after the organization reviews assignments. That asymmetry avoids surprise access loss, but it makes monthly seat hygiene important because an abandoned assignment can continue to affect required quantity.
MainLayer has no permanent free tier. Observe and Govern begin with a 14-day card-backed trial for up to five monitored developers. Observe is $12 per monitored developer per month when billed annually or $15 monthly. Govern is $24 annually or $30 monthly. These prices are MainLayer control-plane seats, not the underlying AI-tool subscriptions, and should be a separate line in the inventory.
Metrics worth keeping
- Purchased, assigned, and active seats by provider, with a documented activity window.
- Inactive seats reviewed, released, reassigned, retained, and still awaiting a decision.
- Subscription monthly equivalent, token usage estimate, combined estimate, and pricing coverage.
- Cost by provider, model, team, and repository, with overlapping-team behavior disclosed.
- Renewals within 90 days, quantity-change deadlines, and unresolved identity mappings.
- AI-assisted pull-request rate and contribution evidence by confidence tier, never as an individual quota.
After three cycles, the review should become routine. The organization will know which tools are actually active, where estimates are incomplete, and which contract changes require lead time. That record is more valuable than a one-off cost-cutting exercise because it supports budgeting, security review, renewal negotiation, and a fair explanation of why access changes.
