[PyMC-Marketing] Question on total_budget parameter for budget allocation model

My question pertains to this example:

https://www.pymc-marketing.io/en/stable/notebooks/mmm/mmm_budget_allocation_example.html

Specifically, consider the following config:

total_budget = 5 #Imagine is 5K or 5M
#Define your channels
channels = ['x1','x2']
#The initial split per channel
budget_per_channel = total_budget / len(channels)
#Initial budget per channel as dictionary.
initial_budget_dict = {channel: budget_per_channel for channel in channels}
#bounds for each channel
min_budget, max_budget = 1,5
budget_bounds = {channel: [min_budget, max_budget] for channel in channels}

Is the total_budget parameter a daily value (spend per day) or an aggregate value (spend per time period)?

The mmm model used in this example was trained with 179 date_week values. This is clear from MMM Example Notebook — pymc-marketing 0.7.0 documentation.

x1 and x2 had different aggregate spends during this time frame. In fact x1 had almost double the spend as x2.

hi there! the total_budget should be the aggregate dollar value based on the days/week you are estimating the spend to be spread onto… This is stated on “num_days” and “time_granularity”… if you have num_days = 4 and time_granularity=‘weekly’, that means the total_budget you put should be for the span of 4 weeks… hope that helps!

2 Likes

Hey @JenniferSiwu, and @Pat_Clark

Indeed thats a typo. We already address the issue in the following PR. Now the parameter will be num_periods and will be representing the number future time units at the granularity of time_granularity.

2 Likes