Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Jira Initiative

Document Status

IN PROGRESS

Created On

Due Date

Document Owner

Project Team

Digital Loyalty

🌎 Project Overview

The aim of this project is to develop a dashboard that illustrates the high-level performance of Tim Horton’s digital/loyalty program. Currently, executive leadership across Tim Horton’s seeks insights on digital health metrics at a higher frequency than the Digital & Loyalty Analytics team currently provides to them. Furthermore, the existing process to provide these metrics ad hoc requires significant manual intervention by the analytics team. Thus, the dashboard should display key metrics that the digital team already tracks, in one location. The end-users of the dashboard are anticipated to be high-level executives, who will monitor essential business metrics to effectively guide business activities, as well as members of the Digital Loyalty Analytics team. However, based on the rate of uptake, users across the broader organization may utilize the dashboard on an ad hoc basis.

✍️ Requirements

The following outlines details of each of the requested dashboard views (of which there are four in total), and should inform the development of the underlying data models to power the use case. Note that the analysis should be limited to TH Canada and Canadian Loyalty Guests.

View #1: Executive Summary - Key Digital & Loyalty Metrics

As depicted in the illustrative sample view above, this dashboard view should include:

User Inputs: Dashboard users will be able to input their desired reporting range by selecting the following:

1. [Start Date] A feature to allow the user to select a start date of the analysis, expressed in the format yyyy/mm/dd. This will represent the start date of the date range being examined by the user.

2. [End Date] A feature to allow the user to select an end date of the analysis, expressed in the format yyyy/mm/dd. This will represent the end date of the date range being examined by the user.

This date range - along with all others across the dashboard views - should always default to YTD, unless specifically noted otherwise.

Callout Metrics: this first dashboard view should present users with a series of callout metrics that summarize the performance & health of Tim Hortons Digital & Loyalty during users' selected reporting ranges, as defined by [Start Date] and [End Date]:

Known Diner Sales Penetration: cumulative Known Diner Sales (all sales that are made by guests that have registered through the Tim Hortons app), expressed as a percentage of cumulative system-wide sales ($) for the dashboard user’s selected time period. This metric is used as a baseline to see loyalty sales penetration against system-wide sales, and is a function of the following two metrics (KDS and SWS).

Known Diner Sales: (KDS) cumulative Known Diner Sales (all sales that are made by guests that have registered through the Tim Hortons app) for the dashboard user’s selected time period; expressed as a nominal dollar amount ($).

System-wide Sales (SWS): all sales across the Tim Hortons Canada for the dashboard user’s selected time period; expressed as a nominal dollar amount.

Average App Monthly Active Users (MAU): the count of distinct guests that visited the app within a month, where visit is app open or app launch, averaged across all the months within the dashboard user’s selected time period; expressed as a nominal amount of users. This metric is used to track amount of guests who visit the app.

Input range for MAU has to be at least one month. If a user selects a date range less than one full calendar month, this call-out should default to “N/A”. Where a user selects a date range across multiple calendar months, this call-out should be the average of the month’s selected. By default, this figure should be the YTD average, but only for full calendar months. For example, if the current date is November 10th, the default date range for this calculation should be limited to January to October. This is to prevent the incomplete current month from pulling down the average.

Purchasing Known Diners: cumulative count of Known Diners (guests that have registered through the Tim Hortons app) that have made a purchase within the dashboard user’s selected time period; expressed as a nominal amount.

Average Known Diner Cheque: average sales of an individual transaction across all known diners for the dashboard user’s selected time period; expressed as a dollar amount.

Average Known Diner Frequency: average visits made by purchasing guests that have registered through the Tim Hortons app within the dashboard user’s selected time period; expressed as a nominal amount.

Map Visualization: Metrics by Province

In addition to callout metrics, this view should also feature an option for users to filter for one specific metric and display it across each province in a map visualization. For example, if the user selects Known Diner Sales Penetration, the map should populate each province with a percentage representing the proportion of Known Diner Sales that each province accounts for (e.g., Ontario accounts for 32.3% of Canada’s KDS). This is done by taking the selected metric’s value for each province and dividing it by the value for Canada (e.g., Ontario KDS / Canada KDS).

View #2: Loyalty Guest Engagement

As depicted in the illustrative sample view above, this dashboard view should include:

User Inputs: Dashboard users will be able to input their desired reporting range by selecting the following:

1. [Start Date] A feature to allow the user to select a start date of the analysis, expressed in the format yyyy/mm/dd. This will represent the start date of the date range being examined by the user.

2. [End Date] A feature to allow the user to select an end date of the analysis, expressed in the format yyyy/mm/dd. This will represent the end date of the date range being examined by the user.

This date range - along with all others across the dashboard views - should always default to YTD, unless specifically noted otherwise.

Callout Metrics: this first dashboard view should present users with a series of callout metrics that summarize the performance of the Tim Hortons loyalty program and guest engagement during the user’s selected reporting range, as defined by [Start Date] and [End Date]:

Known Diners: cumulative count of Known Diners (guests that have registered through the Tim Hortons app) that have made a purchase within the dashboard user’s selected time period; expressed as a nominal amount.

KDS Penetration: cumulative Known Diner Sales (all sales that are made by guests that have registered through the Tim Hortons app), expressed as a percentage of cumulative system-wide sales for the dashboard user’s selected time period

30 Day Active Guests: cumulative count of guests who have visited at least once in the last 30 days. Note that this value is fixed based on current date, and should not dynamically change based on user input of [Start Date] and [End Date].

Time Series 1 of 5: KDS Penetration Over Time

The first time-series chart, KDS Penetration Over Time, is intended to illustrate, using superimposed line charts, the evolution of KDS penetration throughout the dashboard user’s selected time period, compared to past years over the same time period.

Within this chart, users should have the option to drill up or down on the reporting cadence (e.g., daily, weekly [fiscal], monthly, quarterly, annually).

Time Series 2 of 5: Loyalty Cheque and Frequency Over Time

The second time-series chart, Loyalty Cheque and Frequency Over Time, is intended to illustrate the evolution of respective average cheque and frequency amounts of three classes of guests:

1) Registered loyalty guests: guests who participate in the Tim Horton’s loyalty program and have registered an account through the app, typically identified when registered_account_id contains ‘us-east’.

2) Unregistered loyalty guests: guests who participate in the Tim Horton’s loyalty program who have not registered an account through the app, typically identified when registered_account_id is null, while loyalty_customer_id begins with ‘046’.

3) Non-loyalty guests: guests who do not participate in the Tim Horton’s loyalty program.

Cheque values will be represented by three different coloured lines corresponding to the three different cohorts of guests. Frequency values will be represented by two different coloured bars corresponding to registered loyalty guests and unregistered loyalty guests respectively. Two separate vertical axes will be featured to display both cheque and frequency values on the same graph. Note that frequency values cannot be computed for non-loyalty guests, since these guests cannot be individually identified and thus are not able to have their number of visits recorded.

Similar to the previous chart, users should have the option to drill up or down on the reporting cadence (e.g., daily, weekly [fiscal], monthly, quarterly, annually). Cheque and frequency values for each guest type will be averaged for each reporting cadence within the user’s selected time period. For example, if the user inputted the time range as [Start Date] 2023/01/01 to [End Date] 2023/10/01 and drilled down the reporting cadence to “monthly”, the lines and bars would represent average cheque and frequency amounts for January through October 2023. In addition to periodic averages, the chart will also feature the average cheque and frequency for the user’s selected time period in comparison to the average cheque and frequency for the same time period in the previous year.

Within this chart, users should be able to filter for the different classes of guests using a multi-select option. Users can select just one, two, or all three guest classes to view. For example, if the user is only interested in looking at loyalty guests, they would toggle on “Registered Loyalty” and “Unregistered Loyalty” to view only those respective bars and lines, without seeing the information for non-loyalty guests.

Time Series 3 of 5: First Time Loyalty Scans Over Time

Note: First Time Loyalty Scans: count of guests who have scanned the QR code or barcode associated with their loyalty account for the first time ever

The third time-series chart, First Time Loyalty Scans Over Time, is intended to illustrate the changes in number of first time loyalty scans in each reporting cadence (e.g., first loyalty scan in a given week, month, year, etc.) of the dashboard user’s selected time period. The cumulative number of first time scans within each reporting cadence will be represented as bars. For example, if the user inputted the time range as [Start Date] 2023/01/01 to [End Date] 2023/10/01 and drilled down the reporting cadence to “monthly”, the bars would show the cumulative first time loyalty scans that occurred in each month, from January through October 2023.

Similar to the previous time series chart, this chart will also feature the average of first time loyalty scans for the user’s selected time period in comparison to the average of first time loyalty scans for the same time period in the previous year.

Time Series 4 of 5: New vs. Existing Guest Cheque and Frequency Over Time

The fourth time-series chart, New vs. Existing Guest Cheque and Frequency Over Time, is intended to illustrate the evolution of respective average cheque and frequency amounts of two types of guests:

New guest: guest who made their first purchase ever in the specific reporting cadence.

Existing guest: guest who made their first purchase ever before the specific reporting cadence.

Similar to the second time series chart, cheque values will be represented by two different coloured lines corresponding to the two types of guests. Frequency values will be represented by two different coloured bars corresponding to the two types of guests. Two separate y-axes will be featured to display both cheque and frequency values on the same graph. Again, users should have the option to drill up or down on the reporting cadence (e.g., daily, weekly, monthly, quarterly, annually). Cheque and frequency values for each guest type will be averaged for each reporting cadence within the user’s selected time period. For example, if the user inputted the time range as [Start Date] 2023/01/01 to [End Date] 2023/10/01 and drilled down the reporting cadence to “monthly”, the lines and bars would represent average cheque and frequency amounts for January through October 2023. In addition to periodic averages, the chart will also feature the average cheque and frequency for the user’s selected time period in comparison to the average cheque and frequency for the same time period in the previous year.

Time Series 5 of 5: Same Customer Stats Over Time

The fifth time series, Same Customer Stats Over Time, is intended to show the cumulative number of customers within a specified reporting cadence (e.g., week, month) that fall into the following categories, using a stacked bar chart:

Comping: customers who made a purchase during the specified cadence (e.g., during each month if the specified cadence is monthly) during the user’s selected reporting year and the previous year; expressed as a positive nominal amount (positive bar).

Non-comping: customers who made a purchase during the specified cadence during the user’s selected reporting year but not in the same cadence in the previous year; expressed as a positive nominal amount (positive bar).

Non-returning: customers who did not make a purchase during the specified cadence during the user’s selected reporting year but did make a purchase in the same cadence of the previous year; expressed as a negative nominal amount (negative bar).

Similar to the previous chart, users should have the option to drill up or down on the reporting cadence (e.g., daily, weekly, monthly, quarterly). Total guests, comprising all three types of guests, for each cadence will form one bar in the bar chart. For example, if the user inputted their time range as [Start Date] 2023/01/01 to [End Date] 2023/10/01 and drilled down the reporting cadence to “monthly”, comping guests in January 2023 would be the number of guests who made a purchase both in January 2022 and January 2023; non-comping guests would be the number of guests who did not make a purchase in January 2022 but did make one in January 2023; non-returning guests would be the number of guests who made a purchase in January 2022 but did not make one in January 2023. The count of comping and non-comping guests would accumulate to form the positive portion of the bar for January, while non-returning guests would be represented as the negative portion of the January bar. This would be repeated to create a bar for each month from January to October 2023. Similar to the previous chart, this chart will also feature the average of comping, non-comping, and non-returning guests for January to October 2023 in comparison to the average of comping, non-comping, and non-returning guests for the same time period in the previous year.

View #3: Digital Ordering & Payment

As depicted in the illustrative sample view above, this dashboard view should include:

User Inputs: Dashboard users will be able to input their desired reporting range by selecting the following:

1. [Start Date] A feature to allow the user to select a start date of the analysis, expressed in the format yyyy/mm/dd. This will represent the start date of the date range being examined by the user.

2. [End Date] A feature to allow the user to select an end date of the analysis, expressed in the format yyyy/mm/dd. This will represent the end date of the date range being examined by the user.

This date range - along with all others across the dashboard views - should always default to YTD, unless specifically noted otherwise.

Callout Metrics: this first dashboard view should show users the respective sales of each digital ordering or payment method, represented as a percentage of system-wide sales, during the user’s selected reporting range, as defined by [Start Date] and [End Date].

This will include kiosk sales, Mobile Order & Payment (MO&P) sales, delivery sales, catering sales, Outdoor Digital Menu Board (“ODMB”) sales, Scan & Pay sales, total digital sales (sum of all digital channels), as well as restaurant POS and Drive Thru sales (sum of all non-digital sales). The percentages for each of these would just be computed as the total sales for that service mode / payment method within the [Start Date] and [End Date], divided by the total system-wide sales within the [Start Date] and [End Date].

Time Series 1 of 3: Digital Ordering Sales Over Time

Note, Sales per Restaurant per Day: cumulative sales made by the specified digital ordering channel within the specified reporting cadence (e.g., for each month, if specified cadence is monthly), divided by number of restaurants that actively operate the digital ordering channel, per day.

The first time series in this view, Digital Ordering Sales Over Time, is intended to illustrate the sales per restaurant per day for each digital ordering channel over the user’s selected time range, as a stacked bar chart, where each portion of the stacked bar corresponds to the sales of each digital ordering channel.

Time Series 2 of 3: Ordering Channel Cheque Comparison Over Time

The second time series, Service Mode Cheque Comparison Over Time, is intended to illustrate

Time Series 3 of 3: Loyalty Penetration by Ordering Channel Over Time

Note, Loyalty Penetration: count of transactions made by a guest with a loyalty account, as a percentage of the count of total transactions.

The third time series, Loyalty Penetration by Service Mode Over Time, is intended to illustrate the evolution of loyalty penetration in each digital ordering channel over the course of the user’s selected time range. For example, loyalty penetration within delivery would be represented as the count of transactions made through the delivery channel by a guest with a loyalty account, as a percentage of the count of total transactions made through the delivery channel. Loyalty penetration will be represented as a series of superimposed line charts, with each line corresponding to a different channel

View #4: Offers & Points

As depicted in the illustrative sample view above, this dashboard view should include:

User Inputs: Dashboard users will be able to input their desired reporting range by selecting the following:

1. [Start Date] A feature to allow the user to select a start date of the analysis, expressed in the format yyyy/mm/dd. This will represent the start date of the date range being examined by the user.

2. [End Date] A feature to allow the user to select an end date of the analysis, expressed in the format yyyy/mm/dd. This will represent the end date of the date range being examined by the user.

This date range - along with all others across the dashboard views - should always default to YTD, unless specifically noted otherwise.

Callout Metrics: this first dashboard view should show users series of callout metrics that summarize the performance of the Tim Hortons offers and rewards program during the user’s selected reporting range, as defined by [Start Date] and [End Date]:

Unique Guests who Received Offers: count of registered loyalty guests who received at least one offer within the user’s selected reporting range

Unique Purchasing Guests: count of registered loyalty guests who made at least one purchase within the user’s selected reporting range

Unique Guests who Activated Offers: count of registered loyalty guests who activated at least one offer within the user’s selected reporting range

Unique Offer-Using Guests: count of registered loyalty guests who redeemed at least one offer on a purchase within the selected reporting range

Purchasing Guest Offer Penetration: count of offer-using guests as a percentage of the total count of purchasing guests

Time Series 1 of 3: Top 10 Offers (by Sends/Activation Rate/Redemption Rate)

In this dashboard view, the first time series, Top 10 Offers (by Sends/Activation Rate/Redemption Rate), is intended to show the user the top 10 offers, ordered either by number of sends, activation rate, or redemption rate, depending on which one the user chooses to filter the chart by.

Time Series 2 of 3: Points Issued per Known Diner $ Over Time

In this dashboard view

Time Series 3 of 3: Guest x Offer Interaction Over Time

KPIs:

  • RRAMI: Restaurants Reporting Any Menu Item

    • Just show number (no chart)

Week start date

Fiscal Year

Fiscal Week

Province

RRAMI

yyyy/dd/mm

yyyy

xx

xxxxx

  • Loyalty Redemptions: products that were redeemed using loyalty points

    • Used for tracking how many free items we’re giving away and the value of them.

      Often viewed as a percentage of SWS or KDS.

    • Organized by tier

    • Stacked bar chart

Week start date

Fiscal Year

Fiscal Week

yyyy/dd/mm

yyyy

xx

  • Loyalty Cheque: average sales of an individual transaction by a loyalty program member

Week start date

Fiscal Year

Fiscal Week

Province

Registered loyalty sales

Registered loyalty tickets

Non-loyalty sales

Non-loyalty tickets

Registered loyalty cheque

Unregistered loyalty cheque

Non-loyalty cheque

System cheque

yyyy/dd/mm

yyyy

xx

$

$

$

  • Loyalty Frequency: average loyalty guest visits in a time period

Week start date

Fiscal Year

Fiscal Week

Province

Registered guests

Registered tickets

Registered loyalty frequency

Unregistered loyalty tickets

Unregistered loyalty frequency

System frequency

yyyy/dd/mm

yyyy

xx

  • KDS: all sales that are made by recognizable guests, i.e. guests that have registered through the app

    • ^map based on this

Week start date

Fiscal Year

Fiscal Week

Province

Known Diner Sales (Nominal)

SWS

KDS Penetration

yyyy/dd/mm

yyyy

xx

$

$

%

  • Month to Date (MTD) MAU: Monthly Active Users; distinct guests that visited the app, where visit is app open or app launch

    • DAU: number of unique guests that have visited in the given day (partition date key), where visit is app open or app launch

    • MAU MTD: cumulative unique guests per month

    • Incremental DAU: number of unique guests that visited the app in the given day for the first time in the given month

Partition date key

Year

Month

DAU (Daily Active Users)

MAU MTD

Incremental DAU

yyyy/dd/mm

xx

xx

  • Daily S&P penetration

    • Same as existing dashboard, exclude new users by day, show fewer days

    • Show the past 7 days and the latest weekly number

    • Loyalty Penetration %: A/B

    • Systemwide Penetration %: A/C

    • Daily S&P guests: count of people who have made a purchase using S&P in the given day

    • Weekly S&P guests: count of people who have made a purchase using S&P in the given week

    • S&P toggled on: cumulative count of people who have S&P toggled on by the given day

    • Systemwide tickets: all transactions

Partition date key

Fiscal year

Fiscal week

Count of Scan & Pay transactions > $0 (A)

Count of registered transactions > $0 and are not MO&P or delivery (B)

Systemwide tickets (C)

Loyalty Penetration %

Systemwide Penetration %

Daily S&P guests

Weekly S&P guests

S&P toggled on

yyyy/dd/mm

yyyy

xx

xx

  • S&P Deep Dive

    • Guest Impact (cheque & frequency)

    • First Time Scans over time

    • Turn Offs

  • Same customer stats

  • Digital sales % (of SWS): total of all digital sales (MOP, delivery, catering, kiosks), including both registered and unregistered loyalty guests, as a percentage of total system-wide sales

    • add province

Date

Fiscal Year

Fiscal Week

Province

Digital Sales (Nominal)

SWS

Digital Sales Penetration

yyyy/dd/mm

yyyy

xx

$

$

%

  • Digital ordering channels

    • Kiosks, MOP, delivery, ODMB

    • Nominal tickets

    • Stacked bar chart

    • *define digital tickets

Date

Fiscal Year

Fiscal Week

Kiosk tickets

MO&P tickets

Delivery tickets

Catering tickets

ODMB tickets

Digital tickets

Systemwide tickets

yyyy/dd/mm

yyyy

xx

  • Digital Ordering vs. In-Restaurant & Drive-Thru

Date

Fiscal Year

Fiscal Week

Digital Sales

Digital Tickets

Digital Cheque

In-Restaurant Sales

In-Restaurant Tickets

In-Restaurant Cheque

Drive Thru Sales

Drive Thru Tickets

Drive Thru Cheue

yyyy/dd/mm

yyyy

xx

  • Loyalty Penetration by Service Mode

Date

Fiscal Year

Fiscal Week

Kiosk tickets

MO&P tickets

Delivery tickets

Catering tickets

ODMB tickets

Digital tickets

Systemwide tickets

yyyy/dd/mm

yyyy

xx

  • Top Offers

    • Top 4 offers redeemed in week (nominally)

    • Top 4 offers by redemption rate

    • Bar chart

Fiscal Year

Fiscal Week

Offer

Offers sent

Offers redeemed

Redemption rate

yyyy

xx

%

  • Unique Loyalty Accounts: count of unique registered loyalty accounts

Fiscal Year

Month

Registered Loyalty Accounts

yyyy

xx

  • Spend/Guest: the average amount of money that loyalty guests spend within a defined date range

Date

Fiscal Year

Fiscal Week

Registered Loyalty Sales

Registered Loyalty Guests

Registered Loyalty Spend

yyyy/dd/mm

yyyy

xx

  • Discounting views

    • Points Issued per KDS $ spent

    • Net discounting

Data Engineering will

  • Translate requirements into a plan with engineering activities to meet due date.

  • Complete the data governance requirements for the project (such as availing metadata such as a data dictionary for users)

  • Provide support and ongoing maintenance of the data in Databricks to ensure the data continues to meet the requirements defined herein.

(warning) Risks

  1. Project timeline overrun.

  • No labels