Skip to content

See for initial Sonoma Budget Increase Analysis


Sonoma Incremental Budget Analysis: Top Markets

OBJECTIVE:

  • To understand the impact that a late injection of substantial funds (ex. JMF) has on sales volume and marketing efficiency in our top 3 selling markets

METHODS:

  • Analyzing post fund-injection period (5 weeks out - 0 weeks out) with the previous period (11 weeks out - 6 weeks out)
  • Comparing TSM 350 data with all 2023 completed Cup Series campaigns that did not deploy JMF/additional late funds

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

  • Late, substantial budget increase deployed 5 Weeks Out had a negative impact on marketing efficiency metrics (return on marketing investment, cost to acquire a new account) in all 3 of our top markets when comparing with the previous 6 week period
  • However, marketing efficiency metrics showed significant improvement in all 3 markets when comparing year-over-year 2022
  • Furthermore, increasing budget in these markets proved to improve Total Revenue at a significantly higher rate within the 5 Week window than all other tracks that did NOT deploy JMF
import pandas as pd
import matplotlib.pyplot as plt

# Read the CSV file into a dataframe
sm_impression_revenue = pd.read_csv('./sm_impression_revenue.csv')
# Track-wide sales and spend data by week

import pandas as pd
sm_spend_revenue = pd.read_csv('sm_spend_revenue.csv')

sm_spend_revenue2 = sm_spend_revenue.groupby('Weeks Out').agg({'Revenue': 'sum', 'Spend': 'sum'})
sm_spend_revenue2['Revenue / Spend'] = sm_spend_revenue2['Revenue'] / sm_spend_revenue2['Spend']

Hidden output
# 2023 Sonoma sales and spend data by week


import pandas as pd
sonoma_spend_revenue = pd.read_csv('./sonoma_spend_revenue.csv')

sonoma_spend_revenue2 = sonoma_spend_revenue.groupby('Weeks Out').agg({'Revenue': 'sum', 'Spend': 'sum'})
sonoma_spend_revenue2['Revenue / Spend'] = sonoma_spend_revenue2['Revenue'] / sonoma_spend_revenue2['Spend']
sonoma_spend_revenue2.dropna(inplace=True)
sonoma_spend_revenue2
Hidden output
import numpy as np

# Calculate the correlation coefficient between "Impressions" and "PowerBI # of Accounts" for the sm_impression_revenue dataframe
correlation = sm_impression_revenue['Impressions'].astype(float).corr(sm_impression_revenue['PowerBI # of Accounts'])

# Create a scatter plot for the sm_impression_revenue dataframe
plt.scatter(sm_impression_revenue['Impressions'], sm_impression_revenue['PowerBI # of Accounts'])
plt.xlabel('Impressions')
plt.ylabel('PowerBI # of Accounts')
plt.title('Relationship between Impressions and PowerBI # of Accounts')

# Add a trendline
z = np.polyfit(sm_impression_revenue['Impressions'], sm_impression_revenue['PowerBI # of Accounts'], 1)
p = np.poly1d(z)
plt.plot(sm_impression_revenue['Impressions'], p(sm_impression_revenue['Impressions']), "r--")

# Show the correlation coefficient as a text annotation
plt.text(0.5, 0.9, f'Correlation: {correlation:.2f}', ha='center', va='center', transform=plt.gca().transAxes)

# Display the plot
plt.show()
Hidden output

1 hidden cell


2 hidden cells
import pandas as pd
sonoma_sanfran_2022_all = pd.read_csv('sonoma_sanfran_2022_all.csv')
sonoma_sanfran_2023_all = pd.read_csv('sonoma_sanfran_2023_all.csv')
sonoma_sanfran_2022_spend = pd.read_csv('sonoma_sanfran_2022_spend.csv')
sonoma_sanfran_2023_spend = pd.read_csv('sonoma_sanfran_2023_spend.csv')
sonoma_la_2022_all = pd.read_csv('sonoma_2022_la_all.csv')
sonoma_la_2023_all = pd.read_csv('sonoma_2023_la_all.csv')
sonoma_la_2022_spend = pd.read_csv('sonoma_la_2022_spend.csv')
sonoma_la_2023_spend = pd.read_csv('sonoma_la_2023_spend.csv')
sonoma_sacstockmod_2022_all = pd.read_csv('sonoma_2022_sacstockmod_all.csv')
sonoma_sacstockmod_2023_all = pd.read_csv('sonoma_2023_sacstockmod_all.csv')
sonoma_sacstockmod_2022_spend = pd.read_csv('sonoma_sacstockmod_2022_spend.csv')
sonoma_sacstockmod_2023_spend = pd.read_csv('sonoma_sacstockmod_2023_spend.csv')