Пользователь посещает мой веб-сайт в момент времени t , и он может или не может щелкнуть по конкретной ссылке, которая мне небезразлична, если он запишет тот факт, что он нажал ссылку, а также продолжительность так как t что они щелкнули по нему, назовите это d .
Мне нужен алгоритм, который позволил бы мне создать такой класс:
class ClickProbabilityEstimate {
public void reportImpression(long id);
public void reportClick(long id);
public double estimateClickProbability(long id);
}
Каждому показу присваивается уникальный идентификатор , который используется при сообщении о клике, чтобы указать, какому показу принадлежит этот клик.
Мне нужен алгоритм, который будет возвращать вероятность, основанную на том, сколько времени прошло с момента создания впечатления, что показ получит клик, исходя из того, сколько времени потребовались предыдущие клики. Очевидно, можно ожидать, что эта вероятность уменьшится с течением времени, если по-прежнему нет щелчка.
При необходимости мы можем установить верхнюю границу, за пределами которой мы считаем вероятность клика равной 0 (например, если с момента показа прошло час, мы можем быть почти уверены, что клика не будет) .
Алгоритм должен быть эффективным с точки зрения пространства и времени и, как мы надеемся, делать как можно меньше предположений, при этом быть элегантным. Простота реализации также была бы хорошей. Есть идеи?