Role Playbook · 2026

Analytics Engineer

Ship dbt PRs without breaking production. See blast radius before merge, auto-generate tests, and attach lineage diffs to every PR.

22 min read Runbooks Metadata only Apache 2.0

Executive summary

Connect dbt manifest + warehouse + BI into Metroflow. Run impact queries before every PR. Certify core models in 60 days.

Analytics engineers own the staging → analytics layer, but every column rename is a guessing game. Metroflow replaces spreadsheet lineage with a live graph and answers "what breaks?" in minutes.

Faster impact analysis before merge
0Surprise production breaks from blind renames
<10mTo trace a model to every downstream explore
01

What broken lineage costs you

Typical patterns for Analytics Engineer teams. Ranges, not guarantees.

Column rename in staging

Half-day Slack threads + rollback PR

With Metroflow: Blast-radius query lists every dashboard and model affected.

New AE joins the team

2–3 weeks to learn tribal lineage

With Metroflow: Living graph + Company Brain from day one.

schema.yml tests missing

Bad data ships to production

With Metroflow: Agent generates tests from manifest metadata.

PR merged without BI sign-off

Stale explores Monday morning

With Metroflow: Downstream owners notified automatically before merge.

Metadata only. Metroflow crawls schemas, job names, manifests, and dashboard definitions. Your production data rows never leave your network.

02

Your stack, one graph

Metroflow sits above the data path, not inside it. One searchable map for your entire role.

When you rename customer_id in stg_orders, trace impact: dbt downstream models → Looker explores → exec dashboards. One query, full picture.

03

Where are you today?

Most teams land at L1 or L2. Target L4 in 90 days.

L1Siloed docsWikis and spreadsheets disconnected from production.
L2Partial lineageSome tool lineage exists. Cross-layer gaps remain.
L3Unified graphOrchestration, warehouse, and BI in one map.
L4Certified metricsKPIs owned, enforced, and traced end-to-end.
L5Proactive opsPre-merge gates. Stale assets caught early.

Quick self-check

  • Answer "what breaks if X fails?" in under 15 minutes?
  • Cross-functional teams share one definition of core KPIs?
  • Incidents include downstream dashboard impact without Slack archaeology?
  • Changes include cross-layer impact checks before merge?
  • Named owners for certified metrics and critical pipelines?

0–2: Start Week 1 connect · 3–4: Certify metrics · 5: Add change gates

04

Choose your path

Every org is different. Pick the track closest to your context.

Greenfield dbt project

Models: stg_*fct_*dim_*

Priority: Certify first: revenue, orders, customers

Mature warehouse + legacy SQL

Mix of dbt models and historical views

Priority: Certify first: map rogue explores, migrate top 5

Multi-project monorepo

Shared staging, domain-specific marts

Priority: Certify first: cross-project dependency graph

05

Who owns what

Assign decision rights up front. Metric fights are governance problems.

RoleOwnsOn Metroflow
Analytics Engineerdbt models, schema.yml, PR qualityImpact queries before merge. Lineage diff in PR description.
Data platformAirflow, warehouse slotsDAG failures linked to your models. Shared on-call runbook.
BI leadLooker explores, certified metricsApprove explores affected by your PRs. Certified metric IDs only.
Head of dataCertification sign-offGate breaking changes. Weekly trust score on models.
06

30 · 60 · 90 day rollout

A program with gates, not just a connector checklist.

Days 1–30

Connect & first win

  • Connect dbt Cloud/Core + warehouse + BI
  • Import manifest into semantic graph
  • First impact query on a real PR
Gate: One end-to-end lineage path from staging to dashboard
Days 31–60

PR guardrails

  • Impact query required on every PR
  • Auto-generated schema.yml tests
  • Notify BI on affected explores
Gate: Zero surprise stale explores from AE PRs
Days 61–90

Certify & scale

  • Certify top 10 models
  • Deprecation policy for rogue SQL
  • Onboarding playbook for new AEs
Gate: New AE runs first impact query in week one
07

Incident runbook

When daily_revenue_dbt_run is in trouble. Follow this timeline.

T+0 · Detect
dbt run fails

Airflow alert or CI failure. Open Metroflow, search model name.

T+5 min · Blast radius
Run impact query
"What dashboards break if fct_revenue fails to build?"
T+15 min · Communicate
Notify stakeholders

Paste Slack template. Tag BI lead and finance.

T+30 min · Fix
Fix model or rollback

Patch SQL, re-run dbt. Platform monitors warehouse slots.

T+60 min · Verify
Confirm dashboards fresh

Re-run lineage. Close with affected dashboard list.

Slack template

[INCIDENT] fct_revenue dbt run failing Impact: staging.orders stale · downstream marts not updating Affected: Revenue Dashboard (Looker), Board deck slide 2 Owner: @analytics-oncall · ETA 30m BI: hold weekly revenue review until cleared Metroflow blast-radius: [paste link]
08

Metric certification pack

Copy into your governance doc. One definition. One owner. Full lineage.

Gross revenue (daily)

Certify first
Formula
Sum of order_line_amount after refunds, USD, calendar day UTC.
Source
stg_ordersfct_revenue
Owner
Analytics Eng + Finance
Lineage
raw_stripestg_ordersfct_revenue → Revenue Dashboard

Active customers (monthly)

Certify second
Formula
Distinct customer_id with ≥1 paid order in calendar month.
Exclusions
Test accounts, internal orders, $0 trials.
Owner
Analytics Eng + Growth
09

Daily workflows

Four situations you will hit every week.

🔀

Before opening a dbt PR

  1. Impact query

    Renamed or dropped columns in staging.

  2. Notify BI

    If certified explore affected.

  3. Attach diff

    Lineage diff in PR description.

📋

Monday model review

  1. Check freshness

    Any stale marts from weekend DAG failures?

  2. Certified models

    Top dashboards on certified IDs?

  3. Ask Brain

    Pipeline delay or definition change?

🆕

Onboard a new AE

  1. Tour the graph

    Staging → marts → BI path.

  2. First impact query

    On a sandbox PR.

  3. Pair on certification

    Walk through one metric spec.

⚖️

Metric dispute

  1. Open spec

    Formula, exclusions, owner.

  2. Trace lineage

    Dashboard tile → dbt model → source.

  3. Flag rogues

    Migrate explores off legacy SQL.

10

Copy-paste queries

Company Brain or lineage search. Context included.

Before PR merge
"What breaks if I rename customer_id in stg_orders?"
Downstream audit
"List all Looker explores that depend on fct_revenue."
End-to-end trace
"Trace gross revenue from raw_stripe to the board revenue dashboard."
Rogue SQL hunt
"Which BI explores do not use the certified revenue metric?"
Schema migration
"What depends on orders_v2 if we add a column?"
New model check
"Does fct_churn have tests and documented lineage?"
11

Glossary

Plain English. "Why it matters" tells you when to care.

dbt manifest
JSON snapshot of your project: models, tests, lineage.
Why: Metroflow ingests it for live impact analysis.
Blast radius
Everything downstream that breaks when an asset fails.
Why: Your #1 pre-merge check.
Certified metric
Approved definition with owner and full lineage.
Why: Stops BI from forking logic in explores.
schema.yml
dbt tests and documentation per model.
Why: Auto-generated from manifest when tests are missing.
Lineage diff
Before/after graph attached to a PR.
Why: Reviewers see impact without running queries.
Company Brain
AI answers using your stack metadata, with citations.
Why: Plain-English impact queries.
12

Outcomes checklist

Measure if the program is working.

Success metric90-day target
Time to answer "what breaks if I change X?"< 10 minutes
PRs with lineage diff attached100%
Surprise stale explores from AE PRsZero
New AE time to first impact query< 1 week

Ready to put this playbook to work?

Week 1: connect your stack and run your first blast-radius query. Week 4: certify your first KPI. Week 8: operationalize the runbook.