facebookexperimental / facebookexperimental/Robyn

Question about mean response in robyn_allocator() when channel with carryover is forced to 0% spend

Open
#1,301 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
1.5k
Forks
433
PR merge metrics
No merged PRs in 30d

Description

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**:

Image

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:

Image


**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:

Image

Thank you very much in advance for your help.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.