Microsoft Fabric brings data engineering, analytics, and BI into a single platform. But for many organizations evaluating Fabric, one question surfaces quickly: How do you size capacity correctly without overpaying or underprovisioning?
Fabric pricing is built around capacity tiers, storage allocations, and licensing thresholds that can significantly impact your Azure bill if misunderstood. This guide explains how Fabric capacity works, where organizations commonly overspend, and how to approach sizing a deployment before committing to a long-term investment.
01: Finding the Right Capacity Plan for Your Organization
Fabric’s pricing is built around a concept called capacity. Rather than paying per user or per service, you purchase a shared pool of compute resources called Capacity Units (CUs) that your entire team uses. Every workload in Fabric, from running Spark notebooks to refreshing Power BI dashboards and executing data pipelines, draws from that shared pool.
The size of that pool is defined by your SKU tier, which runs on a scale from F2 (the entry level) up to F2048 for large enterprise deployments. Each tier roughly doubles the compute of the tier below it, and costs scale linearly alongside it.
Your Two Purchasing Options
Before picking a tier, you’ll choose how you want to pay. There are two options:
Pay-As-You-Go
With pay-as-you-go, you’re billed hourly (down to the minute) for whatever capacity you’re running. You can pause the capacity when it’s not in use, scale up for a busy week and scale back down afterward, and upgrade or downgrade your tier at any time. This flexibility makes it the right starting point for most teams, especially when you’re still learning what your actual usage looks like.
Tip: Use the Fabric Capacity Metrics app in Azure to monitor your CU consumption and get a clear picture of your workload patterns before committing to a tier.
Reservations (Annual Commitment)
Once your usage has stabilized and you have a sense of the right SKU for your needs, a reservation is worth considering. By committing to a full year upfront, you get a roughly 40% discount compared to pay-as-you-go rates. The trade-off is that you can’t downgrade your tier mid-year; you are locked in, though you can still scale up if demand grows.
The SKU Tiers: A Quick Reference
Here’s a simplified overview of the most commonly used Fabric SKU tiers and their general positioning:
| SKU | Capacity Units | Best Fit | Power BI Pro Required? |
| F2 | 2 CUs | Small teams, development/testing | Yes, for viewers |
| F4 | 4 CUs | Small workloads, exploratory use | Yes, for viewers |
| F8 | 8 CUs | Growing teams with moderate workloads | Yes, for viewers |
| F16 | 16 CUs | Mid-sized teams, regular pipelines | Yes, for viewers |
| F32 | 32 CUs | Larger workloads, more concurrency | Yes, for viewers |
| F64 | 64 CUs | Enterprise use; unlocks free viewer access | No (viewers free at F64+) |
| F128+ | 128+ CUs | High-scale enterprise deployments | No (viewers free at F64+) |
Prices vary by Azure region, so always check the Microsoft Azure pricing page for the exact rates in your location.
The F64 Threshold: Why It Matters
For organizations with large numbers of Power BI report consumers, the cost equation changes quickly.
One SKU tier deserves special attention: the F64. Below F64, every user who views Power BI content in a Fabric workspace needs an individual Power BI Pro license (currently $14/user/month). For organizations with many report consumers, those per-user fees can add up quickly, sometimes exceeding the cost of the capacity itself.
At F64 and above, Power BI viewers no longer need individual Pro licenses. For organizations with a large audience of report consumers, this threshold can actually make F64 more cost-effective than running a smaller SKU with a large number of Pro licenses attached to it.
Quick math: If you have 100 report viewers on an F32, you’re paying ~$1,400/month in Pro licenses on top of your capacity cost. At that scale, running the numbers on F64 often makes sense.
02: Storage Capacity and OneLake: What Happens When You Run Out
Capacity (the compute side of Fabric) and storage (where your data lives) are two separate billing dimensions. Understanding the difference matters because one of the most common surprises in a Fabric deployment is an unexpected OneLake storage charge.
How Storage Is Included with Your Capacity
Every Fabric capacity SKU comes with a built-in storage allocation. The rule of thumb is straightforward: your free storage equals your SKU number in terabytes. An F64 capacity, for example, includes 64 TB of free OneLake storage. An F8 includes 8 TB.
That storage covers the data you’re actively working with in OneLake – your Lakehouse files, warehouse tables, notebooks, and semantic models. For most organizations, this built-in allocation is more than enough.
What Happens When You Exceed Your Allocation
If your data footprint grows beyond your included storage, the overage flows into standard OneLake billing at $0.023 per GB per month, charged automatically through your Azure subscription. You won’t need to take any action (Azure handles it) but you’ll see the charges appear in your Azure Cost Management dashboard.
Important distinction: Exceeding your storage limit does not affect your compute capacity or trigger an automatic SKU upgrade. Storage overages are billed separately and do not change your processing power.
Power BI Native Storage vs. OneLake Storage
It’s worth clarifying a common point of confusion: Power BI has its own native storage (separate from OneLake) for import-mode semantic models, and that storage continues to be free up to the limits tied to your Power BI licensing. Data stored in OneLake for Power BI import semantic models is included in the price of your Power BI licensing.
OneLake storage charges apply to data outside of those Power BI-specific allocations – think of Lakehouse tables, data engineering outputs, and mirrored databases.
Mirroring Storage: A Separate Free Tier
Fabric also includes a free mirroring storage tier, which is a feature that lets you continuously replicate data from external databases into OneLake in nearly real time. The free mirroring allocation follows the same SKU-based rule (e.g., F64 gets 64 TB free for mirroring). OneLake storage is only billed when that free limit is exceeded, or when your provisioned capacity is paused.
Managing Storage Costs in Practice
A few practices that help keep storage costs predictable:
- Monitor storage consumption regularly through the Azure portal and Fabric admin portal to stay ahead of overage charges.
- Identify and archive or delete data that is no longer actively used, especially large historical datasets that don’t need to live in hot storage.
- Keep compute and storage billing separate in your mental model. Scaling your SKU up or down changes your compute cost; it won’t directly resolve a storage overage unless the higher SKU also brings a larger built-in allocation.
03: Here’s What We Recommend
The good news is that Fabric is designed to let you start small and commit once you’re confident. Here’s the approach we walk most clients through.
|
TRIAL |
Start with the 60-Day Free Trial
Microsoft offers a free 60-day trial at the F64 capacity tier: – enterprise-level compute, not a watered-down sandbox. Run your actual workloads during this period: data pipelines, Power BI reports, notebooks, whatever represents your typical day-to-day usage. Use the Fabric Capacity Metrics app throughout to track your CU consumption by workload. If the trial isn’t available to you (for example, if your tenant already consumed one, your organization restricts it, or you’re integrating with third-party AI tools like OpenAI where free tiers may be limited) simply start on pay-as-you-go instead and run it for a month or two. The goal is the same: gather real usage data before committing. |
|
ANALYZE |
Gauge Your Ideal Tier
Once you have real usage data (whether from the trial or a few months of pay-as-you-go) review your consumption patterns in the Capacity Metrics app. Look at your typical daily baseline, not just your peaks. Identify whether an F4, F8, F32, or another tier covers your needs without over-provisioning. If you have 50+ Power BI report viewers, factor in the F64 licensing threshold here too. Sometimes the math favors jumping to F64 over a smaller SKU plus individual Pro licenses. |
|
COMMIT |
Move to a Reservation
Once your ideal tier is clear, switch to an annual reservation for the ~40% discount. If your trial data is solid and consistent, you can go straight from trial to reservation; no need to spend extra months on pay-as-you-go first. Reservations lock your minimum tier for a year; you can scale up if demand grows, but not down. Make sure the tier you choose reflects your realistic baseline, not your peak. |
Bottom line: Trial (or pay-as-you-go if the trial isn’t available) → analyze your real usage data → commit to a reservation once your tier is clear. The goal is always the same: let actual data drive the decision before you lock in.
On Storage: Don’t Forget OneLake
Whichever path you take, keep storage top of mind as your Fabric deployment matures. Your SKU includes free OneLake storage equal to your SKU tier in terabytes, but as your data estate grows, it’s easy for storage to become a cost factor that wasn’t on your radar at the start.
Our recommendation is to set up a storage usage alert in Azure Cost Management early. That way, you’re not discovering an overage charge at the end of the month; you’re getting a heads-up before it becomes a budget issue. At $0.023 per GB per month, storage overages are manageable at small scale but can grow quickly for data-heavy workloads like large Lakehouse tables or frequent data snapshots.
And remember: if your capacity gets paused, OneLake storage billing kicks in immediately. So, if you’re actively pausing capacity to save compute costs, factor the storage charges into that equation.
Still have questions?
Fabric pricing can feel like a lot of moving parts, but the path forward is usually simpler than it looks once you’ve run the numbers on your actual workloads. Whether you’re just starting an evaluation or ready to move a deployment to production, the Capitalize team works with Microsoft Fabric every day and can help you build a capacity strategy that makes sense for your organization.
Reach out to our team at sales@capitalizeconsulting.com.