Skip to content
View sandeep0430's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report sandeep0430

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sandeep0430/README.md

Sandeep Ponugoti, Cloud Data Analyst and Analytics Engineer

EmailRepositoriesProfile views

⏳ 3+ years
analytics in production
📦 13 repos
tested, benchmarked, documented
✅ 1,824 tests
89 to 99% coverage
🧊 Zero credentials
every repo runs on a laptop

Started where most analysts start: someone needs a number, and the number lives in three places that disagree. Built the reports, then the models underneath them, then the Snowflake and dbt layer underneath those, because the only way to stop the disagreement is to move the definition down the stack until there is exactly one of it. The pivot point came when I noticed the interesting failures were never "the query is slow" but "the query is confidently wrong", and nothing in the BI toolchain was designed to catch that. So I started building the things that do: metric contracts with CI gates, schema classifiers, reconciliation funnels, row level security provers. Now I work on analytics the way a software team works on services, with contracts, tests, benchmarks and an honest account of what breaks.

🔭 Current focus

  • Metric governance, where a KPI is defined once and drift from that definition fails the build
  • Data quality at ingestion: schema evolution, semantic drift, quarantine and replay
  • Snowflake cost attribution, so "which dashboard is expensive" has an answer
  • Power BI semantic models under version control, with a diff that explains what a DAX change actually means

🧱 Building blocks

Core tools

DomainStackDepth
SQLCTEs, window functions, query tuning, stored procedures██████████ daily driver
Dimensional modelingStar schema, Kimball, SCD Type 2, grain and fan-out██████████ daily driver
BI and semantic layerPower BI, DAX, Power Query, RLS, incremental refresh██████████ daily driver
WarehousingSnowflake, dbt, DuckDB, sqlglot████████░░ production experience
Python for datapandas, numpy, statistical analysis, EDA████████░░ production experience
Data qualityContracts, validation, reconciliation, drift detection████████░░ production experience
OrchestrationAzure Data Factory, Apache Airflow, AWS Glue██████░░░░ working proficiency
VisualizationTableau, matplotlib██████░░░░ working proficiency

Repositories

RepoWhat it showsThe one detail worth clicking for
snowflake-credit-attributorWarehouse credits attributed down to individual dashboards74% of compute credits were idle, and the idle bucket is separate rather than smeared across queries
ops-kpi-anomaly-radarKPI anomalies attributed to the dimension slice that caused themA seeded decoy that looks anomalous but is pure mix shift, and the detector correctly refuses to flag it
freshness-sla-trackerLearned per-dataset freshness SLAs instead of one fixed rule86% fewer false alarms than "alert if not loaded by 07:00", measured head to head
sales-metric-contract-warehouseEvery KPI defined once in a YAML contract, compiled to SQLThe CI gate names the root cause on drift: missing filter, grain fan-out, or wrong measure basis
powerbi-semantic-diffA CI gate for Power BI semantic modelsIt parses DAX into an expression tree, so it says "ALL was removed, this measure is now slicer-sensitive" instead of showing a text diff
nl2sql-guardrailThe safety layer between a text-to-SQL model and the warehouse30 of 30 wrong generations caught before execution, and the false refusal rate is published rather than hidden
The other seven
RepoWhat it showsThe one detail worth clicking for
scd2-integrity-auditor16 structural checks on SCD Type 2 dimensionsPoint-in-time referential integrity: facts referencing a dimension version that did not exist yet
warehouse-reconcilerSource to warehouse reconciliation in three escalating tiersOnly 21.9% of rows ever reach the expensive row-level diff
incremental-refresh-plannerPartition-level refresh planning across a dbt-shaped DAGIt proves the incremental result row-for-row identical to a full rebuild, and caught a case where the naive rule was wrong
sql-plan-regression-guardA CI gate for analytical SQL performanceThe noise floor is measured first, so the minimum detectable regression is stated instead of guessed
rls-policy-proverRow level security proved rather than spot checkedIt prints the join path that causes each leak, including the small-group disclosure case
synthetic-warehouse-forgeReferentially complete synthetic data from a schema plus a profileShip a 156 KB profile instead of production data, and the privacy checks are measured, not asserted
glue-schema-evolution-frameworkUpstream schema changes classified before they landSemantic drift caught with PSI and a KS test: a column that stayed INT but switched from dollars to cents

🤝 Quick connect

EmailRepositories

The fastest way to evaluate me is to open any repo above and read the "Hardest problem solved" section.

Pinned Loading

  1. snowflake-credit-attributorsnowflake-credit-attributorPublic

    Attributes Snowflake warehouse credits down to individual queries, dashboards, teams and users using interval-overlap allocation with an explicit idle bucket. Ranks remediation by estimated monthly…

    Python

  2. ops-kpi-anomaly-radarops-kpi-anomaly-radarPublic

    Detects when an operational KPI breaks its own seasonal baseline, then attributes the movement to the dimension slice that caused it, separating a genuine rate change from a mix shift. Measured on …

    Python

  3. freshness-sla-trackerfreshness-sla-trackerPublic

    Learns each dataset's own arrival distribution instead of applying one fixed freshness rule to everything: 86% fewer false alarms than an "alert if not loaded by 07:00" rule at 99.4% detection, plu…

    Python

  4. sales-metric-contract-warehousesales-metric-contract-warehousePublic

    Kimball star schema in DuckDB where every executive KPI is defined once in a YAML metric contract, compiled to DuckDB and Snowflake SQL with sqlglot. A CI gate runs each contract against the dashbo…

    Python

  5. nl2sql-guardrailnl2sql-guardrailPublic

    Deterministic validation layer between a text-to-SQL model and the warehouse. Proves fan-out, metric contract and policy violations from the sqlglot AST against a semantic contract, repairs what it…

    Python

  6. powerbi-semantic-diffpowerbi-semantic-diffPublic

    CI gate for Power BI semantic models. Parses TMSL and TMDL, builds a DAX expression tree to explain what a measure change actually means, maps blast radius across measures and report pages, and fai…

    Python