Вес объявления, дающий рекламодателям хороший кусок пирога

Для проекта, в котором я сейчас участвую, у нас есть определенное количество групп «рекламодателей», которые могут добавлять «Предложения» на наш сайт, которые отображаются вокруг других продуктов и иногда связаны со страницей, которую просматривает покупатель / покупатель.

Текущая рекламная система абсолютно случайна и не дает никаких предпочтений, кроме как при попытке нацеливания на конкретный продукт. Так что если supplier1 имеет 9 объявлений, и supplier2 имеет 1 объявление тогда supplier1 получает гораздо лучшее соотношение цены и качества, так как их показывают 9 из 10 раз.

Как мы хотим изменить эту систему так, чтобы supplier1 а также supplier2 технически должны получить одинаковую экспозицию друг с другом независимо от количества рекламы, которую они имеют в системе.

Как бы вы посоветовали мне подойти к этому? Я посмотрел на системы веса объявлений на StackOverflow; однако, они, кажется, не относятся к группам.

0

Решение

SELECT *
FROM advertisments a
INNER JOIN
(
SELECT * FROM suppliers ORDER BY RAND() LIMIT 1
) s ON a.suplplier_id = s.suplplier_id
ORDER BY RAND()

Этот запрос сначала выбирает одного поставщика случайным образом (например, каждый поставщик имеет одинаковые шансы) (о, но если есть поставщики без какой-либо рекламы, вы должны отфильтровать их), тогда он получает только рекламу этого пользователя (именно так этот INNER JOIN работает) и заказывает их случайным образом

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector