The Mental Model
Analytics engineering sits between raw data movement and business decision-making. The work is to make data clean, tested, documented, reusable, and understandable.
If data engineering brings boxes into a warehouse, analytics engineering labels the boxes, checks what is inside, creates shelves, and writes the map everyone else uses.
Tiny Example
We will use a small ecommerce dataset throughout the course. Think of these as the only tables in your first warehouse:
| Table | Grain | Example columns |
|---|---|---|
raw_orders | one row per order event | order_id, customer_id, amount, status, created_at |
raw_order_items | one row per item inside an order | order_id, product_id, quantity, item_price |
raw_customers | one row per customer | customer_id, email, country, created_at |
Interactive Check
Question: A dashboard says revenue is $10,000, but another dashboard says $9,200. Is this mainly a charting problem or a modeling/metric definition problem?
Reveal the answer
It is usually a modeling or metric definition problem. Two dashboards probably use different filters, grains, joins, or revenue definitions. The fix is a governed metric, not another chart.
Inline Practice Lab
This lab is intentionally small. You can solve it by reading the table, writing the SQL/YAML mentally, or pasting the snippet into any SQL scratchpad later.
-- Example starter table
select
order_id,
customer_id,
amount,
status,
created_at
from raw_orders;
The goal is not tooling setup. The goal is learning the production habit: state the grain, clean one thing, test one assumption, and explain the downstream impact.
Self-Check Quiz
- What is the grain of the table you are building?
- Which downstream metric or dashboard would be wrong if this model broke?
- What test would catch the most likely beginner mistake here?