BlogData Architecture

Analytics Engineering: What It Is and How It Differs from Data Engineering

Austin Duncan
Austin Duncan
Senior Data Architect
·July 25, 20269 min read

Analytics engineering is the discipline of building and maintaining the data models, transformations, and documentation that connect raw data to analytics consumers. This guide explains where analytics engineering sits in the data team and why it matters.

Analytics engineering is a discipline that emerged between 2018 and 2022 as dbt became the dominant transformation tool in the modern data stack. The analytics engineer bridges two traditionally separate functions — data engineering (pipelines, infrastructure, ingestion) and data analysis (SQL, dashboards, business questions) — by owning the transformation layer that connects raw data to analytics consumers.

Where analytics engineering sits

The data team at most organisations has three distinct functions:

**Data engineering**: Builds and maintains pipelines, manages cloud infrastructure, ensures data arrives in the warehouse. Focuses on reliability, scalability, and latency. Primary skills: Python, Spark, Airflow, Terraform, cloud platforms.

**Analytics engineering**: Builds and maintains the data models, transformations, and documentation that make raw warehouse data useful. Defines business logic in SQL. Writes tests to ensure data quality. Documents tables and metrics for self-service consumers. Primary tool: dbt.

**Data analysis / BI**: Consumes the data models built by analytics engineers. Builds dashboards and reports. Answers business questions. Interprets results. Primary tools: Tableau, Power BI, SQL, Python notebooks.

Before analytics engineering existed as a named discipline, the transformation layer was owned by no one clearly. Data engineers did not build the SQL logic — they built pipelines. Analysts built their own transformations in BI tools or in ad-hoc SQL scripts that no one maintained. The result was duplicated logic, inconsistent numbers, untested transformations, and no documentation.

What analytics engineers actually do

**Write and maintain dbt models**: The primary deliverable. SQL transformations from raw tables (sources) through staged models to mart-layer dimensional models. Each model is version-controlled, tested, and documented.

**Define and document business logic**: Revenue recognition logic, customer churn definition, active user calculation — these are defined once, in SQL, in a dbt model. Not once per dashboard, not once per analyst, but once. The analytics engineer is the owner of business definitions in code.

**Write data quality tests**: Not_null, unique, relationships, accepted_values tests on every primary key and foreign key. Custom data quality assertions for business rules. The analytics engineer ensures the downstream consumers can trust the data.

**Maintain documentation**: Column descriptions, model descriptions, metric definitions, source freshness expectations. A table should never be documented only in someone's head or in a long-forgotten Confluence page.

**Collaborate with data consumers**: Analytics engineers are the data team's internal API. Analysts and BI developers come with data questions; the analytics engineer either shows them the existing model or builds a new one to meet the need.

The skills profile

Analytics engineering sits at the intersection of SQL and software engineering. The skills required:

**Advanced SQL**: Analytics engineers write complex SQL daily. Window functions, CTEs, multi-step transformations, performance optimisation. SQL fluency is non-negotiable.

**dbt**: dbt is the canonical analytics engineering tool. Jinja templating, model materialisation strategies, incremental logic, tests, macros, packages. Knowing dbt deeply is the core analytics engineering skill.

**Data modeling**: Understanding dimensional modeling (star schemas, fact tables, dimension tables, slowly changing dimensions) well enough to design mart-layer models that are both accurate and performant.

**Git and CI/CD**: Version control, pull requests, code review. Analytics engineering treats data models like application code — version-controlled, reviewed, tested, deployed via CI/CD.

**Python basics**: Not at the level of a data engineer, but enough to write dbt macros, automate repetitive tasks, and work with data in notebooks for profiling or investigation.

**Communication and documentation**: Analytics engineers are translators. They turn ambiguous business questions into precise SQL. They document models so business users can self-serve. This requires strong written communication alongside the technical skills.

Analytics engineering vs data engineering

The boundary is the ingestion/transformation split. Data engineers own the pipeline from source to raw table: extraction, loading, schema management, pipeline reliability. Analytics engineers own the transformation from raw table to mart layer: business logic, data quality, documentation.

In practice, the boundary is not always clean. Small teams often have one person doing both. In larger organisations, the split allows specialisation: data engineers optimise for pipeline reliability and scale; analytics engineers optimise for analytical correctness and usability.

A useful mental model: data engineers answer "Is the data in the warehouse?" Analytics engineers answer "Is the data in the warehouse correct, documented, and ready to be used?"

The tools of analytics engineering

**dbt Core / dbt Cloud**: The primary tool. dbt Core is open-source and runs locally or in CI. dbt Cloud adds a managed scheduler, IDE, CI integration, and the Semantic Layer.

**Version control**: GitHub, GitLab, or Bitbucket. All transformation code in version control.

**Data warehouse**: Snowflake, BigQuery, Redshift, Databricks — analytics engineers write SQL for the specific warehouse and need to understand its performance characteristics.

**Data catalog**: Alation, Collibra, Atlan, or dbt Docs. Documentation lives somewhere discoverable.

**BI tool**: The consumer layer. Analytics engineers understand how the BI tool (Tableau, Power BI, Looker) consumes the data models they build, which informs model grain and naming decisions.

Why analytics engineering matters for your organisation

If your organisation has inconsistent numbers across dashboards, analysts spending 40% of their time cleaning data, undocumented transformations that only one person understands, and no systematic testing of data quality — you have an analytics engineering gap. The function exists to solve exactly these problems.

Hiring an analytics engineer (or retaining an analytics engineering consultant) is the investment that makes your BI tools worth the licencing cost. A Tableau deployment on top of poorly modeled, untested, undocumented data produces beautiful-looking wrong numbers. The same Tableau deployment on top of well-modeled, tested, documented dbt models produces reliable analytics.

For the technical foundations of analytics engineering, see dbt best practices, data modeling best practices, and data warehouse design. Our data architecture consulting practice provides analytics engineering services and builds modern data transformation stacks — book a free consultation.

Get your data architecture audit in 30 minutes.

A former Microsoft data architect audits your data foundation, identifies your top priorities, and sends you a written plan. Free. No pitch.

Book a Call →