Skip to content

stevenacoffman/data-modeling

v0.1.0MIT

Stakeholder mapping, machine-learning data practice, and warehouse SQL guards: metric populations, warehouse keys and loads, and semi-structured data.

ai-and-semistructured-data-guard

Load for RAG/chatbot ingestion or retrieval code (top_k, vector filters, chunk metadata, file paths, modified_time), LLM/AI columns (ML.GENERATE_TEXT, sentiment or category per review/comment), matcher scores written into an _id column, JSON payload extraction (JSON arrow operators, :key, TRY_CAST), or partition expiration/deleting raw event tables after a rollup.

metric-population-guard

Load when writing SQL, functions, semantic-layer metrics, charts or lists for a rate, count or KPI: a rate per tier/plan/segment or parameterized by segment, conversion or retention by signup week/cohort, active or slipping customer lists from recent invoices/charges, totals from tables with status/test/sandbox columns, a certified metric reused for a segment, or daily/weekly buckets.

ml-data-pipeline-type-integrity

Trigger when designing an ML data pipeline. Enforce types and schemas at ingestion, not at model training, and fail loudly on bad data; silently passing bad data through is worse than a loud failure.

ml-simplest-model-baseline-first

Trigger when considering adding model complexity (more features, nonlinear terms, ensemble layers). Start from the simplest baseline and require a measured improvement in the pre-defined metric to justify each addition.

power-interest-grid-stakeholders

Use when starting a data modeling or other initiative that needs stakeholder buy-in and you must decide who to engage, how, and in what order, or when a stakeholder is blocking or stalling a project. Maps stakeholders on a power-interest grid.

warehouse-key-and-load-guard

Load for warehouse/ETL tasks: dbt incremental models (lookback, unique_key, Airflow retries), INSERT loads, queries joining a Snowflake/BigQuery/Redshift/Databricks table with a declared PRIMARY KEY (Fivetran/Airbyte dims), adding RELY constraints, watermark syncs on updated_at/last_modified, and Kafka/ksqlDB/Spark window counts landed by a JDBC or Delta sink.