Bruin Academy

Course

From Data Analyst to Analytics Engineer

A practical 15-step course on building, testing, reviewing, and running a local analytics pipeline.

What

You will build a small commerce pipeline that answers one question: "How much revenue did each customer generate each day?"

The project starts with local order and customer files. You will inspect the source, clean it in a staging layer, model orders and customers, build a daily revenue table, add checks, and make repeat runs safe. The final lessons cover documentation, Git review, local pipeline runs, a high-level look at automation, correcting a changed source record, and a capstone based on returns.

CSV source data
  -> staging models
  -> order fact + customer dimension
  -> customer daily revenue table
  -> checks, documentation, local runs, and automation options

By the end, you will have a working project plus the queries, checks, and review notes used to verify it.

How

Every lesson starts with an analytics engineering decision, then shows one way to implement it with Bruin and DuckDB. The ideas transfer to dbt, Dataform, SQLMesh, or an in-house framework: define what each row means, make sure joins do not duplicate rows, test assumptions, document metrics, review changes, and run the pipeline locally before deciding how to automate it.

Use the same project throughout the course and complete the checkpoint at the end of each lesson. Do not skip the small queries that compare source and output rows. They are the habit that turns a plausible model into a trustworthy one.

You can complete every exercise manually or ask a coding agent such as Codex, Claude Code, or Cursor to edit files and run the same commands. The manual instructions remain the source of truth. When you use an agent, review its proposed changes, inspect the diff, and read the command output before moving on.

Python assets and agent-assisted work are optional extensions. Finish the SQL workflow first, then use the additional resources if they match your job.

Before you start

  • Comfort reading SQL queries and using a terminal
  • Git installed; the setup lesson shows the one required `git init` command

15 steps

Course outline

Start course

Frame the work

Define the question, create the project, and inspect the source data.

  1. 1Define the model before writing SQLDefine what each row means, how to identify it, and what to test.
  2. 2Set up a local analytics projectInstall Git and Bruin, initialize the project folder, and configure local DuckDB.
  3. 3Load and profile the source dataLoad local commerce data and check its shape before modeling it.

Build the model

Clean the source data and build order, customer, and reporting tables.

  1. 4Build a clean staging layerStandardize orders and customers without hiding source assumptions.
  2. 5Model orders and customersSeparate measurable activity from descriptive customer attributes.
  3. 6Build the daily revenue tableJoin orders to customers without duplicating rows, then save the result.
  4. 7Test the assumptions that matterCheck row identifiers, allowed values, duplicate rows, and business rules.
  5. 8Make repeat runs safeProcess one time window at a time without creating duplicate rows.

Ship with confidence

Document the model, prove the pipeline works, and review the change.

  1. 9Describe the model in its asset definitionKeep the metric definition, owners, limits, and checked examples next to the SQL.
  2. 10Prove the pipeline worksCheck the setup and SQL, run a few dates, and compare the results.
  3. 11Review the change with GitInspect the diff and review modeling decisions before sharing the work.

Practice and extend

Practice local reruns, compare automation options, and complete a capstone.

  1. 12Correct a source record and rerun a datePractice correcting one source record, predicting its effect, and rerunning only the affected reporting date.
  2. 13Run locally, then choose automationPractice local pipeline runs, then compare common ways to schedule and deploy them.
  3. 14Capstone: add returns to the pipelineExtend the project, prove the result, and assess the finished pipeline.
  4. 15Recap and next stepsReview the workflow, then choose a larger project to build next.

Get help & contribute

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.

The signup form is hosted by Brevo. Accept cookies to load it.