dbt overview: for product / growth / ops

Diana Hsieh
Learning with Diagrams
3 min readApr 19, 2022

Wow! I can’t believe the last one of these I did was almost 4 years ago!! I find that new concepts are much easier to understand when high-level ideas are distilled into diagrams so that I can see how different ideas fit together.

I recently started using (at a basic / limited level) dbt in order to model our internal product data so that I could use it to get customer insights, our sales team could use it to monitor how customers were progressing through trials, and our customer success team could use it to track customer onboarding.

This post does not go into too much detail on dbt itself, but would provide a good overview to people in product, growth, or ops who are curious about dbt and are considering whether or not to adopt it in their organizations. Of course, if you have a data team, they’ll be the ones to own that decision!

Why I finally gave in and started using dbt
  • It started with a simple use case: CS wanted to send an email to schedule a demo whenever an integration was connected
  • We decided we needed to create a table that had all orgs, users, and when integrations were connected
  • However, the requests continued to expand over time, resulting in me copying WITH statements all over the place and writing crazy joins
  • The final straw was when I discovered a INNER JOIN where I should have been using a LEFT JOIN. That table was the WITH statement that I had copied over in multiple places!!!
Cool things dbt helps me with
dbt, ridiculously simplified

Some key things to note:

  • Sources can be defined and data lineage can be tracked
  • Models can be configured, although “views” are recommended
  • Tests can be written to make sure complex queries have the results you expect
  • Jinja makes it easier to write queries that loop through rows (among other functionalities)

Overall, I’m a huge fan of dbt — it’s solved a lot of my problems! We uniquely use dbt for professional services as well, and it’s a bit quirky to try to use dbt across multiple schemas, but the benefits we get from using dbt far outweigh needing to do some more configuration to get it to work for us. As product/growth/ops team members, you can benefit from your data team implementing dbt because it makes it easier for them to create and maintain the various views you need to get data and run the analyses you need.

--

--