Direct answer: at the Azure Retail Prices API on 9 November 2026 (eastus, USD, excluding tax/discounts), Microsoft Fabric capacity bills by CU-hour: PAYG $0.18/CU-hour. So F2 (2 CU) is $0.36/hour ≈ $262.80/month and F64 (64 CU) is $11.52/hour ≈ $8,409.60/month. Reservations are bought per CU: one year at $938/CU (about $78.17/CU-month, a 40.5% saving; Microsoft says ~41%); F64 reserved is about $5,002.67/month. Capacity overage bills at 3× PAYG = $0.54/CU-hour, is enabled by default with a rolling 24-hour threshold, and does not receive reservation discounts. OneLake storage is hot $0.026, cool $0.019, cold $0.004/GB-month; mirroring gets 1 TB free per CU (F64 = 64 TB), but storage keeps billing when capacity is paused. F64 equals P1, and Power BI viewers on F64 or larger do not need Pro; Power BI Premium P SKUs are being retired, so new deployments should use F SKUs. The Fabric trial runs 60 days at F4 or F64.
This guide is for data leaders, platform/SRE, finance and procurement teams evaluating Microsoft Fabric, Power BI capacity or a lakehouse platform. It explains CU/F SKUs, PAYG versus reservations, 3× overage, OneLake storage and mirroring, four TCO scenarios, hidden costs and a 90-day optimization checklist. Prices come from the Microsoft Fabric pricing page, the Azure Retail Prices API and Microsoft Learn (eastus, 9 November 2026). Official price facts, editorial calculations and exclusions are kept separate. This is not procurement advice.
(1) Start with CU × $0.18 × 730, then add storage, overage and licences; F SKUs are linear, with no volume discount for buying larger. (2) Reservations save about 41%, but are bought per CU and do not refund a scale-down; overage is 3× PAYG and gets no reservation discount. (3) OneLake storage and the mirroring allowance are separate; pausing stops compute, not storage.
Billing units: CU, F SKUs and 730 hours
Fabric pools compute into a capacity, and each F SKU maps to a fixed number of Capacity Units (CUs): F2=2, F64=64, F1024=1,024. PAYG bills by CU-hour at $0.18/CU-hour in eastus; at 730 hours a month, F2 is $262.80 and F64 is $8,409.60. All workloads share the same CU pool instead of being billed per job, but storage, overage, Spark autoscale and licences are extra.
| SKU | CU | PAYG $/hour | PAYG $/month (730h) | 1-year reserved $/month | 30-second CU budget |
|---|---|---|---|---|---|
| F2 | 2 | 0.36 | 262.80 | 156.33 | 60 |
| F4 | 4 | 0.72 | 525.60 | 312.67 | 120 |
| F8 | 8 | 1.44 | 1,051.20 | 625.33 | 240 |
| F16 | 16 | 2.88 | 2,102.40 | 1,250.67 | 480 |
| F32 | 32 | 5.76 | 4,204.80 | 2,501.33 | 960 |
| F64 | 64 | 11.52 | 8,409.60 | 5,002.67 | 1,920 |
| F128 | 128 | 23.04 | 16,819.20 | 10,005.33 | 3,840 |
| F256 | 256 | 46.08 | 33,638.40 | 20,010.67 | 7,680 |
| F512 | 512 | 92.16 | 67,276.80 | 40,021.33 | 15,360 |
| F1024 | 1,024 | 184.32 | 134,553.60 | 80,042.67 | 30,720 |
Sources: Azure Retail Prices API (eastus, 9 November 2026) and the Microsoft Fabric pricing page. PAYG = $0.18/CU-hour × CU × 730; one-year reserved = $938/CU/year ÷ 12 = $78.17/CU-month (about 40.5% off). 30-second CU budget = CU × 30, from Learn "Plan your capacity size". Excludes tax, CSP markups and other discounts.
Reserved vs PAYG: about 41%, but no refund on scale-down
Microsoft states that a one- or three-year reservation saves about 41% versus PAYG; the Retail Prices API lists $938/CU for one year and $2,814/CU for three years, both equivalent to $78.17/CU-month, about 40.5% below the $131.40/CU-month PAYG rate. The catch: reservations are bought per CU, and scaling below the reserved amount does not reduce the bill; crossing the F256/F512 boundary can also briefly interrupt running jobs. Reservations suit a stable, predictable baseline, not a buy-big-then-shrink plan.
| Scenario | Compute/month | OneLake/month | Overage/month | Total/month |
|---|---|---|---|---|
| A: F8, 20 TB hot, 2% overage | 1,051.20 | 532.48 | 63.07 | 1,646.75 |
| B: F32, 100 TB hot, 5% overage | 4,204.80 | 2,662.40 | 630.72 | 7,497.92 |
| C: F64 PAYG, 200 TB hot, 10% overage | 8,409.60 | 5,324.80 | 2,522.88 | 16,257.28 |
| D: F64 reserved, 200 TB hot, 10% overage | 5,002.67 | 5,324.80 | 2,522.88 | 12,850.35 |
Editorial calculation: 730 hours/month; OneLake at hot $0.026/GB-month, 1 TB = 1,024 GB; overage = excess share × CU × 730 × $0.54, charged only on the excess; excludes Power BI Pro/PPU, Spark autoscale, networking, tax and implementation. D saves $3,406.93/month (about 21.0%) versus C because overage and storage get no reservation discount.
Capacity overage: 3× rate, 24-hour threshold, on by default
Fabric's bursting and smoothing spread short spikes over future timepoints: each is 30 seconds, with 2,880 timepoints in the next 24 hours. A capacity first uses 10 minutes of "future capacity" as a buffer, then throttles progressively (20-second delays, then rejected interactive operations). Capacity overage is an opt-in safety net (on by default when a capacity is created): the excess bills at 3× PAYG = $0.54/CU-hour, applies only to F SKUs, and gets no reservation discount. Admins set a rolling 24-hour threshold that is not a hard spending cap; Fabric evaluates it every 5 minutes, and in-flight consumption can push the bill above the threshold.
| SKU | 1% overage | 5% overage | 10% overage | 25% overage | 100% for a month |
|---|---|---|---|---|---|
| F16 | 63.07 | 315.36 | 630.72 | 1,576.80 | 6,307.20 |
| F32 | 126.14 | 630.72 | 1,261.44 | 3,153.60 | 12,614.40 |
| F64 | 252.29 | 1,261.44 | 2,522.88 | 6,307.20 | 25,228.80 |
| F128 | 504.58 | 2,522.88 | 5,045.76 | 12,614.40 | 50,457.60 |
Editorial calculation: overage = excess share × CU × 730 × $0.54; $0.54 is the official "3× PAYG" rate. Actual overage depends on smoothing, bursting and the 24-hour rolling window, so it is not a simple monthly percentage; the threshold is not a hard cap.
OneLake storage and mirroring: $0.026/GB-month, 1 TB free per CU
OneLake storage bills separately by GB-month and does not consume CUs: hot $0.026, cool $0.019, cold $0.004; BCDR is $0.0468/$0.0342/$0.0085. Mirroring replicas get 1 TB free per CU (F64 = 64 TB), restricted to mirroring replica data, with $0.026/GB-month beyond it. Storage keeps billing at PAYG when a capacity is paused, and all transactions are rejected while paused. SQL database in Fabric storage is $0.25/GB-month and Cosmos DB is $0.22115/GB-month, on separate billing lines.
| Storage type | $/GB-month | 10 TB/month | 100 TB/month | 500 TB/month |
|---|---|---|---|---|
| OneLake hot | 0.026 | 266.24 | 2,662.40 | 13,312.00 |
| OneLake cool | 0.019 | 194.56 | 1,945.60 | 9,728.00 |
| OneLake cold | 0.004 | 40.96 | 409.60 | 2,048.00 |
| BCDR hot | 0.0468 | 479.23 | 4,792.32 | 23,961.60 |
| Mirroring (above free allowance) | 0.026 | On excess | On excess | On excess |
| SQL storage | 0.25 | 2,560.00 | 25,600.00 | 128,000.00 |
| Cosmos DB storage | 0.22115 | 2,264.58 | 22,645.76 | 113,228.80 |
Sources: Azure Retail Prices API (eastus, 9 November 2026); 1 TB = 1,024 GB. Mirroring allowance = 1 TB/CU (F2 = 2 TB, F64 = 64 TB, F1024 = 1,024 TB), mirroring replicas only; storage continues to bill while capacity is paused.
Hidden costs: licences, Spark autoscale, networking and pausing
Seven common costs sit outside the capacity fee: Power BI Pro/PPU licences (viewers below F64 need Pro/PPU; F64 and above exempt viewers, but publishers always need Pro), Spark autoscale ($0.18/CU-hour, reservation discounts do not apply, and a base capacity is still required), 3× overage, OneLake/BCDR/mirroring excess, SQL/Cosmos storage, network egress (Microsoft says billing is "coming soon" with at least 90 days' notice), and storage while paused or during the 7–90 day workspace retention period.
| Cost item | Price/rule | When it occurs | Control |
|---|---|---|---|
| Power BI Pro/PPU | Per user/month, extra | Viewers below F64; publishers always | Plan viewers around the F64 threshold |
| Spark autoscale | $0.18/CU-hour | Opt-in on-demand Spark; no reservation discount | Use only for unpredictable Spark |
| Capacity overage | $0.54/CU-hour (3×) | Above smoothed capacity | Threshold, surge protection, scale up |
| OneLake storage | $0.004–0.026/GB-month | Long-lived lakehouse/warehouse data | Hot/cool/cold tiering, cleanup |
| BCDR storage | $0.0085–0.0468/GB-month | Disaster recovery enabled | Tier by RTO/RPO |
| Mirroring excess | $0.026/GB-month | Above the 1 TB/CU allowance | Mirror only necessary tables |
| Network egress | Billing coming soon | Cross-region/public access | Same region, private links, budget ahead |
| Paused/retention storage | Per GB-month | Capacity paused or workspace deleted | Shorten retention, clean data |
Sources: Microsoft Fabric pricing page; Learn "OneLake compute and storage consumption", "Pause and resume your Fabric capacity" and "Capacity overage" (9 November 2026). Licence prices are not converted here; check enterprise agreements and local pricing.
How to choose: F2–F64+ and the Power BI boundary
Start with the 30-second CU consumption in the Capacity Metrics app, not with a guess based on users or data volume. A practical frame: trials and small teams at F2–F4 or the 60-day trial; departmental BI plus a light lakehouse at F8–F16; a multi-workload mid-size platform at F32–F64; the "viewers need no Pro" threshold is F64; enterprise multi-business deployments at F128–F512 with reservations, workspace surge protection and separate capacities; unpredictable Spark with autoscale, while keeping a base capacity.
| Scenario | Suggested start | Check first |
|---|---|---|
| Trial/proof of concept | F2–F4 or 60-day trial (F4/F64) | Trial excludes the free mirroring allowance |
| Small department BI + light lakehouse | F8–F16 | 30-second CU peaks, refresh concurrency |
| Mid-size multi-workload | F32–F64 | F64 = P1; viewer Pro exemption threshold |
| Enterprise multi-business | F128–F512 + reservation | Separate capacities, surge protection |
| High concurrency/large lakehouse | F1024+ | Quota, cross-region, BCDR |
| Unpredictable Spark | Base F + Spark autoscale | $0.18/CU-hour, reservation not applicable |
| Intermittent dev/test | F8–F16 + pause | Storage still bills while paused |
Editorial selection framework, not a vendor recommendation; size the SKU from measured CU, peaks and growth in the Capacity Metrics app.
90-day optimization checklist
Use 90 days to move through "baseline → sizing → overage control → storage tiering → reservation → review". Weeks 1–2: pull 30-second timepoints, peak/background shares and 429/throttling events from the Capacity Metrics app. Weeks 2–4: size the F SKU from measured CU rather than user count. Weeks 4–6: set the overage threshold, enable surge protection and budget alerts. Weeks 6–8: tier OneLake hot/cool/cold, clean soft-deleted data and mirroring excess. Weeks 8–10: evaluate a one- or three-year reservation once the baseline is stable (no refund on scale-down). Weeks 10–12: review Power BI licences, Spark autoscale, the pause policy and the network billing notice.
FAQ
How is Microsoft Fabric capacity billed?
By CU-hour: PAYG $0.18/CU-hour, at 730 hours a month. F2 = $262.80/month, F8 = $1,051.20, F16 = $2,102.40, F32 = $4,204.80, F64 = $8,409.60, F128 = $16,819.20; storage, overage, Spark autoscale and licences are extra.
How does F64 relate to Power BI Premium P1?
Microsoft treats F64 as the P1-equivalent capacity: Power BI viewers on F64 or larger do not need Pro; viewers below F64 still need Pro/PPU, and publishers always need Pro. Power BI Premium P SKUs are being retired, so new deployments should prefer F SKUs.
How much does a reservation save?
Microsoft says a one- or three-year reservation saves about 41%. The Retail API lists $938/CU for one year and $2,814/CU for three years, equivalent to $78.17/CU-month, about 40.5% below the $131.40/CU-month PAYG rate. Reservations are per CU, and scaling below the reservation does not reduce the bill.
How is capacity overage calculated?
Usage above smoothed capacity bills at 3× PAYG = $0.54/CU-hour, only on F SKUs and with no reservation discount. It is on by default when a capacity is created; admins set a rolling 24-hour threshold, Fabric evaluates it every 5 minutes, and the threshold is not a hard spending cap.
Does pausing a capacity save money?
Pausing stops compute billing, but OneLake storage keeps billing per GB-month and all transactions are rejected while paused; remaining overage and smoothed consumption are settled on the Azure bill. Deleted workspaces also retain billable storage for 7–90 days.
How is OneLake storage priced?
Hot $0.026, cool $0.019, cold $0.004/GB-month; BCDR is $0.0468/$0.0342/$0.0085. Mirroring replicas get 1 TB free per CU (F64 = 64 TB), then $0.026/GB-month. SQL and Cosmos storage are $0.25 and $0.22115/GB-month.
Do viewers below F64 still need Power BI Pro?
Yes. Viewers below F64 need Pro or PPU; viewers on F64 and above are exempt, but report publishers still need Pro. If a large viewer population drives cost, the licence saving at F64 can offset part of the capacity difference, so compare "capacity + licences" together.
How does Fabric compare with Databricks or Synapse?
Align workload, CU/DBU units, storage, licences and overage first, then compare total cost. Fabric buys a shared capacity pool (CU-hour), Databricks bills DBU + VM, and Synapse uses DWU/serverless pools; comparing SKU price alone misses storage, licences and idle cost.
Research method and limitations
This article separates "official price facts" from "editorial calculations": the F SKU/CU list, $0.18/CU-hour, $938/CU/year and $2,814/CU/3-year reservations, $0.54/CU-hour overage, OneLake $0.026/$0.019/$0.004, BCDR $0.0468/$0.0342/$0.0085 and the 1 TB/CU mirroring allowance come from the Microsoft Fabric pricing page and the Azure Retail Prices API (eastus, 9 November 2026); F64=P1, the F64+ viewer exemption and the P SKU retirement come from the Learn licensing article; smoothing/bursting, the 10-minute buffer, 20-second delays and the 24-hour/5-minute overage rules come from the Learn throttling and overage articles; storage billing while paused comes from the Learn OneLake consumption article.
Eight limitations: (1) only eastus list prices, excluding tax, CSP markups and enterprise discounts; (2) 730 hours/month with no pause; (3) storage is modelled as hot, without every cool/cold/BCDR combination; (4) overage percentages are editorial assumptions, and actual usage depends on smoothing, bursting and the 24-hour window; (5) reservation prices come from the Retail API and may differ by region/currency at purchase; (6) no real workload CU benchmark, and AI Functions/Copilot CU consumption is not fully covered; (7) Power BI Pro/PPU, Spark autoscale, networking and implementation are not converted into the totals; (8) prices, features and billing rules change, so recheck official pages and bills before purchase.
Sources and basis
- Microsoft Azure, Microsoft Fabric Pricing: azure.microsoft.com/en-us/pricing/details/microsoft-fabric. F2–F8192, ~41% reservation saving, OneLake storage/mirroring, 3× overage, F64=P1, network billing notice. Accessed 9 November 2026.
- Azure Retail Prices API (serviceName=Microsoft Fabric, eastus): prices.azure.com/api/retail/prices. $0.18/CU-hour, $0.54/CU-hour overage, $938/CU/year, $2,814/CU/3-year, OneLake/BCDR/SQL/Cosmos storage rates. Accessed 9 November 2026.
- Microsoft Learn, Understand Microsoft Fabric licenses and capacity: learn.microsoft.com/en-us/fabric/enterprise/licenses. F/P SKU mapping, F64=P1, P SKU retirement, Power BI licensing rules. Accessed 9 November 2026.
- Microsoft Learn, Understand the Fabric capacity throttling policy: learn.microsoft.com/en-us/fabric/enterprise/throttling. 30-second timepoints, 24-hour smoothing, 10-minute buffer, 20-second delays. Accessed 9 November 2026.
- Microsoft Learn, Capacity overage in Microsoft Fabric: learn.microsoft.com/en-us/fabric/enterprise/capacity-overage-overview. 3× PAYG, rolling 24-hour threshold, 5-minute evaluation, F SKUs only, on by default. Accessed 9 November 2026.
Data cut-off 9 November 2026; prices/availability follow Microsoft official pages and bills; this is not procurement, commercial or legal advice.