Snowflake implementation
We set up Snowflake with defined roles, cost-efficient warehouses and dbt models built on top, as we did for DPG Media’s churn analysis.
At DPG Media, we combined data from different tables using SQL and dbt for churn analysis
For DPG Media, we investigated churn among digital subscribers to two brands using Python, SQL and dbt. The technical blog post accompanying this case study explains the approach: Snowflake as the central repository for the tables, and dbt to transform the data consistently and repeatably.
How do we set up Snowflake without costs and access permissions getting out of hand?
Creating an account is quick. After that, warehouses, roles and separate loading scripts grow alongside each other, until no one knows who has ACCOUNTADMIN or which query is using up the credits. An implementation puts that foundation in place before reports start running on it.
A Snowflake implementation defines roles, warehouses, loading routes and cost controls
Layers and roles
Databases for raw, processed and reporting data, with team-specific roles arranged in a hierarchy. ACCOUNTADMIN remains with a small number of administrators.
Warehouses for each task
Separate warehouses for loading, transformation and reporting, each no larger than needed, with auto-suspend and auto-resume so they do not run while idle.
Loading and transformation
Load data from source systems via stages or Snowpipe and transform it in dbt models with tests. For DPG Media, we worked with SQL and dbt.
Costs and recovery
Resource monitors that send alerts or suspend warehouses when a credit limit is reached, and Time Travel to recover a deleted or modified table.
We configure Snowflake around the reports and models that will read from it
-
Map sources and usage
Identify the sources, the reports and models that will read from them, who needs access and which cloud region is right.
-
Set up the account and build the first layer
Configure roles, warehouses and databases, load data from the first sources and add dbt models with tests.
-
Go live and hand over
Put monitoring, access rights and loading schedules into production, with documentation so your team can take over management.
Is Snowflake the right choice for us, or would something lighter work?
A good fit if
Your data is spread across an ERP system, separate databases and spreadsheets. You want a single cloud-based SQL data warehouse for reporting and analysis, and your team works with SQL.
Not a good fit if
You have a few sources and a small database that works well. Or your organisation already uses another data platform; adding a second would mainly create more management work.
What determines the scope
The number of sources and how often they refresh, whether you need to migrate from an existing data warehouse, how many teams and roles are involved, and who will manage it after handover.
Won’t Snowflake become unpredictably expensive?
You pay for storage and for the time warehouses are running. Auto-suspend, small warehouses and resource monitors help you keep track of those costs. You can use a budget to monitor serverless functions.
Snowflake, a lakehouse or a data warehouse on your own server: which approach fits your data?
Snowflake
Choose this if you mainly want to report on and analyse structured data using SQL, without managing servers. Our advice: define roles and warehouses before the first team gets started.
A lakehouse
Choose this if notebooks, Spark and machine learning are central to working with large volumes of data, including unstructured data. Read about Databricks implementation.
A data warehouse on your own server
Choose this if data must remain on your own network or the volume is small. Read about building a data warehouse.
We choose the data platform for each organisation and build on Snowflake where it makes sense
Data Science Lab has worked with data and AI since 2016. For Athlon, we used Snowflake, Python and R Shiny for inventory management. We are a Databricks Partner and a Microsoft Partner; we are not a Snowflake partner.

An overview of your data sources and reports makes the first conversation about Snowflake more concrete
Stef Stoelwinder
Business DevelopmentStef is your first point of contact. In our first conversation, we’ll discuss your data sources, reports and plans for Snowflake, and where to start.
E-mail info@datasciencelab.nl
Phone +31 (0)20 3636 724
Which source would you like to start with in Snowflake?
Tell us which sources and reports you have and whether you already have a Snowflake account. We’ll reply by email or arrange an initial conversation.
Message sent
Thanks for your message. We’ll be in touch as soon as possible.
Frequently asked questions
You set up the account so multiple teams can work in it securely and cost-effectively: a cloud region, databases and schemas for each layer, a role hierarchy, virtual warehouses for different tasks, loading routes for data sources, transformations in dbt and monitoring of credit consumption.
We do this as part of the data and AI platform, so reports and models read from the same data.
A Snowflake consultant designs the roles, warehouses and loading routes, and sets up transformations and cost monitoring. Snowflake recommends a hierarchy of custom roles and advises against combining account administration privileges and data access privileges in the same role.
ACCOUNTADMIN is the highest role and, according to Snowflake, should be assigned to only a limited number of users. There is no role that bypasses all privilege checks.
Snowflake runs on Amazon Web Services, Google Cloud and Microsoft Azure. You choose a region, such as Azure West Europe or Google Cloud europe-west4, both of which are in the Netherlands.
To run queries and load data, you need a virtual warehouse: computing power that you switch on separately. Its size determines the computing power available per cluster, and each increase in size doubles hourly credit consumption.
Snowflake bills for warehouses by the second, with a one-minute minimum each time one starts. Auto-suspend switches off an idle warehouse; auto-resume switches it back on for the next query.
A resource monitor tracks a credit quota and can issue warnings or suspend warehouses. Only ACCOUNTADMIN can create monitors, and you use a budget for serverless features.
Snowflake stores the tables, while dbt transforms them into models with tests. In our churn analysis, we describe this combination: models that select columns, perform calculations and produce a combined dataset.
Note that dbt creates tables in Snowflake as transient by default, without Fail-safe. You can choose a separate warehouse for each model. Read more about dbt implementation.
In batches using COPY INTO from a stage, on a warehouse you choose and pay for based on its running time. Or continuously with Snowpipe: it loads files as soon as they arrive in a stage, using Snowflake computing power and billed according to the amount of data loaded.
For sources such as an ERP or CRM system, you would usually put a loading tool or pipeline in front of it to supply the files or tables.
Time Travel lets you recover earlier data. The default retention period is one day; you can extend it for permanent objects, except in the Standard Edition. You can restore a deleted table with UNDROP. After that, the data moves to Fail-safe, where you can no longer recover it yourself.
A zero-copy clone lets you create a test environment that only incurs storage costs when you make changes to it.
No. According to our partners page, we are a Databricks Partner and a Microsoft Partner. We work with Snowflake where it suits an organisation or is already in place, as at Athlon.
If you’re weighing up platforms, we’ll compare the differences openly. Read about Databricks implementation too; the choice is yours.
Will there be a transformation layer or another platform alongside Snowflake?
- Data and AI platformHow we build one central platform where reporting and AI use the same data.
- dbt implementationTransformations as code, with tests and documentation, on Snowflake or another data warehouse.
- Databricks implementationIf notebooks, Spark and machine learning are at the heart of your data platform.