Calculate your Snowflake monthly cost now using this expert method
The how-to guide to interpreting Snowflake's usage-based pricing model.
One of the most frequently asked questions we get is on the Snowflake monthly cost estimation. At the time of writing, they did not provide a dynamic snowflake pricing calculator yet. In this post, we lift the veil and will explain the drivers that make up your bill.
Eventually, you’ll be able to build your own Snowflake pricing example, so let’s get started.
Update 2022/3: By popular demand, Snowflake and ourselves hosted a webinar on cost management .
How much does Snowflake cost per month?
First of all, you have full control over the Snowflake cost at all points in time. The cost of using Snowflake is entirely based on the capacity you use on the platform. If you don’t consume any capacity, there likely won’t be a bill, even though you have an account with them.
What if you do consume? To work with data, you’ll need to store it, query on it, and manage metadata such as access control on it. This breakdown translates into a high-level architecture of Snowflake. As such, the cloud data platform consists of 3 layers, i.e. the service-, compute- and storage layers.
While using the platform, each layer uses more or less capacity, depending on the nature of the use.
The sum of costs generated by using each layer of the 3 layers makes up the cost. It’s that simple.
However, the cost of using each individual layer is calculated differently, as we’ll see below.
The Storage Layer: charges related to storing data.
Storing data comes with a cost associated, with whether that data is used in analytics or not. The cost is metered per megabyte, is balanced per month and the price is quoted per gigabyte for convenience.
Just like any other SAAS company, Snowflake favors upfront payments for the services one plans to use over a period of one year. This includes a hefty 55% discount on the storage costs at the time of writing.
The Compute Layer: charges related to querying data.
Now here is where things get a little more complicated.
First, let’s talk about measurements. The cost unit for compute capacity is in credit. Credit is simply the dollar amount to have one XS compute node work for one full hour. The meter starts running as soon as a warehouse is started and stops as soon as the warehouse stops. Again for simplicity, this cost is quoted in credits per hour. Compute power is charged by the second. However, Snowflake will charge you for one full minute if your warehouse is online for less than one full minute.
Then, let’s talk license model. Snowflake has 5 different editions available, and each of them comes with a different set of capabilities. As we add capabilities to the Standard Edition, the snowflake credit cost increases. It’s good to know that every Snowflake account is tied to one specific edition. Pricing comes straight off their website at the time of writing.
We did not mention the Virtual Private Snowflake edition. That’s a custom installation for organizations that have strict compliance requirements, so let’s leave that out of scope.
How compute capacity influences your spend
We now know our price per credit, as well as the way credits, are measured. The third parameter to take into account is the instance size. These are measured in t-shirt size (ranging from XS to 4XL). Every time one steps up and takes the bigger size, the instance capabilities (CPU, memory) double, but so do the credits that are burned per hour.
As an example: having an XS warehouse online for one full hour, would consume 1 credit. Scaling that warehouse up to an S would account for 2 credits per hour, an M for 4 credits, etc.
The Services Layer: charges related to interacting with the platform.
Some actions a user takes on the platform don’t answer questions based on data but are nonetheless required to interact with a data platform. Think of actions such as: logging in, checking your capacity usage, or listing all available tables. Snowflake charges for these actions, as a service is delivered.
The costs associated with this layer are waived as long as they don’t add over 10% to your monthly bill at the time of writing.
Total Snowflake monthly Cost Calculation
To calculate the monthly Snowflake charges, take this formula:
storage cost + (minutes consumed * cost per node * nodes per cluster) by cluster.
Based on the architecture of your platform, take the number of virtual warehouses/clusters, and make a guesstimate of the number of minutes required per month.
Buy off the vendor vs off a partner
Pricing software is often a complex mechanism. Buying capacity from a partner typically gives you access to field knowledge, project benchmarks, and experienced consultants who know how to drive and control capacity costs.
As Belgium’s first Snowflake partner, we are in a unique position to resell Snowflake capacity for projects and platforms. Don’t hesitate to reach out and discuss your project with us.
Joris Van den Borre
Founder, CEO and solutions architect
Related articles
In just 6 weeks, Jacob had the opportunity to learn and grow through a series of courses designed to equip him with the skills and knowledge necessary to succeed in the data industry.
If you’re working in a hands-on data role using Snowflake, Databricks, or Bigquery, chances are you’ve encountered dbt as a companion technology. 🎉 On April 3rd, 2023, dbt Labs announced that Tropos.io became one of the 5 premier partners worldwide.
Exclusive! We Are Excited To Be A Dbt Premier Partner in 2023
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
__hssrc
session
This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
elementor
never
This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__cf_bm
30 minutes
This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
__hssc
30 minutes
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
bcookie
2 years
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
bscookie
2 years
LinkedIn sets this cookie to store performed actions on the website.
lang
session
LinkedIn sets this cookie to remember a user's language setting.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
UserMatchHistory
1 month
LinkedIn sets this cookie for LinkedIn Ads ID syncing.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
__hstc
5 months 27 days
This is the main cookie set by Hubspot, for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
_ga
2 years
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_ZET6HEX39B
2 years
This cookie is installed by Google Analytics.
_gat_gtag_UA_75663021_2
1 minute
Set by Google to distinguish users.
_gat_UA-75663021-2
1 minute
A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
_gid
1 day
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
hubspotutk
5 months 27 days
HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
undefined
never
Wistia sets this cookie to collect data on visitor interaction with the website's video-content, to make the website's video-content more relevant for the visitor.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
_fbp
3 months
This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
fr
3 months
Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.