Skip to content

Market Spend & Timing Analysis

OBJECTIVE:

  • To understand the impact that marketing spend has in respective tracks' TOP MARKET vs. SECONDARY MARKETS

METHODS:

  • Analyzed pre-race window for all completed Cup races in '23, pulling data for the top 3 markets for each track
  • Created an additional segment for the Top Market (#1 selling market)
  • Analyzed PowerBI sales data overlaid with marketing spend by weeks out from race day

METRICS:

  • Total Revenue
  • Revenue/Marketing Spend (ROI)
  • Number of Accounts Generated
  • CPA (cost-per-account generated)

DATA SELECTIONS:

  • PowerBI: Ticket Sales (Weekly) Report
  • Digital Marketing Spend (Weekly, inclusive of all management cost)

FINDINGS

  • Marketing spend tends to weight heavily toward our top-selling market for each campaign due to our conversion optimization
  • Within our secondary markets (sales markets ranked 2 & 3 for each track), there may be an opportunity to optimize our spend to drive additional sales, specifically within the 10 week out - 6 week out window

import pandas as pd
cota_2023_austin_spend = pd.read_csv('./cota_2023_austin_spend.csv')
import pandas as pd
cota_2023_austin = pd.read_csv('cota_2023_austin.csv')
import pandas as pd
cota_2023_dfw_spend = pd.read_csv('cota_2023_dfw_spend.csv')
import pandas as pd
cota_2023_dfw = pd.read_csv('cota_2023_dfw.csv')
import pandas as pd
cota_2023_sanantonio_spend = pd.read_csv('cota_2023_sanantonio_spend.csv')
import pandas as pd
cota_2023_sanantonio = pd.read_csv('cota_2023_sanantonio.csv')
cota_2023_austin_merged = pd.merge(cota_2023_austin, cota_2023_austin_spend, on="Days Out")
cota_2023_sanantonio_merged = pd.merge(cota_2023_sanantonio, cota_2023_sanantonio_spend, on="Days Out")
cota_2023_dfw_merged = pd.merge(cota_2023_dfw, cota_2023_dfw_spend, on="Days Out")
# Adding columns for CPA and ROI

cota_2023_austin_merged['Cost/Account'] = cota_2023_austin_merged['Spend'] / cota_2023_austin_merged['# of Accounts']
cota_2023_austin_merged['Revenue/Spend'] = cota_2023_austin_merged['Revenue'] / cota_2023_austin_merged['Spend']

cota_2023_sanantonio_merged['Cost/Account'] = cota_2023_sanantonio_merged['Spend'] / cota_2023_sanantonio_merged['# of Accounts']
cota_2023_sanantonio_merged['Revenue/Spend'] = cota_2023_sanantonio_merged['Revenue'] / cota_2023_sanantonio_merged['Spend']

cota_2023_dfw_merged['Cost/Account'] = cota_2023_dfw_merged['Spend'] / cota_2023_dfw_merged['# of Accounts']
cota_2023_dfw_merged['Revenue/Spend'] = cota_2023_dfw_merged['Revenue'] / cota_2023_dfw_merged['Spend']
# Calculate Revenue and spend by weeks out

# Austin
cota_2023_austin_merged2 = cota_2023_austin_merged.groupby('Weeks Out')[['Spend', 'Revenue']].sum()
# Calculate the column for Revenue/Spend
cota_2023_austin_merged2['Revenue/Spend'] = cota_2023_austin_merged2['Revenue'] / cota_2023_austin_merged2['Spend']

# San Antonio
cota_2023_sanantonio_merged2 = cota_2023_sanantonio_merged.groupby('Weeks Out')[['Spend', 'Revenue']].sum()
# Calculate the column for Revenue/Spend
cota_2023_sanantonio_merged2['Revenue/Spend'] = cota_2023_sanantonio_merged2['Revenue'] / cota_2023_sanantonio_merged2['Spend']

# DFW
cota_2023_dfw_merged2 = cota_2023_dfw_merged.groupby('Weeks Out')[['Spend', 'Revenue']].sum()
# Calculate the column for Revenue/Spend
cota_2023_dfw_merged2['Revenue/Spend'] = cota_2023_dfw_merged2['Revenue'] / cota_2023_dfw_merged2['Spend']
# Calculate correlation between Spend and # of Accounts

import pandas as pd

# Austin
cota_2023_austin_corr = cota_2023_austin_merged[['Spend', '# of Accounts']].corr().iloc[0, 1]

# San Antonio
cota_2023_sanantonio_corr = cota_2023_sanantonio_merged[['Spend', '# of Accounts']].corr().iloc[0, 1]

# DFW
cota_2023_dfw_corr = cota_2023_dfw_merged[['Spend', '# of Accounts']].corr().iloc[0, 1]

# Display the correlations
cota_2023_austin_corr, cota_2023_sanantonio_corr, cota_2023_dfw_corr