Back to Skills

snowflake-dbt-airbnb-analytics

Inside Airbnb data warehouse built with Snowflake and dbt, demonstrating modern analytics engineering patterns with staging, intermediate, and mart layers.

5stars1forksUpdated 8/4/2026

Security Assessment

Safe(90/100)
Security Score90/100

About snowflake-dbt-airbnb-analytics

Snowflake dbt Airbnb Analytics is a reference/demonstration skill that walks through a complete modern analytics-engineering workflow. It solves the problem of learning how to structure a production-style data warehouse by example: it loads Inside Airbnb open data into Snowflake, transforms it through a layered dbt architecture (staging then intermediate then marts), validates data quality with dbt tests, and serves insights through a Streamlit dashboard.

The skill documents each stage with concrete code. A Python loader creates Snowflake objects, uploads gzipped CSV files to an internal stage, and copies staged data into raw tables. The dbt layer is shown with staging models that clean and cast columns, intermediate models that join and enrich with business logic (such as a revenue proxy), and marts that build dimensions and incremental fact tables using Snowflake's merge strategy. Data-quality tests cover uniqueness, relationships, and business rules, and a Streamlit app queries the marts for neighbourhood and listing performance. Credential handling follows standard practice: connection settings live in local, git-ignored files created from committed example templates, dbt reads the Snowflake password from an environment variable, and the docs recommend using environment variables in production. The only notable consideration is a Streamlit local-credentials JSON example that shows a password field inline, which the skill explicitly marks as a local-only, git-ignored file.

Target users are analytics engineers, data engineers, and dbt learners who want a worked, end-to-end Snowflake + dbt + Streamlit pattern. Use cases include bootstrapping a layered dbt project, learning incremental fact-table modeling, and standing up an analytics dashboard over public Airbnb data.

FAQ

What technologies does this project demonstrate?

Snowflake as the warehouse, dbt for layered transformations (staging, intermediate, marts), dbt tests for data quality, and Streamlit for an analytics dashboard, loaded with public Inside Airbnb data.

What data does it use and where does it come from?

Inside Airbnb open data (listings, calendar, reviews, and neighbourhoods files), placed in a local data/raw directory; New York City is the recommended dataset.

How are Snowflake credentials handled?

Connection settings go in local, git-ignored files copied from committed example templates. dbt reads the password from a SNOWFLAKE_PASSWORD environment variable, and the docs recommend environment variables in production.

How are fact tables kept up to date?

Mart fact tables use dbt's incremental materialization with Snowflake's merge strategy, so only changed rows are processed on subsequent runs.

Install snowflake-dbt-airbnb-analytics

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill