logo
Back to Projects
CRM Sales Analytics Platform
CompletedSnowflakedbtDagster+5 more

CRM Sales Analytics Platform

Production-grade CRM sales analytics stack on Snowflake with dbt, Dagster orchestration, Elementary observability, and CI/CD via GitHub Actions.

Timeline

Q1 2026

Role

Data Engineer

Team

Solo Project

Status
Completed

Technology Stack

Snowflake
dbt
Dagster
Elementary
Great Expectations
GitHub Actions
Metabase
Python

Key Challenges

  • Building reliable CRM analytics layers that remain auditable across source, transform, and mart outputs.
  • Operationalizing data quality with both dbt tests and Elementary observability artifacts.
  • Integrating orchestration and CI gates to secure production-like delivery workflows.

Key Learnings

  • Layered dbt modeling (staging, intermediate, marts) improves maintainability and KPI consistency.
  • Dagster asset orchestration provides clearer dependencies and easier failure diagnostics.
  • CI validation on dbt and Dagster significantly reduces regression risk before merge.

Executive Summary

This project implements a modern end-to-end analytics platform focused on CRM sales opportunity analysis.

It combines Snowflake, dbt, Dagster, Elementary, and GitHub Actions to produce trusted sales KPIs and operational dashboards with a production-oriented engineering workflow.

Business Outcomes

  • Better visibility on pipeline volume, team performance, and product win rates.
  • Consistent KPI outputs for quarterly trends and agent-level execution.
  • Improved reliability through automated tests, freshness checks, and CI validation.

Architecture Overview

The platform flow is organized as follows:

  1. Ingestion: CSV sources loaded into Snowflake RAW schema.
  2. Transformation: dbt layered modeling (staging -> intermediate -> marts).
  3. Quality: dbt tests and Elementary metadata for observability.
  4. Orchestration: Dagster assets and scheduled validation jobs.
  5. Delivery: GitHub Actions workflows for CI checks on PRs and pushes.

CRM Sales Model Lineage

Data Model and KPI Layer

The model set includes:

  • Staging: cleaned CRM sources (stg_*)
  • Intermediate: enriched opportunities (int_opportunities_enriched)
  • Facts and Dimensions: fct_sales_opportunities, dim_accounts, dim_products, dim_sales_agents
  • Marts: mart_sales_team_performance, mart_sales_agent_performance, mart_product_win_rates, mart_quarterly_trends

These marts answer core business questions around team performance, agent outliers, quarter-over-quarter trends, and product-level conversion quality.

Dashboards

Sales Opportunities Dashboard

CRM Sales Opportunities Dashboard

Teams and Agents Performance

CRM Agents Performance Dashboard

Data Quality and Operations

Quality and SLA controls include:

  • dbt model and data tests executed in scheduled jobs
  • Source freshness checks using LOAD_TS thresholds
  • Elementary runs after dbt builds to persist observability metadata
  • Dagster alerting with optional Slack webhook notifications

CI/CD and Governance

GitHub Actions workflows validate the platform before deployment:

  • dbt build and tests
  • Dagster integration checks
  • Secrets-based environment configuration for Snowflake in CI

This creates a defensible release process for analytics code and infrastructure logic.

Repository Highlights

  • dbt_sales_analysis/models/ - staging, intermediate, and marts models
  • dbt_sales_analysis/tests/ - custom data tests
  • orchestraction/dagster_project/ - orchestration definitions
  • .github/workflows/ - CI pipelines
  • data/ - CRM CSV sources and ingestion helper

Repository