Microsoft Fabric is finally generally available! Yaaaay! Now, when the dust settles and the initial allure goes away, the most obvious question that one might ask is – how much will Fabric cost me?
Because, yes, it’s cool to have a unified analytics solution and all Fabric’s “weapons” at your disposal, but at the end of the day, looking at the wallet is what matters most:)
So, let’s try to break down all the available options, plus explain some of the concepts that may affect your Fabric workloads in terms of pricing. First, and most important, there are TWO available pricing models with Microsoft Fabric:
1. Pay-as-you-go
This is the option that was (is) available since Fabric was announced in the public preview in May 2023. If you’re completely new to Fabric, I suggest you first read this article, where I explain all the details about the latest Microsoft SaaS solution. Once you enable Fabric workloads within your tenant, you can start using various Fabric artifacts.
Here is the pricing list of the pay-as-you-go model, as of today (November 2023) in the West Europe region:

As you may see, the entry point into the Fabric world is very low – for as little as ~ $300/month, you can leverage all the Fabric goodies! Although you get “only” 2 CUs for that amount, it still may be good enough for your workloads. In my opinion, Microsoft made a very smart decision by lowering the barrier and letting basically everyone enter the Fabric “party”.
Of course, sometimes you come to the party planning to have a beer or two, but you end up being drunk after partying the whole night, and spending a lot more than you originally planned:)…But, more on that later in the article.
You can read more about the pricing models here. Since Microsoft Fabric is a SaaS solution and you don’t need to provision and maintain any kind of infrastructure (“everything just works”), these CUs will be automatically assigned to various Fabric workloads, without you having to care about it.
2. Reserved instance pricing (Capacity-reservation model)
Now, we come to the more interesting part, especially if you’re a larger shop and/or prefer to have predictable monthly costs for Fabric. As announced today at Ignite, similar to the Power BI Premium-per-capacity licensing model, you can reserve resources and “lock” the price on a monthly basis for a period of one year!
The current prices, if purchased via Azure subscription, are slightly higher (~15%) than if paying via M365 Subscription (see the current pricing for the West Europe region below). On the other hand, current F capacity-based prices are significantly lower than the Pay-as-you-go model (~40%), so that may be a good incentive to choose this model.


However, these prices are only for Fabric capacity usage – you will need to pay storage and networking charges in addition.
Storage costs
Same as in other modern data platform solutions (Databricks, Snowflake, etc.), in Microsoft Fabric, storage is decoupled from compute. In the paragraph above, we were talking about compute pricing, so let’s now mention the storage part.
In Fabric, all your data resides in OneLake. That’s your single storage layer, as there can be only one OneLake per tenant!

You’ll need to pay for storage on a monthly basis – currently $0.024/GB per month in the West Europe region. You should always take into account storage costs – nevertheless, if you choose the Pay-as-you-go or Reserved instance pricing model.
Things to watch out for in the Pay-as-you-go model!
Ok, I promised I’d come later to explain “partying all the night” in terms of Microsoft Fabric’s potential bill. It’s time to introduce you to concepts of bursting and smoothing, which I covered in a separate article!
Thanks to my fellow MVPs, Tristan Malherbe and Just Blindbaek, as well as Alex Barbeau and Mimoune Djouallah (Alex and Mim are not “officially” MVPs, but they are both super-knowledgeable guys) for demistyfing these concepts
Of course, you don’t necessarily need to understand all the technicalities behind these two concepts, but you should be aware of their existence and the way they work in synergy, if you don’t want to be surprised with poor performance and/or higher Azure bill!
To keep it very short here:
Bursting lets you use more power than you purchased (within the specific timeframe)! Smoothing takes care that this power is “under control” within that same timeframe. For all the remaining details, please refer to the aforementioned article on “Yin and Yang of Fabric capacity”…
In my opinion, finding the “tipping point” between bursting and smoothing, and the right balance for Fabric workloads, will be one of the biggest challenges and this is the area where potential tuning may bring some significant cost-performance optimization.
To wrap up the “Yin-Yang” story about bursting and smoothing – these concepts are only relevant to the Pay-as-you-go pricing model. When you choose the reserved instance model, costs are fixed and the worst thing that may happen is throttling, but there will be no additional costs attached to your monthly bill.
I’m currently using Power BI P SKU – What happens now?!
Nothing! You can continue using the P license the same as you were using it till now. In this article, I’ve already explained all the details and nuances between various Power BI licenses. Everything written there is still valid. You can leverage all the Fabric features with P capacities, without paying anything in addition! You just have to enable them in your tenant. With F capacities introduced, you simply get an additional option for purchasing Fabric features (through the Azure or M365 subscription). Please keep in mind that P1 (the entry-level Power BI Premium-per-capacity license) is equivalent to the F64 Fabric capacity license. This means, all <F64 SKUs still require a Power BI Pro license for consuming the Power BI content (it’s treated the same as the shared capacity in the “traditional” Power BI ecosystem). Power BI content creators, same as now, still need a Power BI Pro license.
However, there IS one important difference. Premium-per-user licensed users can’t create or share non-Power BI-related artifacts anymore!

The official docs are very confusing on this (if correct at all)! For me, it’s super strange that Free/Pro license users can create Fabric content in the P workspace, whereas PPU license can’t…I’ve officially asked Microsoft to check and confirm this and I’ll update the article as soon as I get the official answer.
“We’re a small shop with ~50 Power BI users, but we want to leverage Fabric features…”
Well, I have good news for you! For as little as ~$690, you can have it! F2 reserved capacity is currently priced at ~$190, plus you need 50 Pro licenses for Power BI users (50 x $10 = $500) and for less than $700 you have all Fabric goodies (Lakehouse, Warehouse, pipelines, etc.) available! That’s an unbeatable offer if you ask me!
Previously, if you wanted to take advantage of Power BI Premium features, you would have paid for 50 Premium-per-user licenses: 50 x $20 = $1000. Now, for less money, you get Fabric items and workloads included!
Conclusion
So, the new era officially begun! Now that we know all the details about pricing, I’m sure we’ll find many use cases and develop various recommended practices for scaling Fabric-related workloads. Therefore, I’m beyond excited to see how Microsoft Fabric will evolve, and can’t wait to see it work in a real-life production environment.
Thanks for reading!
Last Updated on November 21, 2023 by Nikola
vivien
Hello Nikola,
As you said, there’s about 15% difference between a P1 on the M365 side and an F64 on the Azure side.
Isn’t this difference explained by the fact that on the P1 side, you still need a Pro or PPU licence to publish/share content, whereas on the F64 side, this is no longer necessary?
https://learn.microsoft.com/en-us/fabric/enterprise/licenses#workspace
If so, this would mean that Microsoft has smoothed out the cost of these licences, which are no longer needed on the F64 side.
What do you think about this ?
Thanks in advance for your feedback,
Vivien
Nikola
Hi Vivien,
The 15% difference is only relevant for some regions (in the example I used, such as West Europe). For some other regions, the price is almost the same for P1/F64. Just to be clear, in F64 capacity, one still needs Power BI Pro license for creating non-Fabric items (Power BI reports, etc.).
Hope this helps.
Best,
Nikola
Alex Karanja
Nice breakdown of the party as always Nicola.
Scenario: I have a PowerBiEmbedded A2 sku and an app that serves upto 500 report viewers . Of these the report creators are 10 in number where as the data model creators are 5 within these 10 number (10 PPU licenses)
How do I translate this to a Fabric costing? (preferably reserved monthly predictable pricing)
ps* I am not that emotionally attached to the embedded app and can live without it if need be
Nikola
Hi Alex,
If you have 500 report viewers, and you *WANT/MUST* use Fabric features (non-Power BI items), nothing below F64 wouldn’t make sense for you, because then you’ll need a Pro license for each user consuming Power BI content…Which is 500*10 = 5000 USD/month. Whereas for the same amount you get F64 and then you can possibly scale to thousands of free Power BI content consumers (you’d still need these 10 Pro licenses for content creators). So, if you don’t need Fabric items, I’d advise sticking with A2.
Hope this helps.
Best,
Nikola
James Lees
Good article, thank you.
Whilst Fabric pricing starts cheap, it is potentially still a big jump up from Power BI for a smaller organisation with a few Power BI Pro or PPU users – let’s say you just want Gen2 dataflows and some data lake.
For a non-reserved capacity, does the charging clock tick only when a dataflow gen2 is executing, or all the time? If all the time, how would you script to disable when not in use?
Nikola
Hi James,
For Pay-as-you-go, you’re just paying for the time your Fabric items are up and running. At this moment, you can pause/resume F capacity from the Azure portal, as described here: https://learn.microsoft.com/en-us/fabric/enterprise/pause-resume
Hope this helps.
Cheers,
Nikola
James Lees
Thanks for replying! So “up and running” — does that mean actually executing? In the case of a Gen2 dataflow that is scheduled to ingest data say, does that mean the charge is based just on the 5 mins per day? Or if we don’t pause the capacity does it bill 24 hours per day?