суббота, 16 июля 2011 г.

Ищем смекалистых людей

Задачу ставим не для программистов, а для смекалистых людей, у которых по математике и физике оценки выше тройки были. Можете это воспринять как тест на IQ с возможностью заработать 2000 WMR и получить перспективы постоянного сотрудничества с нами.

Тому, кто предложит лучший вариант решения задачки, будет предложено разработать ТЗ для программистов, за что, собственно и будет заплачена указанная сумма.

Условие задачи:
Предложите простой алгоритм организации аукциона стоимости клика по объявлению в блоке контекстной рекламы.
Под аукционом понимается борьба рекламодателей за размещение их объявлений в гарантированных показах (1-3 позиции в нашем рекламном блоке из пяти).

Аукцион должен быть для каждой категории сайтов свой. Т.е., если в сервисе зарегистрировано 20 категорий, то и аукционов должно быть 20.

За исходные данные взять мин.стоимость клика - 10 коп
Категорий - 20 (учесть, что категории могут добавляться).

Итого:
Присылайте свой вариант решения задачки на e-mail antop001{dog}yandex.ru до 24.07.11 включительно.

2 комментария:

  1. ппц а можно поподробнее, ничего не понял

    ОтветитьУдалить
  2. Тут, видимо, требуются экстрасенсы, а не смекалистые люди ;)

    Я вижу реализацию так:

    Сделать настройку внутри админ панели с минимальной стоимостью клика = 10 коп.
    Думаю, что Вы разоритесь с такой стоимостью, но тут не мне решать.

    Это значение можно подставлять по умолчанию в форме заказа в поле "Стоимость клика"

    А каждый пользователь назначает цену клика не менее порогового значения из админки. (В примере это десять копеек) При этом указывает те категории, в которых он хочет рекламироваться.

    Тут мне проще на примере.

    Стоимость клика выбрана 20 коп. и выбрано две категории "Экономика и бизнес" и "Заработок в Интернете".

    У Вас в системе реализованы пакеты, за которыми зарегистрированы клики и их цена. Вы количество кликов оставьте, а цена пакета будет динамической: количество кликов * цену клика.

    Уверен, что не проблема это число Например, 200*0,2 = 40 руб. передавать в отдельном поле в форму оплаты заказа.

    Для удобства перед кнопкой оплатить выводить большим жирным шрифтом цену заказа.

    В момент нажатия на кнопку заказать в зависимости от системы оплаты летит стоимость рассчитанная, а не фиксированная как у Вас сейчас.

    В момент записи данных объявления нужно, согласно примеру, в отдельную таблицу "стоимости кликов" сохранить 2 записи типа:

    № Объяв. | Цена клика | Категория
    9999 | 0,2 | Экономика и бизнес
    9999 | 0,2 | Заработок в Интернете

    Предполагается, что у Вас в другой таблице сохраняются и текст объявления и ссылка и прочие настройки.

    Таким образом, мы набираем таблицу со значениями кликов для категорий. И делаем простой алгоритм.

    В момент вывода объявлений на конкретном сайте с конкретной категорией в существующей ротации просто учитываем результат выдачи в соответствии с коэффициентом приоритета"Kp":

    Kp = CTR Объявления * цену клика объявления

    У кого значение "Kp" больше тот и первый.

    Опять на примере.
    У нас есть сайт с категорией "Заработок в интернете" и есть два объявления:
    Объявление № 1 CTR 0.5 Цена клика 0,20 руб
    Объявление № 2 CTR 0.9 Цена клика 0,15 руб

    получаем для первого Kp = 10,0
    Для второго Kp = 13,5

    Получится, что несмотря на более низкую стоимость, но за счет нормального CTR второе объявление будет показываться выше и чаще. И получится, что за счет того, что его чаще кликают (CTR же выше) оно принесет денег больше, чем средненькое объявление, но с большой ценой клика.

    Впринципе эти коэффициенты можно хранить во "временной таблице", которую можно обновлять раз в час, к примеру, т.к. CTR по идее меняется не так часто.
    А в таблице полей то не много:

    № Объяв. | Kp | Категория
    9998 | 10,000 | Экономика и бизнес
    9999 | 13,500 | Заработок в Интернете

    Так что получается, что количество категорий вообще не важно.
    Просто. Дешево и Сердито.

    Если это похоже на то,что Вы хотели увидеть, то пишите на e-mail:

    clamberman86@mail.ru

    *****************
    Антон

    ОтветитьУдалить