> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# For Analytics Engineers

> Data quality metrics, freshness SLAs, and stakeholder reporting for analytics engineers

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>
As an analytics engineer, you own the quality of data that powers business decisions. AnomalyArmor helps you catch data quality issues before they reach dashboards.

<Frame>
  <img src="https://mintcdn.com/anomalyarmor/un2W3qlHEQ29uwyl/images/diagrams/journey-analytics-engineers-light.svg?fit=max&auto=format&n=un2W3qlHEQ29uwyl&q=85&s=28611b07dd67bd56ea40d7780c26387e" alt="Analytics Engineer Journey: Connect (~5 min) → Configure (~5 min) → Monitor (~5 min) → Report (~5 min)" className="block dark:hidden" width="1000" height="300" data-path="images/diagrams/journey-analytics-engineers-light.svg" />

  <img src="https://mintcdn.com/anomalyarmor/un2W3qlHEQ29uwyl/images/diagrams/journey-analytics-engineers-dark.svg?fit=max&auto=format&n=un2W3qlHEQ29uwyl&q=85&s=a9c20dcb5b9e1d7cf1ec7b208f9be8c3" alt="Analytics Engineer Journey: Connect (~5 min) → Configure (~5 min) → Monitor (~5 min) → Report (~5 min)" className="hidden dark:block" width="1000" height="300" data-path="images/diagrams/journey-analytics-engineers-dark.svg" />
</Frame>

## Your Key Workflows

### Set Freshness SLAs

Stakeholders expect data to be current. Set SLAs to get alerted when data is stale:

<Steps>
  <Step title="Identify Critical Tables">
    Start with tables that power executive dashboards or customer-facing reports.
  </Step>

  <Step title="Set Freshness Expectations">
    Define how often data should be updated (hourly, daily, weekly). [Configure freshness](/data-quality/freshness-monitoring)
  </Step>

  <Step title="Route Alerts to Slack">
    Get notified in your team channel when SLAs are violated. [Set up Slack](/alerts/destinations/slack)
  </Step>
</Steps>

### Track Data Quality Metrics

Go beyond freshness. Monitor row counts, null percentages, and more:

```
Critical Table Monitoring:
+-- row_count: Catch unexpected data loss or growth
+-- null_percent on key columns: Detect incomplete data loads
+-- distinct_count on IDs: Identify duplicate records
```

[Create your first metric](/quickstart/create-first-metric)

### Report Quality to Stakeholders

Embed data quality status directly in dashboards:

```markdown theme={null}
# Sales Dashboard
![Data Quality](https://app.anomalyarmor.ai/badges/abc123.svg)
```

When the badge is green, stakeholders know the data is reliable. [Set up report badges](/data-quality/report-badges)

### Document Tables with AI

Use Intelligence to auto-generate descriptions for your dbt models:

```python theme={null}
from anomalyarmor import Client

client = Client()

# Generate descriptions for all columns
descriptions = client.intelligence.describe(
    "snowflake.prod.warehouse.orders"
)
# Paste into your dbt YAML files
```

[Use Intelligence](/intelligence/object-profiles)

## Recommended Setup

| Feature                                                    | Why You Need It                        |
| ---------------------------------------------------------- | -------------------------------------- |
| [Freshness Monitoring](/data-quality/freshness-monitoring) | Set SLAs on data recency               |
| [Data Quality Metrics](/data-quality/metrics)              | Track statistical properties over time |
| [Report Badges](/data-quality/report-badges)               | Show quality status in dashboards      |
| [Slack Alerts](/alerts/destinations/slack)                 | Get notified in your team channel      |

## Common Tasks

<CardGroup cols={2}>
  <Card title="Set Up Freshness SLAs" icon="clock" href="/data-quality/freshness-monitoring">
    Define expected update frequency
  </Card>

  <Card title="Create Metrics" icon="chart-line" href="/data-quality/metrics">
    Track row counts, null percentages, and more
  </Card>

  <Card title="Embed Report Badges" icon="shield-check" href="/data-quality/report-badges">
    Show quality status in Looker, Tableau, Notion
  </Card>

  <Card title="Object Profiles" icon="sparkles" href="/intelligence/object-profiles">
    AI-generated intelligence profiles for every table
  </Card>
</CardGroup>

## Common Questions

### How do I set freshness SLAs on my dbt models?

Identify the tables that feed executive or customer-facing dashboards, then set freshness thresholds per table (hourly, daily, weekly). Route alerts to your team's Slack channel. See [Freshness Monitoring](/data-quality/freshness-monitoring).

### Can I show data quality status inside my Looker or Tableau dashboards?

Yes. Embed a report badge that turns green or red based on freshness and quality monitors. Stakeholders can see at a glance whether the underlying data is trustworthy. See [Report Badges](/data-quality/report-badges).

### How do I generate column descriptions for my dbt YAML files?

Use the Intelligence API (`client.intelligence.describe(...)`) to auto-generate descriptions and paste them into your `schema.yml`. See [Object Profiles](/intelligence/object-profiles) for the full workflow.

### What metrics should I track on my most important tables?

Start with row count, null percentage on required columns, and distinct count on ID columns. Those three catch the majority of real-world quality issues (data loss, incomplete loads, duplicate inserts). See [Data Quality Metrics](/data-quality/metrics).
