How Outshine use Dataform to scale analytics across their business | Dataform
Case study

How Outshine use Dataform to scale analytics across their business

How Outshine use Dataform to collaborate effectively within one platform, ensure data quality and significantly reduce the time it takes them to build reports for their clients.

Data teams
picture of author

Josie Hall on November 27, 2019

The situation

Outshine, a digital marketing consultancy, works with B2B clients focused on accelerating growth through digital advertising. They have two main practices; a consultancy who optimise and implement advertising campaigns and an analytics practice who set up and maintain marketing data stacks for their clients.

B2B SaaS marketing and sales cycles are long, often up to 6-9 months. So, connecting results from advertising to generated revenue using sophisticated attribution models is a critical part of Outshine’s services. They unite data from many different platforms, including Facebook, Linkedin and Google Ads, as well as downstream data from platforms like Salesforce and Marketo. They move this data into customized data warehouses where it can be cleaned and processed. From this single point of truth, they can build reports, conduct analyses, and generate insights that drive better marketing and advertising campaigns.

To generate better insights more efficiently and effectively, Outshine needed to solve a few key challenges:

  • Working collaboratively on SQL code
  • Reducing the time it took to build reports
  • Ensuring data quality

They decided to work together with Dataform to try and solve these challenges.

Working collaboratively on SQL code

“From a management perspective, I’ve been able to provide oversight with how code gets deployed. Bringing software engineering best practices into our workflow means that we make fewer mistakes and are able to catch data quality issues early.”

Outshine has a team of 6 analysts all working across multiple client engagements and frequently collaborating on work. Data is often stored in BigQuery, and Outshine used views to transform it. However they were finding that when one analyst made changes to a dataset, wrote a new query or created a new view, other members of the team weren’t aware. This resulted in reports breaking and spread across many datasets and clients, this became an issue. Outshine needed to find a scalable way to manage their data and collaborate easily.

With Dataform, Outshine now has one platform where the whole team can collaborate on a single code base. Using Dataform’s Git integration, Outshine implemented code review processes that ensures a senior member of the team reviews changes that could have significant impacts on client reporting. Analysts can also share links to their proposed changes when asking for help from senior team members.

Time it takes to build reports

“The time it takes to build reports has gone from hours to minutes.”

With their previous set up, Outshine’s reporting often took hours to build and QA. It took a long time to resolve bugs resulting in incorrect data, or having to rewrite the same SQL logic across client datasets. Finding efficiencies in this process meant Outshine would save clients time and money.

Using Dataform allowed them to save significant time on building reports. They could write SQL logic once and deploy it across multiple clients in minutes. For example, they created a Google Ads spend report for one client and then easily replicated the logic to other clients. The time they save allows them to take on more clients, provide more value on every engagement and ultimately drives more revenue for Outshine.

Ensuring data quality

“We’ve had success using assertions not only to catch bugs in our code, but also to alert us when something has gone wrong with the campaigns.”

Outshine delivers frequent performance reports to clients, so it’s important that data is up-to-date and reliable. But speed is often achieved at the expense of rigorous QA, and mistakes inevitably happened, resulting in bugs in downstream data.

Outshine were able to stabilise their reporting by writing assertions and setting up alerts using Dataform. Assertions run as part of a schedule and check the data meets expectations. Now, Outshine can spot if something is wrong, and they can implement solutions before clients are impacted.


With Dataform, Outshine can scale their analytics expertise across the entire organisation. The whole team can collaborate effectively within one platform, resulting in fewer errors being introduced into their pipelines and significantly reducing the time it takes them to build reports for their clients.

“For me, the decision about whether to adopt something like Dataform is about time spent managing infrastructure.”

With no infrastructure to maintain, Outshine can focus their time on data modeling and quality and providing a better service and value to clients. As Dataform enables teams to do everything in SQL, they were able to get up and running across many clients in less than a few weeks.

A future with Dataform...

“With Dataform there is a way for your systems to live on beyond the people that actually build them."

By abstracting their business logic into a single platform Outshine have reduced the risk of their systems declining if a member of the team leaves (this is especially important in the tech world where there is a high turnover rate).

“Dataform can help fulfill that vision of an end-to-end data pipeline.”

By reducing the time it takes to build reports, Dataform has helped Outshine improve their attribution model on a wider scale. In the future, Outshine plans to use Dataform to run computations on top of tables and send alerts into places like Slack- for example, if ad spend increases but conversions don’t. They want to use Dataform to prompt actions and to ultimately help them make better decisions for their clients.

More content from Dataform

Dataform is joining Google Cloud


Dataform is joining Google Cloud

Today we're excited to announce that we've joined Google Cloud. Over the course of the past several months, our partnership with Google Cloud has deepened and we believe that our new combined efforts can make our customers and partners even more successful.
Learn more
Using Javascript to Create an Acquisition Funnel Dataset illustration

Using Javascript to Create an Acquisition Funnel Dataset

How to use a combination of SQL and Javascript to create an acquisition funnel dataset.
Learn more
How to add a new warehouse adapter to Dataform illustration

How to add a new warehouse adapter to Dataform

I recently wrote a Presto adapter for Dataform during a week long quarterly hackathon. Here's a guide on how I'd do it again.
Learn more

Learn more about the Dataform data modeling platform

Dataform brings open source tooling, best practices, and software engineering inspired workflows to advanced data teams that are seeking to scale, enabling you to deliver reliable data to your entire organization.