Мне нужно 2 формулы:
1-ая будет преобразовывать коэффициенты конверсии к коэффициентам вероятности.
2-ая будет определять элементы для выдачи при каждом запросе на основе коэффициентов вероятности
Не компетентен в теме расчёта вероятности и вряд ли осилю её, поэтому прошу совета. Кто что может подсказать? Задача решается для сайта с функционалом каталога на стеке PHP + MySQL. Подробности задачи засунул под спойлер.
spoilerПытаюсь повысить на сайте кликабельность элементов в блоке "Похожие товары/записи/элементы". Записываю связи между элементами и количество показов и кликов. Вывожу похожие элементы, отсортировав их по конверсии клики/показы. Дополнительно вывожу несколько позиций для дообучения блока.
В первую очередь для обучения подсовываются позиции, которые показали себя лучше без учета привязки к конкретным блокам, т.е. в целом высококонверсионные. Когда они набирают минимальное количество просмотров, то переходят в категорию обученных. Это означает, что при низкой конверсии они больше никогда не будут показаны.
Данный алгоритм имеет следующие недостатки:
1. Некоторые похожие элементы не успевают набирать минимальное количество просмотров, чтобы участвовать в выдаче. То есть система обучается слишком медленно, потому что связей много и достаточное количество показов всех связей невозможно набрать за адекватное время.
2. Позиции с высокой конверсией "железно закрепляются" в блоке. Если появится новая высоко-конверсионная связь, то обучение её может занять очень много времени.
Уменьшение минимального набора показов для обучения приводит к падению точности.
Я бы хотел изменить логику блока, которая замеряет конверсию новых связей. Элементы в этом блоке должны выводиться на основе математической вероятности появления. Тогда перспективные элементы будут "всплывать", а элементы с низкой конверсией будут исключаться из выдачи. Но все элементы, хоть и редко, но будут показываться в блоке.