KPI Dashboards and Balanced Scorecards using Looker, dbt and Google BigQuery

    markrittman
    Jul 19, 2022
    Analytics Engineering
    BigQuery
    dbt
    Looker
    Modern Data Stack

    One of the main use-cases for the data stack I described in How Rittman Analytics does Analytics Part 2 : Building our Modern Data Stack using dbt, Google BigQuery, Looker, Segment and Rudderstack is to provide the data for our internal KPI dashboard shown below, built using dbt and Looker and powered by our Google BigQuery cloud data warehouse.

    In previous years we used just one KPI — revenue against target — when setting goals for the team but as our business has matured and we need to consider factors beyond just revenue if we’re to make that growth sustainable; this year we adopted a more holistic approach to thinking about performance management that aimed to consider the factors that lead to revenue growth rather than just the outcome itself.

    Based on the classic performance management technique first outlined in Harvard Business Review back in 1992, we started by defining overall objectives for the four perspectives of Finance, Customer, Process and Innovation by which our performance was going to be measured:

    • to increase revenue for the financial perspective

    • to increase customer satisfaction for the customer perspective

    • to decrease cost of delivery for our process perspective

    • to grow our capabilities for the innovation perspective

    Each of these objectives would then have two initiatives by which we’d achieve those objectives, for example “Increase our certification level” for the “Grow our Capabilities” objective for the Innovation perspective. Some objectives for now would only have one initiative and others later on might have three or more, but one or two seemed a good starting point for now.

    Then, to calculate how well we were doing at the end of each month we’d take each objective’s set of initiatives and calculate the average performance to target score for the entire set, and then calculate our overall performance score from the objective scores by applying a weighting to them reflecting their relative importance to the business over each quarter.

    Gathering the data together for this dashboard required us combine data held across a number of the SaaS applications used to run our business; Hubspot for our CRM data, Xero for financial, Officevibe for staff surveys and Google Sheets for certification progress, for example.

    As you can see from the data source overlays over the dashboard screenshot shown below, most required at least two data sources for actual and target values and some, for example the KPI and scorecard tiles at the top of the page, requiring data from up to eight separate app and file sources.

    Which is where our internal data stack comes in, or at least a subset of the stack concerned with loading, transforming and combining the data we need for this particular dashboard.

    Even then we still do some of that combining in the Looker reporting layer when, for example, we use the merge results feature to compare actual and forecasted new deals from one explore with the relevant target from another explore.

    With the design of the dashboard, the layering of sections is intentional; at the bottom of the page are Innovation measures that show progress against target for activities that then enable the delivery (Customer) measures, which in-turn drive improvement in operational (Process) measures and finally, our financial measures.

    At the top of the page are a set of metric tiles, one each for our most important KPIs, show last month’s performance compared to prior period.

    As we already have those metrics in the dashboard in the form of rolling 12-month line and bar charts, we created the metric tiles by duplicating the existing ones and limiting the rows returned to just the last complete month and month before that.

    Creating the scorecard tiles at the top of the page involved a bit more work; as you can’t base the calculation of one metric tile on the results of another, we had to painstakingly recreate one big merge results query to first calculate each underlying metric in-turn, then calculate the scorecard objective percentages-to-target and then finally, the weighted overall score.

    Alternatively, you could extract the SQL for each of the dashboard tile queries and use them as part of a derived table LookML view that you could add to your project, reference in a standalone explore and use as the data source for the dashboard tiles directly.

    Finally, so that we could store a history of changes for this dashboard’s design and if needed, revert back to an earlier design, we exported the dashboard design as LookML and saved it alongside the LookML views and models.

    The LookML version of the KPI dashboard then became the “canonical” version with the user dashboard, stored in a regular Shared Folder alongside the regular user dashboards, its design “fixed” but exportable back as a user dashboard should we wish to create a new version in the future.

    Interested? Find out More

    Rittman Analytics is a boutique analytics consultancy and Google Cloud Platform / Looker partner who can help you centralise your data sources, modernize your analytics and enable your end-users and data team with a modern BI workflow.

    If you’re looking for some help and assistance building your own KPI dashboard in Looker or other BI tools, or to help build-out your analytics capabilities or data warehouse on a modern, flexible and modular data stack, contact us now to organize a 100%-free, no-obligation call — we’d love to hear from you!

    Share:

    Recommended Posts

    One Person Many Roles: Designing a Unified Person Dimension in Google BigQuery

    One Person Many Roles: Designing a Unified Person Dimension in Google BigQuery

    Jan 26, 2026
    Analytics Engineering
    BigQuery
    +3
    IQR-Based Website Event Anomaly Detection using Looker and Google BigQuery — Rittman Analytics

    IQR-Based Website Event Anomaly Detection using Looker and Google BigQuery — Rittman Analytics

    Jul 28, 2025
    Analytics Engineering
    BigQuery
    +3
    How Rittman Analytics uses AI-Augmented Project Delivery to Provide Value to Users, Faster

    How Rittman Analytics uses AI-Augmented Project Delivery to Provide Value to Users, Faster

    Jan 19, 2026
    Data Engineering
    dbt
    +3

    Recent Posts

    Agentic Data Platform Migration using Wire, Claude Code and Rittman Analytics

    Jul 19

    Making Agentic Analytics More Accurate using Anthropic’s Agentic Data Stack and the Wire Framework

    Jun 11

    Google Next 2026: What’s New for Looker, BigQuery, Data Platforms and Agentic Analytics

    Apr 26

    Introducing the Wire Framework: The “Secret Sauce” Behind Our AI-Augmented Analytics Project…

    Feb 25

    So, Just How Relevant is Multi-Touch Attribution to Marketers in 2026?

    Jan 28

    One Person Many Roles: Designing a Unified Person Dimension in Google BigQuery

    Jan 26

    Why We’ve Tried to Replace Data Analytics Developers Every Decade Since 1974

    Jan 19

    How Rittman Analytics uses AI-Augmented Project Delivery to Provide Value to Users, Faster

    Jan 19

    Rittman Analytics 2025 Wrapped : A Year of Platforms, People and High-Performing Data Teams

    Jan 19

    You Probably Don’t Need an RFP

    Jan 19
    Page 1 of 24
    Looking for a partner on your data analytics journey?

    Published Year

    2026
    (10)
    2025
    (18)
    2024
    (27)
    2023
    (23)
    2022
    (19)
    2021
    (12)
    2020
    (20)
    2019
    (32)
    2018
    (26)
    2017
    (18)
    2016
    (32)

    Tag Cloud

    Modern Data Stack (91)Data Engineering (85)BigQuery (59)Looker (56)Business Intelligence (BI) (49)Analytics Engineering (47)dbt (34)Data Quality (23)Oracle (16)Google Cloud (GCP) (15)Fivetran (12)Automation (11)Dashboards (9)Financial Analytics (5)Generative AI (5)Semantic Layer (3)single-post (3)Cube.js (3)Chatbots / Conversational Analytics (2)Embedded Analytics (2)Vertex AI (1)OpenAI (1)Looker Studio (1)LLMs (Large Language Models) (1)