Skip to main content
Data Platform

Microsoft Fabric Pricing Explained: Capacity Units, SKUs and Real Costs

The purchase request is one line: "Microsoft Fabric F64 capacity, annual." The finance director has signed off ERP per named user, storage per terabyte, maintenance as a percentage of licence value. None of those models apply here. The unit being sold is compute capacity — and nothing on the request says how many people it serves, how much data it holds, or what happens when the business uses more than it bought.

Amit Kumar Singh - Technology Consulting Partner at MyData Insights

Technology Consulting Partner · MyData Insights

14+ years in industrial data · Former Accenture & EY · India, GCC, SEA

19 August 2026 · 15 min read

The bottom line

A capacity unit (CU) is Fabric's unit of compute — a rate, not a quantity. An F64 provides 64 CUs continuously, evaluated as a budget of 1,920 CU seconds in each 30-second window, drawn down by every workload in the tenant. The F SKU ladder doubles at each step (F2 to F2048); the discount mechanism is the reservation, which is applied hourly, covers compute only (not storage or networking), and does not carry unused hours forward. A capacity buys compute — OneLake storage, transactions, BCDR, overage and Power BI per-user licences below F64 are separate meters. Fabric bursts above the rate then smooths consumption (background over 24 hours), so a 02:00 load still occupies budget at 14:00. Exceed capacity and it throttles in stages, not fails. The F64 threshold, where Free-licence users can view content, usually decides the SKU for mid-market estates — not the compute.

The model is not dishonest — it is unfamiliar

Microsoft documents Fabric pricing thoroughly. You are buying a rate of compute, drawn down by every workload in the tenant, averaged across time windows, with several meters running alongside it that the capacity does not cover.

This article explains those mechanics. It does not estimate what your programme will cost, and it does not tell you which SKU to buy. I have quoted no list prices — Fabric pricing is regional and moves. Every mechanic below is verified against Microsoft Learn; price it against the Fabric SKU estimator and the Azure calculator for your own region and currency.

What is a capacity unit in Microsoft Fabric?

A capacity unit (CU) is Fabric's unit of compute power — a rate, not a quantity. An F64 provides 64 CUs continuously, which the platform evaluates as a budget of 1,920 CU seconds in each 30-second window. That window is the mechanical detail most explanations skip: Fabric divides the day into 2,880 timepoints of 30 seconds each, and at each one your capacity has a budget equal to its CU count times 30, from which every operation — a Spark notebook, a Dataflow refresh, a Power BI query, a Copilot prompt, a OneLake write — consumes CU seconds.

A CU is therefore not a seat and not a gigabyte. It is closer to a leased motorway lane: the right to move a certain volume of traffic per second, shared by everything in the tenant. Commercially, that decouples cost from headcount — two hundred report viewers cost the same in capacity terms as twenty, if they run the same queries. Cost is driven by workload — refresh frequency, data volume, model size, notebook runtime — making capacity an engineering variable, not an HR one.

How does the F SKU ladder work?

Fabric F SKUs are named for their capacity unit count and double at each step: F2 (2 CUs), F4, F8, F16, F32, F64, F128, F256, F512, F1024 and F2048, with F4096 and F8192 in the capacity planning docs. The ladder is linear in compute — doubling the SKU doubles the compute rate — and there is no volume discount built into the ladder itself; that is the reservation's job.

Three practical consequences. You can move up and down it — F capacities are scaled like any other Azure resource, so an undersized capacity is not a sunk cost unless you have reserved it. The steps are coarse at the bottom — for a mid-market industrial business with one ERP, a WMS and a plant historian, the honest sizing conversation usually lands between F8 and F64, an eightfold bracket, which is why the estimator asks for compressed data size, batch cycle count and table count rather than user numbers. And one rung has commercial consequences unrelated to compute: F64 is where Power BI viewer licensing changes.

Pay-as-you-go or reservation: what does the commitment buy?

F capacities are billed through Azure per second with no commitment and a one-minute minimum, or reserved for one or three years at a lower rate. A reservation is purchased in one-CU increments, applied hourly, scoped to a region, and matched automatically to running capacity. The trade-off is sharper than a normal software commitment, for two documented reasons. Unused reservation is lost hourly, not annually — reserve 64 CUs and run 32, and the other 32 are gone for that hour, with no annual true-up. And the reservation covers compute only — not storage or networking, so a finance model treating the reservation as "the Fabric bill" will be wrong by however much OneLake storage and transfer you accrue.

The pattern that works: run pay-as-you-go for the first two to three months of production, watch the Capacity Metrics app, then reserve only the floor you are confident you consume every hour and leave the peak on pay-as-you-go.

What is included in the capacity, and what is billed separately?

A capacity buys compute. This is the table to put in front of a finance approver:

What you are billed forWhat surprises people
Fabric capacity (CUs)Every workload draws on it: pipelines, Spark, warehouse, Power BI, Copilot, data agents
OneLake storage (per GB, no CUs)Soft-deleted data bills at the same rate as active data
BCDR storage (geo-replicated)Separate, higher-rate meter; BCDR writes consume more CU seconds
OneLake transactions (CU seconds)Storage is cheap; chatty small-file access is not
Copilot / data agentsBilled as a background job, smoothed over 24 hours — appears long after the prompt
MirroringFree storage of 1 TB per CU; you pay when the capacity is paused or you exceed it
Capacity overage (preview)Billed at 3× pay-as-you-go, on a separate meter
Power BI Pro / PPU licencesFor creators at any SKU, and for every viewer below F64

Two deserve emphasis. Mirroring's free allowance is generous — 1 TB per CU, so an F64 carries 64 TB — but it is tied to a running capacity. And capacity overage at 3× pay-as-you-go is priced to be a circuit breaker, not a capacity plan.

Why is Fabric cost forecasting counterintuitive? Smoothing and bursting

Fabric lets operations burst above the provisioned CU rate to finish faster, then smooths the resulting consumption — interactive operations over 5 to 64 minutes, background operations over a full 24-hour period. This is good engineering and confusing accounting. Bursting means a Spark job rebuilding two years of history can temporarily use more compute than the SKU provides, finishing in twenty minutes rather than three hours — you are not blocked at the ceiling. Smoothing is how you pay for it: rather than charging the burst against one timepoint and throttling instantly, Fabric averages the consumption forward.

The consequence: a nightly ERP load running at 02:00 is still occupying capacity budget at 14:00 when the sales team opens their reports. Contention is not a function of concurrent users at a moment in time, but of everything the estate did in the preceding day. That is the most common reason a capacity which looked fine in testing starts delaying reports in week six of production. It also means you cannot attribute cost to a department by watching the clock.

A nightly load at 02:00 is still occupying capacity budget at 14:00. Contention is a function of everything the estate did in the preceding 24 hours — not concurrent users at a moment in time.

What actually happens when you exceed your capacity?

Fabric does not fail over or auto-bill by default — it throttles, in documented stages:

Future capacity consumedWhat a user experiences
Up to 10 minutesNothing. Jobs run at burst speed
10 to 60 minutesEvery report interaction takes 20 seconds longer at submission
60 minutes to 24 hoursReports fail to load; scheduled pipelines still run
Over 24 hoursEverything fails, including the overnight loads

Excess consumption becomes carryforward CUs, burnt down by unused capacity in later timepoints, and throttling continues until the carryforward is paid off — so one unbounded Spark job on a Friday night can degrade Monday morning. Three controls exist: surge protection (a background-rejection threshold plus per-workspace limits, with workspaces tagged Mission Critical or Blocked), capacity overage (pays off the excess at 3× rather than throttling), and scaling the SKU. For an operations estate the design decision is which workspaces are Mission Critical — if the plant's shift-handover report and an analyst's exploratory notebook share a capacity with no limits, the notebook wins by accident.

How does Power BI licensing interact with the F SKU?

On an F64 capacity or larger, users with only a Power BI Free licence and the workspace viewer role can view Power BI content. Below F64, every viewer needs Pro, PPU or a trial. For mid-market industrials this is usually the decision, not the compute sizing. A packaging business with 400 read-only staff faces a straight comparison: 400 Pro licences on an F8, or an F64 with 400 Free licences plus a handful of Pro for the authors. The crossover frequently lands well below the compute the business actually needs — you buy F64 for the licence rule and get the compute as a by-product.

Two traps: Free licences let users create non-Power BI Fabric items on an F capacity but not Power BI items outside My Workspace; and PPU is not a route to Fabric — it does not provision a capacity or enable non-Power BI items. Copilot adds a wrinkle: a Fabric Copilot capacity lets an administrator centralise Copilot billing on one designated capacity, minimum F2, in the tenant's home region.

Can you pause the capacity to save money?

F SKU capacities can be paused and resumed, and billing stops while paused — but content on the capacity becomes unavailable, and on pausing, any remaining cumulative overages and smoothed operations are summed and added to the Azure bill immediately. Pausing works for development and test capacities, and for batch-only estates in a single time zone. It does not work for a production capacity serving a 24-hour plant or three countries, because paused means unavailable, not slow.

Three things people miss: mirroring stops entirely when paused, and you begin paying OneLake storage for mirrored data that was free while running; the smoothed backlog is settled at the moment of pause, so pausing at the end of a heavy day does not avoid that day's cost; and a reservation keeps billing regardless — pause a reserved capacity and you have paused the workload, not the commitment. One legitimate emergency use: pausing a throttled capacity ends the throttling immediately.

Where this breaks: what this pricing model does not tell you

The model prices compute honestly but hides four things from a purchase approver. The estimator is a preview tool fed by your guesses — compressed data size, batch cycles, table counts — every one an estimate before you have built anything; treat its output as a bracket and re-size after 60 days of real telemetry. Capacity cost is a consequence of modelling quality — a star schema at the correct grain with an incrementally refreshed fact table consumes a fraction of a wide flat table refreshed in full every hour, so two businesses with identical data volumes can sit three SKU rungs apart, and nobody quotes that variance at purchase time.

The capacity bill is not the programme cost — capacity is often the smallest line, below data engineering, semantic modelling, master data reconciliation and the internal time to define OTIF or OEE consistently. Chargeback is not free — Fabric bills the tenant, not the department, so allocating cost requires workspace design and someone reading the Capacity Metrics app monthly. And throttling is a business risk, not an IT one — the gap between interactive delay and interactive rejection is the gap between a slow morning and a plant management team without their shift report.

What to do first

Five questions to answer this week, before the purchase request goes back up the chain:

  • How many people only view reports? If above ~50, model F64 with Free viewer licences against the Pro-licence alternative before discussing compute at all
  • What is your heaviest scheduled job, and when does it run? Because of 24-hour smoothing, it competes with tomorrow's report traffic, not tonight's
  • Which workspaces are Mission Critical? Name them now, and set surge protection limits on the rest
  • Who reads the Capacity Metrics app, and monthly or never? An unowned capacity drifts in exactly one direction
  • What is your OneLake retention policy? Soft-deleted data bills at the same rate as active data

Answer one and two and you can defend a SKU choice. Answer three to five and you can still defend it in twelve months. We size and run these capacities as part of building the estate — and we will tell you when an F8 is enough, and when the honest answer is that you are buying F64 for a licensing rule rather than for compute.

The unit is unfamiliar, not dishonest — a rate of compute drawn down by the whole tenant, smoothed across time, with separate meters the capacity does not cover. Understand the F64 cliff and the 24-hour smoothing and the model stops surprising you. Book 30 minutes with Amit — no slides, no pitch deck, no obligation to proceed — a straight read on which SKU your usage justifies and which meters your budget has not accounted for.

Free Assessment

Where does your operation sit on the data maturity curve?

8 questions. 3 minutes. You get a scored breakdown across data infrastructure, analytics readiness, and automation potential — with a specific next step for your industry.

Data PlatformMicrosoft FabricPricingCapacityLicensing

Your Data · Our Technology · Our Automation

Get practical insights every fortnight

Amit writes about Microsoft Fabric, Power BI, AI in operations, and digital transformation for manufacturing and supply chain leaders. Practitioner perspective - no fluff, no vendor spin.

No spam. Unsubscribe any time. Also on Substack.

FAQ

Common questions

What is a capacity unit in Microsoft Fabric?

A capacity unit (CU) measures compute power for a Fabric SKU. It is a rate rather than a quantity: an F64 provides 64 CUs, evaluated as 1,920 CU seconds in each 30-second timepoint, with 2,880 timepoints in a day. Every workload in the tenant — pipelines, Spark, warehouse, Power BI, Copilot — draws from that same budget.

Is Microsoft Fabric pay-as-you-go or reserved?

Both are available. F capacities are billed through Azure per second with no commitment and a one-minute minimum, or reserved for one or three years at a lower rate. Reservations are bought in one-CU increments, applied hourly and scoped to a region. Unused reserved hours do not carry forward, and reservations cover compute only, not storage or networking.

What is not included in a Fabric capacity?

OneLake storage is billed separately per GB and does not consume CUs. Geo-replicated BCDR storage, OneLake read and write transactions, cool and cold tier retrieval fees, capacity overage, autoscale billing for Spark, and Power BI Pro or PPU licences below F64 are all separate. Soft-deleted data is billed at the same rate as active data.

What happens if I exceed my Fabric capacity?

Fabric throttles in stages rather than failing immediately. Up to 10 minutes of borrowed future capacity, nothing happens. From 10 to 60 minutes, interactive jobs are delayed 20 seconds at submission. From 60 minutes to 24 hours, interactive jobs are rejected while background jobs continue. Beyond 24 hours, all requests are rejected until carryforward is paid off.

Why do I need F64 for Power BI viewers?

On F64 or larger, users with a Power BI Free licence and the workspace viewer role can view Power BI content. Below F64, every viewer needs Pro, PPU or an individual trial. For organisations with large read-only audiences, that threshold often decides the SKU regardless of how much compute is actually required.

Can I pause my Fabric capacity to save money?

Yes, for F SKUs — billing stops while paused, but content on the capacity becomes unavailable, so it suits development rather than production. On pausing, outstanding smoothed consumption and overages are settled onto the Azure bill immediately. Mirroring stops and mirrored data starts incurring OneLake storage charges. A reservation continues billing regardless.

Continue Reading

Related Articles

Data Platform

Microsoft Fabric vs a Legacy BI Stack (SSIS + SSAS + Power BI): The Migration Case

The most common estate I walk into is not a mess. It is an on-premises SQL Server, a set of SSIS packages built between 2014 and 2019, one or two SSAS cubes, and Power BI bolted on the front. It runs. Finance closes on it. The reason I get called is a symptom — the person who wrote the packages left, the overnight batch now finishes at 07:20 and the plant meeting is at 07:30. "It is old" is not a business case.

16 min read

Data Platform

Microsoft Fabric vs SAP Datasphere: Which One Do You Actually Need

The SAP account team says the analytics answer is SAP Datasphere, because that is where the business semantics already live. Two weeks later the Microsoft team says Fabric, because that is where Power BI, the MES extracts and the 3PL feeds already live. Both are internally consistent, and neither mentions the other except to dismiss it. The IT Head is asked to pick, and picks badly — because the two products solve different halves of one problem.

16 min read

Data Platform

The Hidden Costs of a Microsoft Fabric Migration Nobody Tells You About

The awkward conversation happens in month five, not month one. The platform works. The first three reports are live. Then the finance business partner circulates the actual run-rate against the approved business case, and the number is 30–50% over — not because the partner overran, but because six or seven cost lines were never in the case at all. I sell Fabric implementations. This names the costs my own proposals have to cover.

15 min read

Want to see how MDI solves this in your industry? Explore industry solutions

Is this the challenge you're facing?

Book a 30-minute call. We'll look at your specific operation and tell you what's achievable - plainly and without slides.