Skip to main content

FOCUS Billing Analysis with SQL

Independent prep for the FinOps Certified FOCUS Analyst exam. Exam not included.

intermediate
Written by Adam MoradManages $10M+ in annual multi-cloud spend

Flagship course · 5 weeks · SQL on FOCUS billing data

Last updated October 1, 2026

Learn to answer real cloud-cost questions from FOCUS billing data with SQL: reconcile commitment amortization so a $0 BilledCost row stops looking free, catch spend anomalies and pin their driver, and turn EffectiveCost into a unit-economics number finance can use.

5 weekly lessonsAbout 10 to 12 hoursWeek 1 free, no account

$89 one-time. You sign in with Google before checkout so the course unlocks on that account. Independent course; official exam not included.

At a Glance.

Price
$89, one-time payment
Who it is for
Data engineers, cloud engineers and FinOps analysts who write SQL.
You should know
SQL with GROUP BY and joins; FOCUS basics. Some Python helps in Week 4.
You will build
A comparison query and memo, a commitment reconciliation, an anomaly notebook, a unit-economics model.
Format
Self-paced text lessons with SQL, exercises and templates. No video, no live sessions.
Time
About 10 to 12 hours over 5 weeks (author’s estimate).
Support
Questions by email to support@finopscourse.com.
Access
Lifetime access on the Google account you buy with, including lesson updates (see Terms).
Certification
None. Official exam not included ($400 from the FinOps Foundation).
Refunds
Request by email; handled under the refund policy shown at checkout.

Why This Course.

Most FOCUS material stops at what the columns mean. This course assumes you know roughly what FOCUS is and spends five weeks on the analyst work: comparing spend across AWS, Azure and Google Cloud on one schema, reconciling ListCost, ContractedCost, BilledCost and EffectiveCost for a workload under a commitment, finding anomalies in a cost time series, and building a unit-economics model. The exercises follow one fictional company, Meridian Retail, whose billing data is synthetic and shown inside the lessons, so every number in a worked example can be checked by hand.

What You’ll Walk Away With.

  • ✓A cross-cloud cost comparison query across AWS, Azure and Google Cloud spend normalized on ProviderName, ServiceCategory and RegionId, with a short findings memo.
  • ✓A commitment reconciliation worksheet showing ListCost, ContractedCost, BilledCost and EffectiveCost for one workload across a full commitment term, including the Unused portion.
  • ✓An anomaly-detection notebook (Python and pandas) over a daily EffectiveCost series, plus a written root-cause narrative.
  • ✓A unit-economics model (cost per customer, transaction or request) built on EffectiveCost, and a one-page executive memo.
  • ✓Practice checking the FinOps Foundation’s FOCUS Use Case Library before writing a query from scratch.

Look Inside.

A preview from Week 3: is that commitment actually being used?

Meridian Retail (fictional) prepaid $131,400 for a one-year Compute Savings Plan, amortized at $15.00 per hour. Five months in, a migration right-sizes the fleet to 60% of the committed capacity. BilledCost on the covered usage stays $0 the whole year, so a dashboard built on BilledCost shows nothing wrong. This query, taken from the lesson, splits the year’s EffectiveCost by CommitmentDiscountStatus:

Week 3 · unused commitment finder (PostgreSQL)
SELECT
  "CommitmentDiscountStatus",
  ROUND(SUM("EffectiveCost")::numeric, 2) AS effective_cost
FROM focus_cost_and_usage
WHERE "CommitmentDiscountId" = 'cs-compute-2026-meridian-01'
  AND "ChargeCategory" = 'Usage'
  AND "ChargePeriodStart" >= '2026-01-01'
  AND "ChargePeriodStart" <  '2027-01-01'
GROUP BY "CommitmentDiscountStatus"
ORDER BY effective_cost DESC;
CommitmentDiscountStatuseffective_cost
Used$100,740.00
Unused$30,660.00

$30,660 of the prepaid $131,400 (23%) bought capacity nobody used. The lesson then reconciles all four cost columns month by month and asks you to write up what to do before the commitment renews. Numbers are synthetic and reconcile exactly: 5 months × $10,950 plus 7 months × $6,570 used, and 7 months × $4,380 unused.

How This Course Is Built.

What is different about the way this course is built:

  • ✓Analysis first: each week ends with a deliverable (a query, a reconciliation worksheet, a notebook, a memo), not a quiz score.
  • ✓Written by a practitioner: someone who manages $10M+ in multi-cloud spend and has worked through these reconciliations on real bills.
  • ✓One running scenario: the same fictional company across all five weeks, so the commitment you reconcile in Week 3 is the step change you must rule out in Week 4.
  • ✓The amortization traps covered properly: a BilledCost of $0 does not mean free, and unused commitment shows up as its own rows. Both break unit-economics models when missed.

Scroll right to see the full comparison →

OptionPriceWhat you getCredential
This course (independent)$895 text lessons with SQL and Python exercises, templates, a fictional multi-cloud scenarioNone. A self-generated completion certificate only
FinOps Foundation: FinOps Certified FOCUS Analyst$400Self-paced course plus the certification exam, 12 months of accessYes. Exam of 40 questions in 1 hour; credential valid 24 months
FinOps Foundation: FOCP + FOCUS Analyst bundle$600Two certification courses and their exams (Practitioner and FOCUS Analyst)Yes, two credentials
FinOps Foundation: Introduction to FOCUSFreeIntroductory course on the specificationNo
FOCUS Query Sandbox and Use Case LibraryFreeRun maintained example queries in the browser against sample FOCUS dataNo

If you need the credential itself, the Foundation’s $400 course plus exam is the product that awards it, and this course does not replace it. If you want the concepts for free, start with Introduction to FOCUS and the Sandbox. This course is for people who want guided, hands-on analysis practice; some buy it before or alongside the official exam.

Who It’s For.

Data engineers, cloud engineers and FinOps analysts who can write SQL and want hands-on practice turning FOCUS billing data into findings: cross-cloud comparisons, commitment reconciliation, anomaly detection and unit economics.

What you should already know

  • Comfortable SQL: SELECT, WHERE, GROUP BY, joins, and ideally window functions.
  • A rough idea of what FOCUS is and why it exists. Week 1 recaps the essentials briefly, not the whole specification.
  • For Week 4 only: enough Python to read a short pandas script. You can follow the logic without running it.
  • No cloud account is required. The scenario data is shown in the lessons.

It is not a FOCUS specification walkthrough for complete beginners (the Foundation’s free Introduction to FOCUS covers that), and it is not the official credential. If you need the certificate for an employer, buy the Foundation’s course and exam; this course does not include the exam.

Your Instructor.

Adam Morad

Adam Morad

Cloud FinOps and data engineering practitioner. Adam manages $10M+ in annual multi-cloud spend, with a track record of cutting cloud costs 20 to 30% through rightsizing and commitment management, and writes and maintains every lesson on The FinOps Desk.

Previously worked at VAST Data, NemoData, Cyber@ Ben-Gurion University (Deutsche Telekom Innovation Labs).

Worked With

Companies Adam has worked with professionally. Not endorsements of The FinOps Desk.

CloudZoneAnodotWiv.aiDoiTOracle CloudTeraSky
Exam

The lessons cover skill areas the FinOps Foundation’s FinOps Certified FOCUS Analyst exam checks for, such as working with FOCUS datasets and applying the Use Case Library. This course is independent: it is not affiliated with or endorsed by the FinOps Foundation, it does not include the exam, and it does not award a credential.

Curriculum.

01 · Foundations · Cost Lenses & Tooling

FOCUS Recap for Analysts + The Toolkit

  • A fast recap of the FOCUS schema, which AWS, Microsoft and Google Cloud now export billing data in
  • The four cost lenses: ListCost, ContractedCost, BilledCost and EffectiveCost, what question each one answers, and when to reach for which
  • Query environments: the Foundation’s free FOCUS Query Sandbox, SQL over provider FOCUS exports, and pandas for ad hoc analysis
  • Reading the account and resource hierarchy: BillingAccountId, SubAccountId, ResourceId and Tags
  • Reproducing a FOCUS Use Case Library query and writing commentary on what it shows
Deliverable: a working query environment and one reproduced Use Case Library query, with your own written commentary on what it actually shows.

02 · Cross-Cloud Normalization

Cross-Cloud Cost Comparison

  • Normalizing spend across ProviderName, InvoiceIssuerName, ServiceCategory and ServiceName so an AWS / Azure / Google Cloud comparison compares like with like
  • Filtering ChargeCategory before you compare anything: Usage, Purchase, Tax and Credit rows will silently wreck a total if left in
  • Currency correctness: BillingCurrency vs. PricingCurrency
  • Where cross-cloud comparisons break in practice: mismatched RegionId taxonomies and inconsistent ServiceCategory granularity
  • A query that ranks the three clouds by EffectiveCost per ServiceCategory over a billing period
Deliverable: a cross-cloud cost-comparison query plus a findings memo explaining what drives the differences (rate, mix or commitment coverage).

03 · Commitments & Amortization

Commitment Discounts & Amortization

  • The commitment fields: CommitmentDiscountId, CommitmentDiscountType, CommitmentDiscountCategory and CommitmentDiscountStatus
  • Why BilledCost is $0 for any row a commitment fully covers, and why summing BilledCost as "spend" understates reality
  • How EffectiveCost spreads a prepaid commitment across its term and across the resources that used it
  • Finding money in CommitmentDiscountStatus: unused commitment is capacity you already paid for
  • Reconciling all four cost fields for a single workload across a full commitment term
Deliverable: a commitment-amortization worksheet that reconciles all four cost fields for one workload and flags any unused commitment.

04 · Anomaly Detection

Anomaly Detection on FOCUS-Normalized Data

  • Building an EffectiveCost time series at the right grain (ChargePeriod for daily detail, BillingPeriod for invoice-level rollups)
  • Baselines that work on cost data: rolling averages, week-over-week deltas and z-score thresholds
  • Dimensioning a detected anomaly down to its driver using ServiceCategory, SubAccountId and Tags
  • Ruling out a commitment-driven step change (from Week 3) before calling something an anomaly
  • Building the detector as a Python notebook against the scenario data
Deliverable: an anomaly-detection notebook (Python/pandas) plus a written root-cause narrative for one detected anomaly.

05 · Unit Economics & Reporting

Unit Economics & Reporting Business Value

  • Building a cost-per-unit model by joining EffectiveCost to a business metric
  • Why EffectiveCost, not BilledCost or ListCost, is the right lens for unit economics
  • Allocation with Tags and the SubAccountId hierarchy: showback vs. chargeback
  • Packaging findings for a non-technical stakeholder: a one-page memo format
  • How the course material relates to the official FOCUS Analyst exam, for anyone deciding whether to sit it
Deliverable: a unit-economics model plus a one-page executive memo you can use as a work sample.

What the Course Includes.

  • ✓Five written lessons, one per week, each about 2 hours including exercises. Self-paced: no live sessions and no schedule to keep.
  • ✓Worked examples with SQL and the result tables they produce, interactive knowledge checks, and “try it first, then reveal” exercises.
  • ✓Downloadable Markdown templates for the findings memo and the executive memo.
  • ✓Your progress is saved to your account, and you can mark the course complete at the end.

Included

  • ✓All 5 weekly lessons, exercises and templates.
  • ✓Questions by email to support@finopscourse.com. There is no live support, cohort or community.
  • ✓A completion certificate you generate yourself in the browser. It is not verified and is not a FinOps Foundation credential.

Not included

  • The FinOps Foundation’s FOCUS Analyst exam or any official credential.
  • Video lessons, live sessions or graded feedback on your deliverables.
  • A cloud account, warehouse or real billing export.

Frequently Asked.

How much time does this take?
The author’s estimate is about 2 hours a week for 5 weeks, including the exercises. The free Week 1 lesson takes about 20 minutes to read. It is self-paced, so you can go faster or slower.
Is the data real?
No. Meridian Retail is a fictional company and its billing data is synthetic, written to follow FOCUS rules so the examples reconcile exactly. No customer data is used. To practice on real data, run the same queries against your own provider’s FOCUS export or the Foundation’s free Query Sandbox.
Is this the official FinOps Foundation course?
No. It is independently developed. It is not affiliated with, endorsed by or sponsored by the FinOps Foundation, and it does not award a FinOps Foundation credential.
Does the price include the FOCUS Analyst exam?
No. The FinOps Foundation sells its FinOps Certified FOCUS Analyst self-paced course plus exam for $400 on learn.finops.org (checked 2026-10-01). The exam is 40 questions in 1 hour, and the credential is valid for 24 months. This course does not guarantee a pass.
How long do I have access?
Lifetime access: no expiry date and no renewal fee for as long as The FinOps Desk offers the course, including later lesson updates. It unlocks on the Google account you buy with (see the Terms of Service).
What if it is not right for me?
Refund requests go to support@finopscourse.com and are handled under the refund policy shown at checkout by Creem, the merchant of record. A full refund ends access to the course. Try the free Week 1 lesson first to judge the format and level.
Do I need an account?
Not for the free lesson. To buy, you sign in with Google first, so the course unlocks on that account. Checkout itself is on Creem’s hosted page.

Interested?.

$89

One-time payment for all 5 weeks. Official exam not included.

Not right for you? Refunds are handled per our refund policy — email support@finopscourse.com.

Read the free Week 1 lesson first, then email any questions about the full course.

Take a look at our other courses.