Robyn icon indicating copy to clipboard operation
Robyn copied to clipboard

Budget allocator - Bounded spend is not matching with initial or new given spend in the input

Open CJ2407 opened this issue 7 months ago • 1 comments

Project Robyn

Describe issue

I wanted to run two scenarios - 1) base scenario with NULL spend i.e. 6.3MM initial spend and 2) new budget scenario with initial+$971,510 for a date range date_range = c("2023-08-03", "2023-09-02"). When I ran scenario 2, I am getting bounded spend which is only $100K higher than initial spend and unbounded spend is coming out correctly as desired i.e. initial + $971,510. I don't understand why bounded spend is so random?

Provide reproducible example

4_61_27_reallocated_best_roas

AllocatorCollect <- robyn_allocator( #InputCollect = InputCollect, #OutputCollect = OutputCollect, json_file = json_file, dt_input = input_data, dt_holidays = dt_prophet_holidays, select_model = "4_61_27", date_range = c("2023-08-03", "2023-09-02"), # Default last month as initial period total_budget = 7290763, # When NULL, default is total spend in date_range channel_constr_low = c(1, 1, 1, 1, 1, 1, 0.8, 0.8, 0.8, 0.8,0.8, 0.8, 0.8, 0.8, 0.8,0.8, 0.8, 0.8, 0.8, 0.8,0.8, 0.8, 0.8, 0.8, 0.8,0.8, 0.8, 0.8, 0.8), channel_constr_up = c(1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2,1.2, 1.2, 1.2, 1.2, 1.2,1.2, 1.2, 1.2, 1.2, 1.2,1.2, 1.2, 1.2, 1.2, 1.2,1.2, 1.2, 1.2, 1.2), channel_constr_multiplier = 3, scenario = "max_response", export = TRUE )

Environment & Robyn version

Robyn version 3.10

CJ2407 avatar Jul 15 '24 21:07 CJ2407