About XrenCJ
Системные требования - UNIX, возможность запуска cgi-скриптов, установленный PHP4, возможность запуска программ с помошью crontab.
В некоторых случаях также может понадобиться shell-доступ для компиляции скрипта на машине пользователя.
XrenCJ создавался очень ленивым человеком, которого напрягает все время заглядывать в статсы, менять настройки у трейдеров, поощрять хороших трейдеров, добавлять новых трейдеров, удалять неэффективных трейдеров, блэклистить читеров и прочих тряхомудий.
Возникло такое ощущение, что все это совершенно спокойно может сделать железяка и без человеческого вмешательства. Главная проблема состояла в том, чтобы найти правильный алгоритм трейда, который бы адекватно реагировал на состояние дел и выполнял, в конечном итоге, главную свою задачу - в каждый момент времени предлагал список трейдеров в том порядке, в котором им должен отправляться траф.
Вроде получилось.
Остальные особенности XrenCJ, хотя и являются второстепенными, но для такого лентяя, как автор скрипта, очень даже приятны.
Или такие фишки, как блокирование читинга, определение качества трафа, ну и еще что-то, так сразу не вспомнить. Будете читать мануал - все там найдете.
Еще один важный момент - организация и хранение данных.
В последнее время появилась такая "добрая" традиция - использование MySQL везде, где нужно хранить данные в форме таблицы. Нет, хорошая штука, кто бы спорил. Писать запросы быстро и удобно, всякие примочки встроенные...
Только вот ситуация - лег Мускль. И что будем делать? Мускль лежит, трейд умирает. А после поднятия - далеко не факт, что база не пострадала. Заново забиваем трейдеров, льем свежий траф... в общем, наверное, есть более интересные занятия, чем поднимать улегшийся сиджей.
Короче, Мускль использовать не стал. Все данные организованы в виде файлов, так что база может полететь, только если полетит винт, что конечно возможно... Но у меня за последние 10 лет винт летал один раз, а Мускль только за год ложился... я устал считать...
Теперь хочу вернуться к главному - алгоритму трейда. Естественно, все тонкости описывать ни здесь, ни в мануале не буду, но принципы, на которых он построен, изложу.
Основное, что отличает алгоритм - отказ от существующих на данный момент методов оценки трейда.
Все без исключения скрипты, попавшие в поле моего зрения, используют "продуктивность" (то есть соотношение "клики от трейдера"/"юники от трейдера") как основной показатель качества трейда. В качестве дополнительного или альтернативного показателя также используется "рацио" (то есть соотношение "юники от трейдера"/"ауты на трейдера").
Однако с моей точки зрения такой подход не совсем корректен.
Продуктивность - это показатель качества трафа и "кликабельности" сиджея. Рацио - показатель возврата трафа трейдером, не учитывающий его качества.
Но нам-то нужно оценить качество ТРЕЙДА в первую очередь, а не качество трафа.
Поэтому был найден новый показатель "эффективность обмена" (EFF): соотношение "клики от трейдера"/"ауты на трейдера". Другими словами, сколько кликов (не юников!) вернул трейдер в обмен на один отправленный к нему аут. Чем этот показатель выше, тем эффективнее обмен. Очевидно, что величина "эффективности" каждого трейдера зависит не только от качества отправляемого трейдером трафа, но и от настроек его скрипта.
Таким образом, трейд построенный на "эффективности", выявляет тех тредеров, которые шлют наиболее продуктивный с точки зрения кликов траф и настроили свой скрипт наиболее лояльно по отношению к своим трейдерам (то есть, к вам).
Далее, необходимо оценить качество трафа с точки зрения его "полезности" - то есть, способности принести деньги, что нас интересует, разумеется, в первую очередь.
Для этого в XrenCJ каждый юник исследуется на предмет:
- не через прокси ли пришел
- включены ли cookies
- включен ли javascript
- язык браузера (иначе говоря - из какой страны пришел юник)
- еще кое-что :-)
По совокупности такой экспертизы вычисляется еще один показатель - "коэффициент качества трафа".
"Коэффициент качества" может принимать значения от 0 до 2.
0 - траф плохой, 1 - траф обычный, 2 - траф отличный (то есть, не через прокси, с куками, с жабой, из хорошей страны).
Напоследок берем еще один критерий - самый главный признак успеха сиджея, а именно количество входящего трафа (IN) и в результате получаем окончательный показатель (FIN), который характеризует сиджей в целом и каждого трейдера в отдельности.
Более детально о формулах расчета показателей можно прочитать в Руководстве пользователя
Использование показателя FIN позволяет автоматически блокировать трейдеров-читеров (вольных или невольных), точнее не блокировать даже, а отправлять в "подвал" рейтинга трейда, где они будут находиться до момента улучшения своего трафа.
Теперь для того, чтобы накрутить сиджей, читеру необходимо использовать ОЧЕНЬ продвинутый бот, практически эмулятор браузера, умеющий распознавать javascript, анализировать куки, использовать для работы ПОЛНОСТЬЮ АНОНИМНЫЕ прокси, которых на самом деле не так уж много. В общем, накручивать XrenCJ становится дорогим удовольствием.
Кроме заложенной в алгоритм FIN естественной защиты от накрутки, XrenCJ использует дополнительный метод защиты, на этот раз защиты своих трейдеров от "сковозного читинга". Клик, который скриптом определяется как читерский, не направляется очередному трейдеру, а идет в exout'ы. По понятным причинам автор хотел бы сохранить в тайне методику определения "читерского клика", ограничившись лишь ответственным заявлением, что методика эта с 90% вероятностью отсекает от трейдеров "левый" траф (включая "прокликивания" сиджея спайдерами поисковиков).
Таким образом автор настоятельно рекомендует использовать показатель FIN в качестве базового для алгоритма трейда... но не хотите - как хотите, можете использовать любой из других 5 алгоритмов:
- IN
- CLICK
- RATIO
- PROD
- EFF (трейд по "эффективности", об этом показателе говорилось выше)
Новая концепция привела к тому, что понятие "форсы" для оптимального трейда утратило смысл. То есть, они могут использоваться в начале трейда, для отправки какого-то количества инициирующего трафа, но после завершения периода тестирования начинают только мешать - "форсы" это по сути нарушение оптимального порядка отправки трафа, а ведь мы заинтересованы именно в оптимальном трейде.
Тем не менее, в скрипте присутствуют достаточно мощные возможности для управления форсами, именно на случай, когда по той или иной причине необходимо "хирургическое вмешательство" в трейд.
В число таких возможностей входит и созданная автором система "мягких форсов", которая может оказаться весьма полезной, особенно в период начальной раскрутки сиджея.
Ее суть заключается в том, что какая-то (определенная Вами в процентах) часть трафа равномерно распределяется между ВСЕМИ трейдерами, которых Вы включили в эту систему, невзирая на их позицию в рейтинге.
Таким образом, существует гарантия, что перспективные трейдеры, либо трейдеры с небольшим трафом, которые в других скриптах не могли бы конкурировать с более крупными трейдерами, в любом случае получат от Вас свою долю качественного трафа.
Еще одна важная особенность - возможность строго задавать схему показа трейдеров и реального контента. Обычно в скриптах указывается что-то вроде "out.cgi?url=http://www.gallery.com/&p=65" и это означает, что на галеру будет отправлено 65% кликов, на трейдера же 35% соответственно.
В XrenСJ это реализовано по-другому - в настройках указывается схема показов, например
url
trader
url
trader
trader
url
trader
trader
trader
Показ будет осуществляться всегда именно в такой последовательности, а при прохождении юником всей схемы показов скрипт возвращается к первому элементу схемы и начинает показывать заново.
Для CJ с реальным контентом это весьма полезная фишка, поскольку жестко контролируя схему показов можно заметно повысить кликабельность сиджея.
Работа с нишами. Существует возможность определить нишу для каждого трейдера, а также пометить нишевым признаком каждый линк.
При входе на сиджей пришедший от нишевого трейдера посетитель будет отправлен на специальную страницу для этой ниши (если такая страница Вами создана).
При клике по нишевому линку посетитель в первую очередь будет отправляться на трейдеров соответствующей ниши.
Если трейдеры закончились, посетитель будет отправлен на нишевый exout.
Предусмотрена также возможность ротации входных страниц для повторных посещений, редиректа посетителей с определенными языками браузера и пришедших с определенных URL.
Можно вести учет посещений с определенных URL (например, с SE) без отправки ответного трафа - это может оказаться полезным для получения полной информации о структуре своего трафа.
Понятия "ресет" не существует, информация хранится "плавно", за последние 24 часа. Период, в течение которого IP считается юником - те же 24 часа (считаются с момента последнего действия, совершенного посетителем на сиджее - вход или клик).
Юники учитываются как по IP, так и по cookie, что позволяет надежно идентифицировать посетителя - даже тех у кого не включены или не сработали cookie ИЛИ кто имеет динамический IP (например, серферы, входящие в сеть через AOL).
Трейдер, от которого пришел посетитель, определяется по реферу либо по ID в URL, что предоставляет трейдерам более гибкие возможности для отправки трафа на Ваш сиджей.
Скриптом ежеминутно создается топлист по Вашему шаблону практически любого самого сложного вида.
Статистика распределения трафа по группам линков, хранение истории по каждому трейдеру, индивидуальные настройки параматров трейда, удаление, бан - вроде все стандартные операции управления реализованы.
Хочется сказать, что автор своим скриптом доволен весьма, считает его лучшим в мире, пользует его в хвост и в гриву c февраля 2002 г (сперва скрипт был написан на PHP, с тех пор постоянно совершенствовался) и вам того желает.
По мере поступления идей дописываются фишки, фишечки и прочие примочки.
Xrenoder