Skip to content
SM: Track-Wide Market Spend & Timing Analysis
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