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 the dashboard views (of which there are four in total), and should inform the development of the underlying data models to power the use case.
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.
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 the user’s selected reporting range, 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 to our 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 system 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
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 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 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, 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.
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 less than 30 days, within the dashboard user’s selected time period
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, 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.
2) Unregistered loyalty guests: guests who participate in the Tim Horton’s loyalty program who have not registered an account through the app.
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 classes of guests. Frequency values will be represented by two different coloured bars corresponding to registered loyalty guests and unregistered loyalty guests. Two separate y-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, 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.
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: Service Mode 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 Service Mode Over Time
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.
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:
Unique Purchasing Guests:
Unique Guests who Activated Offers:
Unique Offer-Using Guests:
Purchasing Guest Offer Penetration:
Time Series 1 of 3: Top 10 Offers (by Sends/Activation Rate/Redemption Rate)
Time Series 2 of 3: Points Issued per Known Diner $ Over Time
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.
Risks
Project timeline overrun.