Hi, I'm using Robyn v3.11.1 and I’ve encountered an unexpected behavior when running robyn_allocator() for budget allocation over a specific time period.
In the selected allocation period, one of the channels has no spend (spend = 0), but it has a strong carryover effect, so its initial mean response is greater than zero:
In the optimized scenario, I force zero spend for this channel using (channel_constr_low = 0 and channel_constr_up = 0 for this channel). The result is that this channel’s mean response drops to 0%, as shown here:
Why does the mean response drop to 0% in the optimized scenario, even though the channel still has a carryover effect?
I would expect the mean response to remain consistent with the initial scenario, since the carryover from previous periods should still contribute, even if no new investment is made.
Additional observation:
If I allow the spend to vary between 0% and 1% (channel_constr_low = 0, channel_constr_up = 0.01 for this channel), the optimizer still assigns 0% spend, but this time the carryover response is included in the mean response calculation:
Thank you very much in advance for your help.