Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does CPA(target effeciency) works in Optimization function compared to Revenue(conversion) #1176

Open
Gangesh-C opened this issue Dec 6, 2024 · 1 comment
Assignees

Comments

@Gangesh-C
Copy link

Project Robyn

Hi Team,
I was going through the budget allocator function code(shared in git).

I was able to understand the implementation of Revenue and how it is being passed to nloptr function to optimise the budget across all paid channels. Basically, we are using 'initResponseMargUnit' as initial point on saturation curve and using that to optimise based on the bound provided.

However, I am not able to make sense how this process is being done for CPA metrics (target efficiency). I believe we are taking inverse of ROAS and then using that fraction as starting point on saturation curve, but not able to figure out where exactly that process is being carried out.

Can you guys pls confirm the above understanding and help in walking through, how the optimization function is working for CPA scenario?

Thank you in advance!

@gufengzhou gufengzhou self-assigned this Dec 20, 2024
@gufengzhou
Copy link
Contributor

gufengzhou commented Dec 20, 2024

Please check the implementation of the constraint eval_g_eq_effi for the objective function here . Or in short, the main objective function eval_f is always the same and maximises response (or minimises the negative response to be very precise), the difference is in the constraints across both max_response / target_efficiency / ROAS/ CPA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants