GitHub Copilot AI Credits Optimization — Module 3: Measurement & Optimization at Scale — Hands-On Lab Guide
Duration: ~77 minutes of hands-on exercises (across the ~180-minute module)
Format: Step-by-step lab exercises with worksheets and answer keys
Audience: FinOps practitioners, platform/DevEx engineers, engineering managers, Copilot program owners, advanced admins
Roles used throughout: FinOps (cost/budget ownership), Platform/DevEx (drives reporting and tooling), Eng. Manager (team-level context), Program Owner (accountable for the operating model)
Lab Overview
This lab guide contains all the hands-on exercises from Module 3: Measurement & Optimization at Scale, part of the standalone-capable GitHub Copilot AI Credits Optimization workshop series. Each lab maps to a workshop section and builds on the previous one. Complete them in order.
Important: No lab in this guide requires making a live paid AI request or changing a production budget. All calculations can be completed with the worked formulas and the supplied sample dataset. If you use a live AI usage export in Lab 1, treat it as read-only reporting for this session and delete it after the workshop or store it in an approved secured location.
Choosing Your Path
- Live data path: If you have AI usage dashboard access, use your own exported data wherever a lab offers it as an option.
- Sample dataset path: If you do not have access, use the supplied dataset in each lab — every lab has a complete answer key either way.
Prerequisites
Before the timed labs begin:
- Open this lab guide, a calculator or spreadsheet, and a place to record decisions
- Select the sample dataset path unless you have approved AI usage dashboard access and an export suitable for workshop use
- If using a live export, remove or mask personal identifiers and confirm that the file includes the fields required by the selected lab
- Decide before the timed labs whether any live export will be deleted after the workshop or retained in an approved secured location
- Keep the supplied datasets available as the fallback if dashboard access, export timing, or permissions fail
- Confirm standard included-credit amounts against the current usage-based billing documentation before facilitated delivery
Setup checkpoint:
- ✅ Every group can open a calculator or spreadsheet and record answers
- ✅ Every group has either the supplied dataset or an approved, de-identified live export
- ✅ Learners know to switch to the supplied data instead of troubleshooting access during a timed exercise
Lab Summary
| Lab | Focus | Duration |
|---|---|---|
| 1 | Dashboard Filter Practice | 6 min |
| 2 | Model-Mix Cost Comparison | 12 min |
| 3 | Baseline & Anomaly Analysis | 15 min |
| 4 | Outcome Economics Comparison | 22 min |
| 5 | Budget Tuning Exercise | 14 min |
| 6 | 30-Day Optimization Backlog Capstone | 8 min |
| Total hands-on | 77 min |
Lab 1: Dashboard Filter Practice (6 min)
Workshop Section: 1 — Reporting & Data Sources
Roles
- Work individually or in pairs (any role)
Reference — Where to Find the Data
| Need | Where |
|---|---|
| Filter/group by user, model, organization, cost center | Billing & Licensing → AI usage |
| Query syntax for metered usage | Usage → Metered usage, search product:copilot, add cost_center:<name> |
| Export for offline analysis | AI usage page → export filtered view (CSV) |
| Individual's own consumption | Copilot settings → Usage (or IDE usage view) |
| Cost center's included-usage cap and consumption | Cost center home page (shows "AI credit pool enabled" when configured) |
Reference — Three Visibility Layers
| Layer | Best For | Important Boundary |
|---|---|---|
Copilot CLI /usage and /context |
A developer inspecting one session's usage and context composition | Local/session-level evidence, not enterprise reporting |
| AI usage dashboard and CSV export | Cost-center, user, model, SKU, and cycle-level FinOps analysis | Aggregated billing/usage view, not a tool-by-tool execution trace |
| Copilot CLI OpenTelemetry (optional) | Advanced traces and metrics for agent interactions, model calls, tool execution, latency, tokens, and costs | Off by default; requires an approved OTel backend and privacy/security design |
Important: Keep full prompt/response capture disabled unless security and privacy owners explicitly approve it. Start with
/usage,/context, and the dashboard; add OTel only for a defined observability question.
Steps
For each request, choose the least-complex visibility layer that answers it; for dashboard requests, also write down the exact filter/group-by combination:
- "Which model is driving the most spend enterprise-wide this cycle?"
- "How much has the Data Science cost center consumed so far this month?"
- "Is one specific user responsible for an unusual share of a cost center's credits?"
- "I need to hand a FinOps analyst a CSV they can pivot in a spreadsheet — how do I get it to them?"
- "A platform team needs to determine whether model calls or tool executions dominate one CLI workflow, including latency and errors."
Answer Key
- AI usage page, "Group by: model", current-cycle timeframe.
- AI usage page (or Metered usage search) filtered by cost center: Data Science, current-cycle timeframe. Cross-check against the cost center's home page if an included usage control is enabled.
- AI usage page filtered by cost center, then further filtered/grouped by user to compare individual shares within that cost center.
- Apply the desired filters on the AI usage page, then use the export action to download the filtered view as CSV.
- Use optional Copilot CLI OpenTelemetry for the bounded workflow analysis, after approving the OTel backend and telemetry controls. Keep prompt/response content capture disabled unless explicitly approved; reconcile results with the dashboard rather than treating traces as the billing ledger.
Success Criteria
- ✅ You identified "Group by: model" for Question 1
- ✅ You identified filtering by cost center for Question 2
- ✅ You identified filtering by user within a cost center for Question 3
- ✅ You identified the CSV export action for Question 4
- ✅ You identified optional Copilot CLI OpenTelemetry for Question 5 and stated the content-capture/privacy boundary
Lab 2: Model-Mix Cost Comparison (12 min)
Workshop Section: 2 — Token Cost Calculations
Roles
- Work individually, then compare with a neighbor
Reference — Cost Formula
USD = Σ (tokens_in_category / 1,000,000 × price_per_million_for_that_category)
AI credits = USD × 100
Auto model selection applies an additional 10% discount to the model-cost total.
Reference — Pricing Snapshot (2026-08-08 — verify before use)
| Model | Input | Cached Input | Cache Write | Output |
|---|---|---|---|---|
| GPT-5 mini | $0.25 | $0.025 | N/A | $2.00 |
| GPT-5.4 nano | $0.20 | $0.02 | N/A | $1.25 |
| Claude Sonnet 5 | $2.00 | $0.20 | $2.50 | $10.00 |
| Claude Opus 5 | $5.00 | $0.50 | $6.25 | $25.00 |
All prices are USD per 1 million tokens. Source: Models and pricing for GitHub Copilot.
Steps
Warm-up (already solved in the workshop — use this to check your method):
- Claude Sonnet 5, 150,000 input / 40,000 cached input / 20,000 cache-write / 6,000 output, no Auto → $0.418 USD ≈ 41.8 AI credits; with Auto (×0.90) → $0.3762 USD ≈ 37.62 AI credits
Your exercise — calculate both scenarios yourself before checking the Answer Key:
Scenario A — GPT-5 mini: 25,000 input tokens, 8,000 cached input tokens, 4,000 output tokens.
Scenario B — Claude Sonnet 5: Same token counts (25,000 input / 8,000 cached input / 4,000 output, no cache-write). No Auto model selection in either scenario.
Show your work:
Scenario A (GPT-5 mini)
Input: 25,000 / 1,000,000 × $______ = $________
Cached: 8,000 / 1,000,000 × $______ = $________
Output: 4,000 / 1,000,000 × $______ = $________
------------------------------------------------
Total USD = $________
AI credits (USD × 100) = ________ credits
Scenario B (Claude Sonnet 5)
Input: 25,000 / 1,000,000 × $______ = $________
Cached: 8,000 / 1,000,000 × $______ = $________
Output: 4,000 / 1,000,000 × $______ = $________
------------------------------------------------
Total USD = $________
AI credits (USD × 100) = ________ credits
Then answer:
- Express Scenario B's cost as a multiple of Scenario A's cost.
- If a team ran 1,000 of these interactions per month, what is the monthly credit difference between defaulting to GPT-5 mini versus Claude Sonnet 5?
Answer Key
Scenario A (GPT-5 mini)
Input: 25,000 / 1,000,000 × $0.25 = $0.006250
Cached: 8,000 / 1,000,000 × $0.025 = $0.000200
Output: 4,000 / 1,000,000 × $2.00 = $0.008000
------------------------------------------------
Total USD = $0.014450
AI credits (USD × 100) = 1.445 credits
Scenario B (Claude Sonnet 5)
Input: 25,000 / 1,000,000 × $2.00 = $0.050000
Cached: 8,000 / 1,000,000 × $0.20 = $0.001600
Output: 4,000 / 1,000,000 × $10.00 = $0.040000
------------------------------------------------
Total USD = $0.091600
AI credits (USD × 100) = 9.16 credits
- Ratio: $0.0916 ÷ $0.01445 ≈ 6.34x — Claude Sonnet 5 costs roughly 6.3 times more than GPT-5 mini for the identical token counts on this task.
- Monthly difference at 1,000 interactions: (9.16 − 1.445) credits × 1,000 = 7,715 credits/month — approximately 4.1x the standard 1,900-credit monthly allotment of one full Business license, just from the model-choice difference on this one recurring task.
Success Criteria
- ✅ You applied each token category at the correct per-model rate for both scenarios
- ✅ You divided each token count by 1,000,000 before multiplying by the rate
- ✅ You converted both USD totals to AI credits (×100)
- ✅ Your ratio (~6.34x) and monthly difference (~7,715 credits) match the Answer Key (±rounding)
Lab 3: Baseline & Anomaly Analysis (15 min)
Workshop Section: 3 — KPI Baselines & Anomaly Analysis
Roles
- Work in small groups of 2–3
Reference — Legitimate Heavy Use vs. Waste
| Signal | Legitimate Heavy Use | Waste |
|---|---|---|
| Suggestion acceptance / PR merge rate | High and stable | Low or declining |
| Restarts per task | Low — one bounded session per task | High — repeated restarts losing cached context |
| Credits per completed unit of work | Proportional to task complexity | High relative to output delivered |
| Typical task profile | Large agentic refactors, multi-file migrations, complex architecture reviews | Repeated near-identical prompts, verbose low-value chat, manual escalation to powerful models for routine tasks |
Sample Dataset — "Growth Platform" Cost Center
60 licensed Copilot Business users. Included-usage cap = 60 × 1,900 = 114,000 AI credits for the 30-day cycle.
Allotment note: This dataset uses the standard 1,900-credit Business allotment. Historical exports from the June 1–September 1, 2026 promotional period may show 3,000 credits per Business user; normalize the pool before comparing those exports with this answer key.
| Day | Active Users | Credits Consumed (day) | Cumulative Credits | Blocked Users | Overage (USD) | PR Review Pass Rate | Release Deadline? |
|---|---|---|---|---|---|---|---|
| 1 | 51 | 9,600 | 9,600 | 0 | $0.00 | 90% | No |
| 2 | 52 | 9,900 | 19,500 | 0 | $0.00 | 90% | No |
| 3 | 50 | 9,400 | 28,900 | 0 | $0.00 | 89% | No |
| 4 | 53 | 10,200 | 39,100 | 0 | $0.00 | 88% | No |
| 5 | 54 | 10,800 | 49,900 | 0 | $0.00 | 88% | No |
| 6 | 55 | 12,600 | 62,500 | 1 | $0.00 | 82% | Yes |
| 7 | 57 | 15,900 | 78,400 | 2 | $0.00 | 74% | Yes |
| 8 | 58 | 17,800 | 96,200 | 3 | $0.00 | 71% | Yes |
| 9 | 56 | 21,300 | 117,500 | 5 | $35.00 | 79% | No |
| 10 | 54 | 18,400 | 135,900 | 4 | $219.00 | 85% | No |
Steps — Calculate These KPIs and Answer the Causation Question
- Burn rate: Average daily credits consumed over Days 8–10
- Projected exhaustion date: On which day was the 114,000-credit included-usage cap exhausted?
- Credits per active user: For Day 9, credits consumed ÷ active users
- Blocked users trend: Is the blocked-user count accelerating, flat, or slowing across the 10 days, and does it track the Release Deadline flag or the overage column more closely?
- Causation check: A colleague claims "the overage on Days 9–10 caused the quality drop." Using the data, explain in 2–3 sentences why this claim is not supported, and name the more likely shared root cause.
- Heavy use vs. waste: Given only this cost-center-level data, what additional per-user signals would you request before recommending any individual ULB changes?
Answer Key
- Burn rate (Days 8–10 average): (17,800 + 21,300 + 18,400) ÷ 3 = 19,167 credits/day
- Projected exhaustion date: Cumulative credits through Day 8 = 96,200 (17,800 credits remaining against the 114,000 cap). Day 9 consumed 21,300 credits, exceeding the remaining 17,800 by 3,500 — so the cap was exhausted during Day 9. That 3,500-credit overage equals 3,500 × $0.01 = $35.00, matching the table. All of Day 10's 18,400 credits are metered: 18,400 × $0.01 = $184.00, bringing cumulative overage to $35.00 + $184.00 = $219.00, matching the table.
- Credits per active user (Day 9): 21,300 ÷ 56 = ≈380 credits/user
- Blocked users trend: 0, 0, 0, 0, 0, 1, 2, 3, 5, 4 — accelerating through Day 9, then easing on Day 10. The rise from Day 6 tracks the Release Deadline flag (Yes on Days 6–8) more closely than it tracks overage, since blocked users were already climbing on Days 6–8 while overage was still $0.00.
- Causation check: The claim is not supported. The PR review pass rate began falling on Day 6 — three days before any overage occurred — and it fell in lockstep with the Release Deadline flag switching to Yes (Days 6–8). Overage first appears on Day 9, after the deadline passed, yet the pass rate recovered to 79% on Day 9 and 85% on Day 10 even though overage kept growing both days. If overage were the true cause of the quality drop, the pass rate should have stayed low or worsened as overage increased — instead it recovered. The release deadline is the far more likely shared root cause of both the credit spike and the quality dip; overage on Days 9–10 is a lagging consequence of deadline-driven usage, not a cause of the earlier quality drop.
- Heavy use vs. waste: Before flagging anyone as wasteful, request per-user suggestion acceptance / PR merge rate, restarts per task, and credits per completed unit of work (for example, per merged PR). A high-credit user with a high, stable acceptance rate and low restart count is a legitimate heavy user; a high-credit user with a low or declining acceptance rate and frequent restarts is a waste signal.
Success Criteria
- ✅ Your calculated burn rate is ≈19,167 credits/day (±rounding)
- ✅ You correctly identified Day 9 as the exhaustion day
- ✅ You calculated ≈380 credits/user for Day 9
- ✅ You correctly rejected the "overage caused the quality drop" claim and named the release deadline as the more likely shared cause, citing the Day 9–10 recovery as evidence
- ✅ You named at least two per-user signals you'd need before judging any individual as wasteful
Lab 4: Outcome Economics Comparison (22 min)
Workshop Section: 4 — Economics of Accepted Outcomes
Roles
- Work in groups of 3–4
- FinOps leads the calculation
- Engineering Manager challenges the acceptance definition
- Platform/DevEx checks data feasibility
- Program Owner owns the decision
Reference — Outcome & Cost Formulas
Durable acceptance rate =
durable accepted outcomes ÷ attempted outcomes
Total assisted-delivery cost =
AI-credit (model) cost
+ human prompting, review, correction, and escalation cost
+ relevant compute and CI/CD rerun cost
+ allocated license cost
+ amortized enablement and workflow-development cost
Full cost per durable accepted outcome =
total assisted-delivery cost ÷ durable accepted outcomes
Net contribution =
estimated value of durable accepted outcomes − total assisted-delivery cost
Reference — Benefit Classification
| Benefit Type | Meaning |
|---|---|
| Realized cash savings | An actual expense was removed or reduced |
| Cost avoidance | Future hiring, contractor, infrastructure, or remediation spend was avoided |
| Capacity released | Existing employees can perform additional valuable work |
| Revenue contribution | Faster or better delivery produced attributable revenue or margin |
| Risk reduction | Incidents, defects, audit findings, or remediation exposure were reduced |
Scenario
Compare two workflows across 100 attempts:
| Measure | Workflow A | Workflow B |
|---|---|---|
| AI-credit cost per attempt | $1.00 | $4.00 |
| Human review/correction cost per attempt | $14.00 | $8.00 |
| Compute cost per attempt | $1.00 | $1.00 |
| Durable acceptance rate | 50% | 80% |
| Estimated value per durable accepted outcome | $40.00 | $40.00 |
For the core comparison, assume license and enablement allocations are equal and excluded from both workflows. Step 9 calculates a separate enablement allocation.
Steps
- Calculate full cost per attempt for each workflow.
- Calculate durable accepted outcomes per 100 attempts.
- Calculate total assisted-delivery cost for 100 attempts.
- Calculate full cost per durable accepted outcome.
- Calculate net contribution:
(durable outcomes × $40) − total assisted-delivery cost. - Choose the economically better workflow and explain why AI-credit cost alone selects the wrong one.
- If the same employees use released time on the backlog and payroll does not change, classify the benefit.
- Calculate end-to-end acceptance for four required stages at 90% each.
- Calculate amortized enablement cost for a $30,000 investment spread across 3,000 expected durable outcomes.
- Name at least three assumptions you would test at low/expected/high values before presenting the decision.
Use this worksheet:
| Calculation | Workflow A | Workflow B |
|---|---|---|
| Full cost per attempt | $_______ | $_______ |
| Durable accepted outcomes | _______ | _______ |
| Total assisted-delivery cost | $_______ | $_______ |
| Full cost per durable accepted outcome | $_______ | $_______ |
| Net contribution | $_______ | $_______ |
Answer Key
| Calculation | Workflow A | Workflow B |
|---|---|---|
| Full cost per attempt | $16.00 | $13.00 |
| Durable accepted outcomes | 50 | 80 |
| Total assisted-delivery cost | $1,600 | $1,300 |
| Full cost per durable accepted outcome | $32.00 | $16.25 |
| Net contribution | $400 | $1,900 |
- Full cost per attempt:
- Workflow A: $1 AI + $14 human + $1 compute = $16
- Workflow B: $4 AI + $8 human + $1 compute = $13
- Durable outcomes:
- Workflow A: 100 × 50% = 50
- Workflow B: 100 × 80% = 80
- Total cost:
- Workflow A: 100 × $16 = $1,600
- Workflow B: 100 × $13 = $1,300
- Full cost per durable accepted outcome:
- Workflow A: $1,600 ÷ 50 = $32.00
- Workflow B: $1,300 ÷ 80 = $16.25
- Net contribution:
- Workflow A: (50 × $40) − $1,600 = $400
- Workflow B: (80 × $40) − $1,300 = $1,900
- Decision: Choose Workflow B. Token-only analysis favors A ($1 versus $4), but B has lower full cost per attempt, higher durable yield, lower full cost per durable outcome, and higher contribution.
- Benefit: Capacity released, not realized cash savings, because payroll and headcount did not change.
- Rolled acceptance: 0.90 × 0.90 × 0.90 × 0.90 = 65.61%.
- Amortized enablement: $30,000 ÷ 3,000 = $10 per durable outcome.
- Sensitivity examples: human review time, loaded labor rate, durable acceptance rate, outcome value, enablement useful life, and attribution percentage.
Important: These values are illustrative. They are not GitHub benchmarks or universal accounting assumptions. Use representative samples, approved rates, and a defined outcome/stabilization rule for real decisions.
Success Criteria
- ✅ Your full-cost, durable-outcome, and contribution calculations match the answer key
- ✅ You selected Workflow B despite its higher AI-credit cost
- ✅ You classified the labor benefit as capacity released
- ✅ You calculated 65.61% rolled acceptance and $10 amortized enablement cost per outcome
- ✅ You named at least three assumptions and would report a range rather than false precision
Lab 5: Budget Tuning Exercise (14 min)
Workshop Section: 5 — Budget Tuning & Operating Model Capstone
Roles
- Form groups of 3–4 with a mix of roles (FinOps, platform/DevEx, engineering manager)
Reference — Sizing Check Formula
1. Max ULB consumption = Σ (users at each ULB tier × that tier's ULB amount)
2. Included-credit pool value =
[(Business seats × 1,900) + (Enterprise seats × 3,900)] × $0.01/credit
3. Gap to cover = Max ULB consumption − Pool value
→ Your cost-center + organization + enterprise budgets must cover this gap,
or users will be blocked by a spending budget before reaching their own ULB.
The $19 Business and $39 Enterprise per-seat equivalents represent 1,900 and 3,900 included AI credits at $0.01 per credit. They are not license prices; Copilot Enterprise license pricing varies.
Scenario — "Contoso Platform Org"
Allotment note: This scenario uses the standard 1,900 Business / 3,900 Enterprise monthly allotments. Historical June 1–September 1, 2026 promotional-period exports may show 3,000 / 7,000 instead.
- 300 Copilot Business users, 50 Copilot Enterprise users (350 licensed users total)
- 80 of the Business users are in the Data Science cost center, with a cost-center ULB of $45
- 5 named power users (outside Data Science) have an individual ULB override of $150 each
- Every other user is on the universal ULB of $25
- The current enterprise spending budget is $2,000, with "Stop usage when budget limit is reached" enabled
Steps
Timebox: Use 8 minutes for the three calculations, 3 minutes for the enterprise-budget and included-usage-control decisions, and 3 minutes to compare one recommendation with another group.
- Calculate the universal-tier population: 350 total − 80 (Data Science) − 5 (power users) = ______
- Calculate max ULB consumption (three tiers)
- Calculate the pool value
- Calculate the gap to cover
- Is the current $2,000 enterprise budget sufficient? If not, what's the minimum you'd recommend, with a buffer?
- The Data Science included usage control cap is 80 × 1,900 = 152,000 credits. Block or allow overage at that cap — and why?
Show your work:
Universal-tier population: 350 − 80 − 5 = ______ users
Max ULB consumption:
Universal: ______ users × $25 = $________
Data Science cost-center ULB: 80 × $45 = $________
Power-user individual ULB: 5 × $150 = $________
--------------------------------------------------
Total max ULB consumption = $________
Included-credit pool value:
Business: 300 × 1,900 credits × $0.01 = $________
Enterprise: 50 × 3,900 credits × $0.01 = $________
---------------------------------------------------
Total included-credit pool value = $________
Gap to cover = Max ULB consumption − Pool value = $________
Answer Key
Universal-tier population: 350 − 80 − 5 = 265 users
Max ULB consumption:
Universal: 265 × $25 = $6,625
Data Science: 80 × $45 = $3,600
Power users: 5 × $150 = $750
------------------------------
Total max ULB consumption = $10,975
Included-credit pool value:
Business: 570,000 credits × $0.01 = $5,700
Enterprise: 195,000 credits × $0.01 = $1,950
--------------------------------------------
Total included-credit pool value = $7,650
Gap to cover = $10,975 − $7,650 = $3,325
- Enterprise budget assessment: The current $2,000 enterprise budget is undersized — it covers only about 60% of the $3,325 gap. Recommend raising it to at least $3,325, and add a buffer (for example, 15–20%, landing around $3,800–$4,000) to absorb month-to-month variance without immediately re-triggering the shortfall. Without this fix, the "lowest remaining headroom wins" rule means users could be blocked by the exhausted enterprise budget before any of them reach their own (higher) individual or cost-center ULB.
- Block vs. allow overage: If Data Science is a genuinely heavy, high-value team (for example, doing large-scale model training pipeline work that justifies the spend), allow continued paid overage at the included-usage cap rather than blocking — their cost-center ULB ($45/user) and the enterprise spending budget (once correctly sized per Step 5) already provide the guardrails, so an additional hard block at the included-usage cap risks interrupting legitimate high-value work. If the team's heavy use has not yet been validated as legitimate, block at the cap until a baseline review (Lab 3's heavy-use-vs-waste signals) confirms the spend is justified.
Success Criteria
- ✅ You correctly calculated the universal-tier population (265 users)
- ✅ You correctly calculated max ULB consumption ($10,975) and included-credit pool value ($7,650)
- ✅ You correctly calculated the gap ($3,325) and identified that the current $2,000 enterprise budget is undersized
- ✅ You recommended raising the enterprise budget to at least the gap amount, with a stated buffer rationale
- ✅ You made and justified a block-vs-allow-overage decision for the Data Science included usage control
Lab 6: 30-Day Optimization Backlog Capstone (8 min)
Workshop Section: 5 — Budget Tuning & Operating Model Capstone
Roles
- Same groups of 3–4 from Lab 5
Reference — RACI
| Activity | FinOps | Platform/DevEx | Eng. Manager | Program Owner |
|---|---|---|---|---|
| Monthly KPI review | A | R | C | I |
| Outcome definition & stabilization rule | C | C | R | A |
| Economic scorecard & benefit classification | R | C | C | A |
| Budget tuning (ULBs, spending budgets) | C | R | I | A |
| Anomaly triage & confounder check | C | R | C | A |
| Individual ULB exception approval | I | C | R | A |
| Showback/chargeback reporting | R | I | I | A |
| 30-day optimization backlog ownership | C | R | C | A |
R = Responsible, A = Accountable, C = Consulted, I = Informed.
Steps
Timebox: Draft for 6 minutes, then use 2 minutes to share one P0 item and owner.
Draft a prioritized 30-Day Optimization Backlog worksheet:
| Priority | Backlog Item | Owner (from RACI) | Target Week |
|---|---|---|---|
| P0 | |||
| P0 | |||
| P1 | |||
| P1 | |||
| P1 | |||
| P2 |
Your backlog must include, at minimum: one item closing the ULB/spending-budget gap from Lab 5, one item establishing or refining an anomaly-response threshold, one item defining a pilot outcome/stabilization rule and economic scorecard owner, one item naming your showback-vs-chargeback decision, and one item scheduling your next monthly KPI review and confirming the standard allotments are reflected in the baseline.
Example Answer (Contoso scenario)
| Priority | Backlog Item | Owner (from RACI) | Target Week |
|---|---|---|---|
| P0 | Raise enterprise spending budget from $2,000 to $3,800 to close the sizing gap | Platform/DevEx (R), Program Owner (A) | Week 1 |
| P0 | Set anomaly-response trigger: blocked-user count doubling day-over-day, or burn rate >25% above 7-day rolling average, escalates to FinOps + Platform/DevEx same-day | Platform/DevEx (R), FinOps (C) | Week 1 |
| P1 | Decide Data Science included usage control: allow overage, pending confirmation of legitimate heavy use | Eng. Manager (R), Program Owner (A) | Week 2 |
| P1 | Pilot "merged PR with no material correction or revert for 14 days" as the durable outcome; baseline full cost per durable accepted outcome with low/expected/high assumptions | Eng. Manager (R), Program Owner (A), FinOps (C) | Week 2 |
| P1 | Adopt showback for all cost centers this cycle; revisit chargeback after two clean baseline months | FinOps (R), Program Owner (A) | Week 3 |
| P2 | Schedule recurring monthly KPI review and confirm the baseline uses the current standard allotments rather than promotional-period values | Platform/DevEx (R), Program Owner (A) | Week 4 |
Success Criteria
- ✅ Your backlog includes a P0 item that directly resolves the budget-tuning gap from Lab 5
- ✅ Your backlog names at least three KPIs from Lab 3 with a defined review cadence
- ✅ Your backlog states an explicit anomaly-response trigger and an owner from the RACI table
- ✅ Your backlog names a pilot outcome, stabilization rule, and owner for the first full-cost-per-durable-outcome baseline
- ✅ Your backlog states a showback-vs-chargeback decision, a target week for the next KPI review, and an owner for confirming that the baseline reflects standard allotments
Key Reference Tables (Quick Lookup)
Budget Control Comparison
| Control | What It Caps | When Active | Hard Stop? |
|---|---|---|---|
| Universal user-level budget (ULB) | Each user's total consumption (pool + metered) | Always | Always |
| Cost-center user-level budget (ULB) | Each cost-center member's total consumption (overrides universal) | Always | Always |
| Individual user-level budget (ULB) | One user's total consumption (overrides both above) | Always | Always |
| Cost-center / organization / enterprise budget | Metered charges only, after the shared pool is exhausted | Metered phase only | Only if "Stop usage when budget limit is reached" is enabled |
Pricing Snapshot (2026-08-08 — verify before use)
| Model | Input | Cached Input | Cache Write | Output |
|---|---|---|---|---|
| GPT-5 mini | $0.25 | $0.025 | N/A | $2.00 |
| GPT-5.4 nano | $0.20 | $0.02 | N/A | $1.25 |
| Claude Sonnet 5 | $2.00 | $0.20 | $2.50 | $10.00 |
| Claude Opus 5 | $5.00 | $0.50 | $6.25 | $25.00 |
All prices are USD per 1 million tokens. Source: Models and pricing for GitHub Copilot.
Sizing Check Formula
1. Max ULB consumption = Σ (users at each ULB tier × that tier's ULB amount)
2. Included-credit pool value =
[(Business seats × 1,900) + (Enterprise seats × 3,900)] × $0.01/credit
3. Gap to cover = Max ULB consumption − Pool value
→ Your cost-center + organization + enterprise budgets must cover this gap,
or users will be blocked by a spending budget before reaching their own ULB.
Use the standard included-credit amounts and the $0.01-per-credit conversion for this calculation. Use contracted seat rates only for separate license-cost analysis.
Cleanup
- Delete any live AI usage export downloaded for the workshop, or move it to the approved secured location identified during setup
- Supplied datasets and paper-only calculations require no cleanup
Related Modules
- Module 1 — Admin Guardrails & Budget Setup: Module 1 workshop
- Module 2 — Developer Optimization Patterns: Module 2 workshop
- Optional Module 4 — Agent Fleet Efficiency & Cost Governance — per-lane telemetry, pre-spend gates, and per-run credit caps for unattended Copilot automation (optional; outside the core curriculum duration)
- Curriculum overview: GitHub Copilot AI Credits Optimization
Hands-on lab guide for Module 3: Measurement & Optimization at Scale, part of the GitHub Copilot AI Credits Optimization workshop series (standalone-capable)