I would like to estimate the total time between events over a period of time, given this situation, and I will provide an example.
I have a list of users, $users$ (say 100). Each day over a period $D$ (of say 20 days), every user sends a request for a special event. Over the period $D$, I have a pool of events to give, $events$ (say 400) and I want to distribute them uniformly over $D$ (so here, there will be $400/20 = 20$ events distributed a day). Each day, a user may only receive up to one event.
Given this information, my goal is to estimate, for the average user, the total period of time between the events (I call it $coverage$) the user received. For instance, if the user received one event on Day 1 and one event on Day 3 and one on Day 6, then their $coverage$ is 6 days (the day on which the event is received is counted).
I think this question is straightforward but I find it tricky to find the exact model for it. The basic model is:
$$Coverage = (\frac{events}{users} - 1) * frequency + 1$$
Where frequency can be interpreted as "on average, one user gets an event every $frequency$ days".
Basically, $coverage$ should be the average number of events per user minus 1, multiplied by how frequently the user receives the event ("once every 5 days"), plus 1 day (because we count the first day an event is received)
When simulating this, if I plug the real $frequency$ from the simulation into the model, I get the correct $coverage$. However, I am having trouble modeling $frequency$. I tried:
$$frequency= \frac{users * D}{events}$$
But this overestimates the real frequency.
Once I get this basic model right, I have additional constraints I want to study:
- Coverage can only be counted between two events up to a certain value $Tau$ (say 7). So, a user that received the event on Day 1 and Day 9 has a coverage of 7, not 9)
- What if I set a rule for each user, where a given user may not receive an event again within X days of its last event? This value would be between 1 (no constraint) and the average frequency
Any help, on the simple model or on the model with constraints, would be greatly appreciated!