How to Build a Snowflake Credit Usage Dashboard (SQL)

16 minutes to read
Get free consultation

 

Are you finding it difficult to monitor rising Snowflake costs, or to attribute credit usage to specific teams, projects, or business units? This step-by-step guide delivers hands-on SQL recipes designed for BI developers and FinOps analysts to build a transparent, actionable Snowflake credit usage dashboard. With these tools, you can evolve from manual reporting to streamlined, automated financial control—while laying a foundation for effective FinOps practice.

As data architects, these are the same foundational queries we use at Stellans to help our clients manage millions in annual Snowflake spend and build effective FinOps practices.

Looking for next-level warehouse automation? See our Automate Snowflake Warehouse Scaling with Resource Monitors guide for proven automation techniques.

Why Manually Monitoring Snowflake Spend is a Good First Step

Before investing in complex Snowflake FinOps tools, setting up a manual Snowflake credit usage dashboard gives both technical and financial teams much-needed visibility and accountability.

Manual dashboards provide actionable insights—helping you control spend before scaling up.

The Foundation: Querying ACCOUNT_USAGE for Granular Cost Data

The Snowflake ACCOUNT_USAGE schema is the definitive source for detailed cost data. Starting with ACCOUNT_USAGE ensures a unified, audit-friendly view of your organization’s spend.

Solid cost attribution from these tables enables showback and chargeback practices aligned to the FinOps Foundation framework. Supporting regulatory or audit requirements is also easier via retained historical usage detail.

Key Views for Cost Monitoring: METERING_HISTORY & WAREHOUSE_METERING_HISTORY

The backbone of Snowflake credit usage monitoring relies on two key views:

For organizations using multiple Snowflake accounts, you can aggregate data for broad oversight using ORGANIZATION_USAGE. Consult ACCOUNT_USAGE documentation for field details and schema updates.

https://stellans.io/wp-content/uploads/2025/10/pexels-googledeepmind-17485658-1-1.jpg

Actionable SQL Recipes for Your Snowflake Credit Usage Dashboard

Production-ready SQL is all you need to power a credible Snowflake cost monitoring dashboard—no extra software or plugins required. Here are three essential queries any monitoring dashboard should include:

Recipe 1: Track Daily & Monthly Credit Usage by Compute Warehouse

Monitoring usage by warehouse helps identify high-spend teams or workloads and pinpoints spend spikes before they become major issues. This recipe leverages WAREHOUSE_METERING_HISTORY, which now provides retention of up to 1 year of data for Snowflake Standard Edition customers or longer for Enterprise.

Sample SQL:

SELECT
  warehouse_name,
  DATE(start_time) AS usage_date,
  SUM(credits_used) AS daily_credits
FROM
  SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE
  start_time >= DATEADD(month, -3, CURRENT_DATE)
GROUP BY
  warehouse_name, DATE(start_time)
ORDER BY
  warehouse_name, usage_date DESC;

How this helps:

Monthly reporting can be achieved by swapping usage_date for MONTH(start_time) or via your BI tool’s date groupings.

Recipe 2: Identify and Attribute High-Cost Queries to Users or Roles

With modern ELT and analytics workloads, a handful of queries can account for a large part of your spend. Finding and attributing these is key to technical tuning and fair cost governance. By joining QUERY_HISTORY with user and role metadata, you unlock deep insights for FinOps.

Sample SQL:

SELECT
  user_name,
  role_name,
  query_text,
  credits_used_compute + credits_used_cloud_services AS total_credits,
  execution_status,
  start_time
FROM
  SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE
  start_time >= DATEADD(day, -14, CURRENT_DATE)
  AND total_credits > 0
ORDER BY
  total_credits DESC
LIMIT 50;

How this helps:

This approach not only flags issues but ties cost back to business units for accountability.

Recipe 3: Analyze Storage Costs Over Time

While compute drives variable spend, storage costs can accumulate quietly. With the STORAGE_USAGE view, you can investigate storage trends and support retention policy decisions.

Sample SQL:

SELECT
  TO_DATE(usage_date) AS storage_date,
  SUM(stage_bytes + failsafe_bytes + table_bytes) / 1e9 AS total_storage_GB
FROM
  SNOWFLAKE.ACCOUNT_USAGE.STORAGE_USAGE
WHERE
  usage_date >= DATEADD(month, -6, CURRENT_DATE)
GROUP BY
  TO_DATE(usage_date)
ORDER BY
  storage_date DESC;

How this helps:

Visualizing Your Data: From Queries to Dashboards

Running these SQL queries is only the first step—integrating their results into dashboards provides continuous, actionable insight.

Snowflake natively supports direct connections for these BI platforms. For concrete dashboard examples and best practices, see ACCOUNT_USAGE schema docs or our quick Snowflake cost alerts guide.

https://stellans.io/wp-content/uploads/2025/10/pexels-cottonbro-7678459-1.jpg

The Limits of Manual SQL-Based Monitoring

Manual SQL dashboards are invaluable early on, but you’ll eventually encounter real-world limitations:

When these issues arise, it’s time to shift from spreadsheets and static dashboards to automated FinOps solutions.

Next Step: From Manual Reports to Automated FinOps Governance with Stellans

For organizations that have outgrown manual dashboards, an automated, unified Snowflake FinOps solution offers game-changing benefits:

Benefits of Automated Snowflake FinOps with Stellans

Ready to automate Snowflake credit usage monitoring? Request a Stellans demo and put your FinOps on autopilot.

Manual dashboards are a strong starting point, but unlocking true governance, scalability, and audit compliance calls for dedicated automation. Stellans bridges the gap—giving your technical and financial teams the confidence to control spend as you grow.

Frequently Asked Questions (FAQ)

How do you set up credit usage alerts in Snowflake?

To stay ahead of budget overruns, use Resource Monitors to define credit usage thresholds by account or warehouse. You can configure actions like notifications or automatic suspension when predefined limits (such as 80% and 95%) are reached. Best practice is to attach Resource Monitors to all production warehouses and set multiple thresholds to avoid disruption and enable proactive cost management.

For an illustrated walkthrough, see our step-by-step cost alert guide.

What is the difference between Snowflake Resource Monitors and Budgets?

Resource Monitors are technical control tools that can act directly—such as suspending a warehouse or notifying when a credit threshold is reached. Budgets, currently in preview, focus on monitoring and notifying without direct enforcement. Budgets are best for tracking and alerting across Snowflake objects (warehouses, databases, etc.) to support financial oversight and compliance.

Both are essential: Resource Monitors help control risk, while Budgets provide cross-account financial visibility.

Article By:

https://stellans.io/wp-content/uploads/2024/09/DavidStellans2-1-2.png
David Ashirov

Co-founder and CTO of Stellans

Related Posts

    Get a Free Data Audit

    * You can attach up to 3 files, each up to 3MB, in doc, docx, pdf, ppt, or pptx format.