Cost Analysis Dashboard

Cost Analysis Dashboard

Wondering where spend occurs? The Cost analysis dashboard provides transparency for your Snowflake expenses expenses. Review enterprise-wide costs across 4 categories including total, warehouse, database, and serverless costs, to allocate spending effectively; then create a Cost breakdown report.

To access cost analysis data:

  1. From the left navigation menu, go to Dashboards, then Cost analysis.
  2. Select a tab (Total costs, Warehouse costs, Database costs, or Serverless costs) to view additional details.
  3. Filter or export/view data for deeper analysis.  

Total Costs

The Total costs tab summarizes enterprise-wide costs and displays projections.

  1. Enterprise Cost by Day, Month, and Week: total costs by day, month, or week within the contract period
    • Select Day, Month, or Week from the pick list.
  2. Cost Types by Month: month-over-month costs for the duration of the contract
  3. Total Cost by Account: total cost by Snowflake account
  4. Total Cost by Type: costs grouped by usage type
  5. Enterprise Cost Projections: enterprise-wide cost projections for the contract period
  6. Warehouse Cost Projections: warehouse usage and cost during the contract period
  7. Database Cost Projections: database costs for the contract period
    ℹ️
    Machine learning models compare past costs with trends to generate projections. For Cost Projection visuals, select Edit forecast to open Forecast properties.

Warehouse Costs

The Warehouse Costs tab slices warehouses by day, week, month, account, and environment; along with displaying warehouse cost projections, compute cost, month-over-month cost analysis, costliest users and queries, and warehouse costs by Business org.

  1. Warehouse Cost by Day, Month, Week: costs by day, month, or week
    • Select Day, Month, or Week from the pick list.
  2. Warehouse Cost by Account: costs by Snowflake account
  3. Warehouse Cost by Environment: total warehouse cost by environment
  4. Warehouse Cost Projections: warehouse cost projections for the contract period
    ℹ️
    Machine learning models compare past costs with trends to generate projections. For Cost Projection visuals, select Edit forecast to open Forecast properties.
  5. Compute Cost by Warehouse: costliest warehouse in descending order
  6. Delta In Compute Cost Between Periods by Day, Month, Week: compute cost trends between periods of time by days, months, or weeks
  7. Costly Users: top 100 users with the most compute costs in descending order
  8. Costly Queries: 50 costliest queries in descending order
  9. Warehouse Cost by Business Org: warehouse costs bucketed by departments

The Database costs tab organizes your tenant’s database expenses for AWS S3 buckets managed by Snowflake, based on a 30-day rolling average.

  1. Data Transfer Cost by Account: cost of moving data around your warehouse by Snowflake account
  2. Database Cost by Account: total database costs
  3. Data Transfer Cost by Month: monthly costs associated with data transmission for your Tenant
  4. Database Cost by Database: a list of the costliest databases in descending order
  5. Delta In Database Cost Between Periods by Month: monthly compute cost trends
  6. Database Cost and Space Usage (TB) by Month: the bars represent storage size in terabytes (TB), while the line reflects database costs
  7. Database Cost by Month: monthly database cost
  8. Database Cost Projections: database cost projections for the contract period
    ℹ️
    Machine learning models compare past costs with trends to generate projections. For Cost Projection visuals, select Edit forecast to open Forecast properties.
  9. Database Cost by Schema: database costs grouped by how your data’s organized in Snowflake

Use the pin icon to keep the Forecast properties visible.

Serverless Costs

The Serverless Costs collates your resource allocations and pipeline costs.

  1. Auto Clustering Cost by Account: costs associated with automatically adjusting resources by Snowflake account
  2. Pipe Cost by Account: data pipeline costs segmented by their Snowflake account
  3. Auto Clustering Cost by Month: monthly automated resource allocation costs
  4. Pipe Cost by Month: monthly data pipeline costs
  5. Replication Cost by Month: monthly resource/data duplication costs

Cost Breakdown Report

Analyzing spend allocations can be tedious and complex. Slingshot’s Cost Breakdown Report simplifies this process by leveraging the power of tags to provide greater cost transparency for shared resources, enabling you to make more informed decisions. This report allows you to slice and dice Snowflake objects into logical groupings using tags, view cost insights, and download shareable cost breakdown reports.

By utilizing the Cost breakdown report, you’re able to get a clearer picture of cost attributions for shared resources. Slingshot tags provide a way to track spends and generate detailed reports that map to your business.

How do tags and the Cost breakdown report work together? Create, modify and assign new Tag Groups and values to Snowflake objects across all your Snowflake accounts. Once assigned, continue as usual while Slingshot tracks your Snowflake spend across various tag groups and reports those insights.

For example the VP of Data Engineering asks for cost reporting for all lines of business (LOBs). The problem is - the analytics warehouses used by Tableau are shared by multiple LOBs and their data analysts so the compute tagging alone won’t help in this scenario. Using Slingshot tags, the Data Engineering team create the following cost centers:

  • Tag group: Cost Center

  • Tag values for different LOBs: Acme Sales, Acme Engineering, Doppler Sales

Then the team assigns data analysts to the respective Cost Centers - solving the cost attribution problem across shared resources. This gives your VP of Data engineering the ability to filter the costs by the tag group Cost center and visualize compute, storage and other Snowflake usage costs by simply navigating to Slingshot dashboards and the Cost breakdown report.

Understanding the Cost Breakdown Report

Key Features

Tag-Based Grouping: The report uses tags to group Snowflake objects such as warehouses, users, and databases into logical units

Cost Insights: Provides detailed cost insights for each tag group

Shareable Reports: Generate shareable reports for your organization

How the Report Works

The Cost Breakdown Report aggregates the costs of objects (warehouses, users, and databases) tagged within a specific tag group over a selected date range. The report is limited to one tag group at a time and includes costs for objects explicitly tagged within that group.

Let’s view the Cost breakdown report.

  1. Expand Dashboards on the left navigation pane, select the Cost analysis dashboard.

  2. Press the Cost breakdown report tab.

From here, adjust filters to focus on the desired allocations. Your selections update each visualization.

  • Date range

  • Tag group: Select warehouses or Snowflake users to view this allocation type

    • Warehouses + Databases: View the report by warehouse, which sums up the costs of all tagged warehouses and associated databases

    • Snowflake users + Databases: View the report by user with the total costs of all tagged users and associated databases

ℹ️
When switching between tag values, Slingshot attributes all of the historical costs to the new tag value without considering when the object tags were assigned. Conversely, for Snowflake users, tag dates matter - cost attribution begins the day you tag the Snowflake user object.
ℹ️
Only tag groups that contain both warehouses and users require a decision for which way to allocate costs. These Snowflake objects share the same pool of compute resources. Therefore to see cost breakdowns for shared resources, choose warehouses or Snowflake users to view allocated costs for that grouping.
  • Export as a PDF: Download a snapshot of the visualizations. For a detailed report, download the .csv file.

  • Download Report to a zip file containing these 4 .csv files:

    • Cost Types Summary.csv

    • [Tag Group Name] Summary.csv

    • [Tag Group Name] Cost Types.csv

    • [Tag Group Name] Breakdown.csv

  • Total costs by tag value: View a pie chart or table

  • Tag value costs over time: Select a week or month along with the tags you’d like see displayed

  • Cost types by tag values: Choose tags from the drop-down list to highlight

  • Top warehouses by cost: a table view of your costliest warehouses

Editing Forecast properties

Make adjustments to any projection visual with a few tweaks to the Forecast properties.

  1. Use the 3 dots to open the menu.
  2. Select Edit forecast.
  3. Adjust the Forecast properties.
  4. Use the Apply button to save your settings.
ℹ️
Use the pin icon to keep the Forecast properties visible.

Adding Filters

Want even more granular visual insights? Add filters. For Slingshot tags filters include:

  • Date range: Set a date range
  • Account name: Snowflake account name(s)
  • Region: Available cloud regions
  • Business orgs: Data for warehouses associated with a business org in Slingshot

Additional filters include

  • Warehouses: Warehouses in your business org or unit
  • Compute tags: Choose warehouses
  • Databases: Databases in your business org
  • Database tags: Snowflake database objects

To add filters,

  1. On any filter, set the parameters or select from the drop-down list.
  2. Press More Filters to make selections for Warehouses, Compute tags, Databases, and Database tags.
  3. Review your cost insights.

View or export summary data

Sometimes, you’d like to see a summary or need to download the insights information.

  1. Hover over a visual, 3 dots appear.
  2. Click the dots to see the options.
  3. Select View summary data to review the summary on the page.
    Or
  4. Select Export to CSV to generate a file with the insights.

FAQs

1. Why does the total cost of the tag group not match my Snowflake bill, even though all objects are tagged?

Expand
Certain cost types not explicitly tied to a user, warehouse, or database don’t appear in this report but will appear in your Snowflake bill. The report focuses on summing up costs associated with specific tagged objects only. Refer to the “Cost Types Availability Outline” in the documentation for more details on excluded cost types.

2. Can I assign multiple tags to objects?

Expand
Yes, you can have as many tags on an object as you want. Due to cost attribution, you can only have one tag value type per group on an object (give an example - the tag value color - could only be one color at a time).

3. Why does the total cost change when toggling between user-based and warehouse-based reports?

Expand

The allocation methods for Snowflake users and warehouses costs differ:

Warehouses: Costs are read directly from Snowflake views such as `WAREHOUSE_METERING_HISTORY`, `METERING_DAILY_HISTORY`, and `QUERY_ACCELERATION_HISTORY`.

Snowflake users: We use a proprietary “time-based model” that looks at all the query loads across a Warehouse and attribute their associated cost.

4. Why can’t I choose specific dates for my date range?

Expand

Snowflake has a one-year data retention policy. The date range is limited to the period for which complete data is available:

  • New Tenants: Up to one year back from the onboarding date

  • Existing Tenants: Approximately one year from the feature release date

5. Why is there no data for comparison/variance calculations in some cases?

Expand

The report will generate comparison calculations to display accurate insights when the comparison period has complete data - ensuring the accuracy of the variance calculations.

  • Comparison Periods

The report compares costs based on a month-to-month model:

  • Whole Month: If the selected range is from the first to the last day of a month, it compares to the same number of complete months in the previous period.

Example: January 1 - January 31 compared to December 1 - December 30.

  • Partial Month: If the range starts on the first but ends mid-month, it compares to the same number of months plus days in the previous period.

Example: January 1 - January 6 compared to February 1 - February 6.

  • Special Cases: For periods longer than the previous period.

Example: March 1 - March 29 compared to February 1 - February 28.

  • Specified Range: If the range starts on a non-first day, it compares to the same number of days before the start of the range.

Example: January 2 - January 10 compared to 8 working days from January 2.