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

Spec the single epoch optimization #78

Open
csharrison opened this issue Feb 4, 2025 · 3 comments
Open

Spec the single epoch optimization #78

csharrison opened this issue Feb 4, 2025 · 3 comments

Comments

@csharrison
Copy link
Collaborator

csharrison commented Feb 4, 2025

In Cookie monster, if only a single epoch is considered, we do not need to deduct budget based solely on value, maxValue, and epsilon. We can instead deduct budget based on the actual L_p sensitivity of the histogram (i.e. we can replace value with lpSensitivity.

I don't believe this optimization buys you that much for p=1 and we're in the pure DP setting, but maybe it's worth speccing for completeness. Certainly in the case of last touch attribution, this doesn't buy you anything based on how last-touch is spec'd today.

I'd love to hear use-cases where this is really critical for the Laplace case.

@csharrison
Copy link
Collaborator Author

I thought of an MTA algorithm that benefits from this optimization in the p=1 case: a variant of time decay. Imagine a simplified "last touch" time decay algorithm that selects the most recent impression, but scales its value down via some exponential factor $e^{-\lambda t}$ where $t$ is the time since the action. In this way the attribution algorithm can opt not to spend the full budget.

@martinthomson
Copy link
Member

That seems fine, but it only works if the impressions it touches are within an epoch. I presume that you are thinking that you would be able to do that reliably. How do you deal with the weekly rollover in that case? (We'd probably want a consistent time for that to make it easier to plan these sorts of queries.)

@csharrison
Copy link
Collaborator Author

@martinthomson indeed I was assuming we introduced an "epoch" filter. AFAIK this is fundamental to this optimization in any case. I don't have a solution to weekly rollover other than either 1) accepting loss at the boundary or 2) missing this optimization at the boundary.

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