Using SELECT
Budgets
Feature Overview
A critical element of Snowflake cost management is the ability to set budgets for the different areas of your business and monitor spend against those budgets.
SELECT’s Budgets feature allows you to set a monthly or yearly budget for each Usage Group you’ve created. You can then monitor progress against that budget, and see if any groups are forecasted to exceed their budget in the given period.
Setting a Budget
Before you begin...
Before getting started with setting up your budgets, ensure you've defined your Usage Groups on the Definitions tab. Learn more here.
To set a budget for a given Usage Group, hover over the tile and click the edit button. After you’ve input a budget, you will immediately get feedback on whether the Usage Group is projected to exceed the budget in the selected period.
Monthly vs. Yearly Budgets
By default, budgets are displayed yearly. To change this, use the Budget Period dropdown selector. A budget set at the year level will be prorated to the monthly level (divided by 12), and vice versa.
Monitoring Budgets
You can use the big numbers and chart at the top of the page to understand:
- Your total budget across all Usage Groups
- How much of the budget has been consumed in the current period
- The forecasted usage in the given period (i.e. year) based on a linear trend projection from the last 7 days
Checking Individual Usage Groups
To understand the progress of individual Usage Groups, you can use the Usage Groups filter at the top right.
Alternatively, scroll down to the Usage Group budget tile to see how each Usage Group is trending relative to its budget. The Budget Progress will show as red if the Usage Group spend is ahead of schedule.
Understanding consumption drivers within a Budget
To understand what is driving consumption within a particular Usage Group, you can hover over the tile and click the Explore icon. We’ll show you a quick overview of the top spend drivers in that group.
Alternatively, use the Usage Group selector throughout the different pages in SELECT to filter to that group’s usage.
Comparison with Snowflake’s Budgets Feature
Snowflake recently released its own budgets feature (reference). Here’s a summary of key differences:
Capability | SELECT | Snowflake |
---|---|---|
Set monthly budgets | ✅ | ✅ |
Set yearly budgets | ✅ | ❌ |
Set budgets in dollars, not credits | ✅ | ❌ |
Set budgets within a Snowflake account | ✅ | ✅ |
Set a budget for spend from multiple Snowflake accounts in your organization | ✅ | ❌ |
Set a budget for individual warehouses, or groups of warehouses | ✅ | ✅ |
Set a budget for individual Snowflake users, or groups of users | ✅ | ❌ |
Set a budget for query workloads using query metadata (i.e. query tags/comments) | ✅ | ❌ |
Include storage costs in your budget | ✅ (on Organization budgets) | ❌ |
Receive email alerts when your budget is forecasted to be exceeded | ❌ (coming soon) | ✅ |
Receive Slack/Teams alerts when your budget is forecasted to be exceeded | ❌ (coming soon) | ❌ |
Instant feedback after setting a budget | ✅ | ❌ (Snowflake creates a serverless task which performs cost calculations in your account. Data may not be available until ~1 hour after creating budget). |
No added costs | ✅ | ❌ (Budgets require serverless tasks which run in your account to perform queries to aggregate and store cost data) |
Data Latency | Up to 24 hours | Up to 6 hours |