SUTRA
система управления кликовым трафиком


Примеры использования SUTRA:

  1. Превращение неуников в уников. Один из способов достигнуть этого - не направлять неуника дважды в одно и то-же место.
  2. Фильтрация трафика, 8 разных фильтров: уники по IP, уники по кукам, по типу соединения модем/LAN, по странам, по реферам, по отсутствию рефера, фильтр проксей и языков браузера
  3. Продажа трафика. Возможность ограничить траф как по времени так и по количеству (например продавать с 9ти утра до 18 вечера но не более 5000 кликов за день). Фильтры помогут продать трафик определенного типа.
  4. Покупка трафика. Подробная статистика уникальности по IP адресу, слежение за реферами, проксями и странами - все это значительно снижает риск накрутки. Плюс ко всему стандартные функции Sutra - возможность разрулить траф без лишнего перенаправления.
  5. Эффективная работа с топами. 4 вида форсов на любой вкус. (база топов планируется в следующих версиях)

Sutra нельзя назвать "очередным TDS/TMS" скриптом, так как система давно уже выросла из рамок обычных TDS использующихся только для трейда с топами.

Подробное описание:

Методы перенаправлений - описываю их в начале, так как это основа всех дальнейших описаний.
методописание
http://domainстандартный метод перенаправления клиента (Location: domain)
stream:$streamвиртуальный метод перенаправления, хит перенаправляется на поток "$stream" виртуально, то есть без лишнего перенаправления
file.htmlиз каталога "files/" считывается содержимое файла "file.html" и возвращается браузеру клиента (практически это может быть любая html страница) (без лишего перенаправления)
script.cgiлюбой CGI скрипт "script.cgi" находящийся в каталоге "files/" исполняется в пременных окружения скрипта входа in.cgi, контент сгенерированный script.cgi возвращяется браузеру клиента. Скрипту можно передать параметры по умолчанию, в этом случае метод записывается так: "script.cgi?p1=asdasd&p2=blabla"
практически тут может быть скрипт вашего топа или сиджа
gotourl.cgi?default=default_url стандартный скрипт из каталога "files/". Называется "скрипт метаперенаправления". Работает так: при нажатии на ссылку вида "http://домен_на_котором_стоит_sutra/in.cgi?five&url=http://www.yahoo.com/", хит проходит по всем фильтрам потока "five" и, в случае перенаправления методом "gotourl.cgi", перенаправляется на "http://www.yahoo.com/" (параметр "url"), если же параметр "url" не задан, то хит перенаправляется на "default_url" (параметр "default")

Мультипоточность - поддержка нескольких независимых схем распределения
Поток кликов - это множество всех кликов в пределах одной схемы, это все клики по ссылке вида "http://www.sutra.url/in.cgi?stream_name", где stream_name - название потока. Попав на эту ссылку "клик" проходит через фильтры урлов этой схемы, форсы и согласно правилам потока перенаправляется в выбранное место. Изменить настройки каждого потока можно в администратичной панели. Ссылка на скрипт входа потока есть в центре страницы административной панели (in.cgi), просто скопируйте ее и разместите в нужных местах.

Путь "клика" по SUTRA
1 Вход в поток В SUTRA клик попадает по ссылке "/in.cgi?$stream" (в стандартной версии доступны 10 схем(потоков), можно увеличить)
2 Фильтры Из всех ссылок потока $stream отбираются все те ссылки, фильтры которых удовлетворяют этому клику (другими словами - отбираются все ссылки сквозь фильтры которых проходит этот клик).
3 Промежуточный этап:
расстановка рейтингов
Для всех ссылок отобранных на 2м этапе рассчитываются текущие рейтинги с учетом форсов. Текущий рейтинг ссылки = рейтинг ссылки + рейтинг форса. Кроме того на этом шаге расставляются вероятности перенаправления клика на каждую ссылку. Вероятность = рейтинг ссылки / сумму рейтингов всех ссылок.
4 Перенаправление Генерируется случайное число, согласно процентам выбирается ссылка (или метод), и происходит перенаправление

Процентное раcпределение входящего трафика между целями (URL'ы, потоки, файлы)
После того как клик попал на скрипт входа определенного потока, он начинает подчиняться правилам этого потока. Одно из таких правил - процентное распределение. (далее описание в контексте одного потока, без форсов)

Как это правило работает? Поток (схема) содержит множество ссылок, это ссылки на которые вы хотите перенаправлять входящий кликовый трафик. Но как система определяет на какую ссылку послать входящий клик ? Вот здесь начинает работать теория вероятности. Предположим поток содержит 3 ссылки a b c, у всех ссылок одинаковый рейтинг - 10единиц (в сумме 3*10=30). Рейтинг задается в панели редактирования целей (target panel). Чем выше рейтинг цели - тем больше вероятность того что клик будет перенаправлен именно на нее. В нашем случае вероятность одинакова для всех 3х ссылок. То есть в среднем на каждую из ссылок будет перенаправляться каждый 3й клик.

Отступление: Не верьте когда говорят что численные (точные) методы распределения трафика лучше вероятностных ! у численных методов есть свои недостатки. Природа хаотична и ее невозможно описать аналитически. (наши источники сообщают, что по ссылкам кликают эти забавные существа - "люди", которые на данный момент не поддаются аналитическому описанию )

Продолжаем. Часто возникает необходимость посылать больше трафика на некоторые URL'ы чем на другие. Для этого - увеличивайте рейтинг ссылки. Математически вероятность перенаправления по ссылке = (рейтинг ссылки) / (сумму рейтингов всех ссылок) * 100%

Поддержка форсов (целенаправленного увеличения/уменьшения потока кликов на определённые URL'ы, по расписанию)
Форс - это событие при котором резко увеличивается рейтинг ссылки (на величину заданную в свойствах форса этой ссылки). Время событий можно задать в панели редактирования ссылки. Время задается в формате crontab, для тех кто не знаком с ним - есть "CRONTAB WIZARD", он позволяет задать расписание события в человеческом виде и представить это расписание в формате crontab.

Чаще всего форсы используются для работы с топами. При правильном выборе времени наступления форса (чуть раньше времени сброса топа) вы резко увеличите поток кликов на этот топ и, соответственно, поднимитесь выше в топе и как следствие получите большую отдачу. О том как работать с топами есть много хороших материалов, вы можете найти их на многих форумах и в google.

Немного о форсах системы SUTRA - система позволяет задавать неограниченноге количество форсов, а также любые расписания для форсов. Кроме того система поддерживает аж 4 вида форсов:

  1. форс прямоугольный, рейтинг сайта повышается на определенную величину и держится на этом уровне в течение заданного промежутка времени (например в течение 20 минут)
  2. форс прямоугольный, рейтинг сайта повышается на определенную величину и держится на этом уровне до тех пор, пока не израсходуется количество кликов заданное для этого форса (например можно послать на определенный URL 1000 кликов), после израсходования этого количества форс автоматически отключается и рейтинг ссылки возвращается на исходную позицию.
  3. форс "горка", по времени
  4. форс "горка", по количеству кликов
форс "горка" - уникальная функция SUTRA! Этот форс эквивалентен форсам 1) и 2) за исключением того, что рейтинг форса линейно уменшается с уменьшением паметра (начиная с версии 5.0 форма "горки" - прямоугольный треугольник). Параметром может быть либо длительность форса(1), либо количество оставшихся кликов форса(2), либо и то и другое.

В панели управления "hits per force" - это максимальное количество перенаправлений на URL(или метод) во время форса, а "duration" - время действия форса, его можно задать в минутах или записать в виде "T/2" или "T*0.5" или "T*2" где T - автоматически определяемый период форса. Если заканчивается "hits per force" или "duration" - форс отключается.
Еще момент - перенаправления на ссылку зависят от ее рейтинга (piece). Действующий рейтинг ссылки = рейтинг по умолчанию (piece) + рейтинг форса (force piece). То есть Форс просто увеличивает рейтинг ссылки на заданную величину.

Пример:
"ссылка A - рейтинг ссылки 10; форс "горка" - рейтинг форса 100, время активации 14-00, тип горки - по времени, длительность форса - 30 минут."
В 14-00 этот форс активируется и увеличит рейтинг ссылки A на 100единиц, через минуту 100единиц уменьшатся до 96,6ед. через 15 минут - 50ед., через 20 минут - 33ед., через 30 минут форс отключится, на этот момент его величина будет составлять 0единиц.
Текущий рейтинг ссылки = сумма рейтинга ссылки по умолчанию (10) + текущий рейтинг форса (100 96 50 33 0)
Рейтинг форса "горка" плавно уменьшается до нуля, затем форс отключается.

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

Функция запоминания посетителя обеспечивает уникальность для каждого URL'а
Многих мучает вопрос - "Как превратить неуников в уников ?"

Один из способов - это не направлять неуника дважды в одно и то-же место. Тогда этот неуник будет считаться уником по отношению к месту в которое его направили. Система SUTRA с блеском справляется с этой задачей.

Важный момент который многие пропускают - в sutra есть 3 уровня разделения уников:

  1. Уники для всей системы, для всех потоков; если человек однажды посетил Sutra, то он уже не уник; именно эти уники отображаются в "total stats" - глобальной статистике
  2. Уники для отдельно взятого потока; если человек однажды посетил поток, то он уже не уник для этого потока; именно эти уники отображаются в статистике потока
  3. Уники для отдельно взятого урла; если человек однажды посетил урл - он уже не уник для этого урла
имеется ввиду "однажды в течение заданного промежутка времени", по умолчанию за 24 часа.

Уников можно разделять двумя разными фильтрами - по IP или по кукам (плюс в том, что первым способом нужно направлять уников тем, кто считает уники по IP, а вторым способом на тех, кто считает по кукам. При продаже/разливе трафа невозможно переоценить эту функцию ( у кукщиков удается выиграть ~20% уников ) ).

Возможность задать длительность уникальности сессии посетителя (продолжительность уника) для каждого потока
На данный момент SUTRA единственная система управления трафиком поддерживающая эту функцию. Функция очень полезна в управлении "неуникальным" трафиком.

Фильтры по входящим кликам для каждого URL'а (или метода)
Фильтры используются для отсеивания/отбора трафика определенного типа. Разделение трафика по странам, отбор Германии и отсеивание Востока, отсеивание прокси серверов, определенных реферов, безреферщиков, отбор уников и их комбинации. (На данный момент в области фильтрации трафика SUTRA нет имеет аналогов, такого широкого спектра фильтров нет ни у кого, найдете - сообщите мне :) )
Особенность SUTRA - можно задать фильтр по языку браузера + фильтр по стране, првила их взаимодействия "лигическое И".

Подробная статистика
подробная статистика по трафику для каждой схемы (равы/уники(по IP адресу)/реферы/страны/прокси) по часам и по дням, плюс ко всему общая (total) статистика по всем схемам, возможность показать личную статистику посторонним.

Несколько видов перенаправлений

(полный список смотрите выше)

Время SUTRA
Внутреннее время SUTRA можно задать в панели Global Options. В этой панели shift - это количество секунд разницы между временем сервера и внутренним временем SUTRA. Можно задать как shift (высчитав вручную) так и заполнив нужные поля которые находятся под shift. При заполнении полей можно вводить только те из них которые требуют изменения, например для изменения времени с "Sun May 30 15:20:39 2004" в "Sun May 30 15:21:39 2004" нужно в поле minute ввести 21 и нажать save.

Описания схем (потоков)
Описания схем задаются в панели Global Options.

Import / Export данных потока
Эти кнопки находятся на главной панели, они позволяют сохранять все данные потока. Особого внимания требуют опции панели импорта.

Backup
Для бекапа достаточно простого копирования каталогов данных: /stats и /data,
автоматизируется через крон, например можно каждые сутки запускать команду архивирования:
tar -jcvvf backup.tar.bz2 stats/ data/


Панели управления:
(смотрите DEMO если у вас еще нет своей версии SUTRA)


Примеры

  1. Превращение неуников в уников. Один из способов достигнуть этого - не направлять неуника дважды в одно и то-же место! Тогда этот неуник будет считаться уником по отношению к месту в которое его направили.

    Пример 1

    Предположим вы хотите направить входящий трафик на 3 ссылки - a b c, но так, что бы на каждую ссылку уходили только уникальные посетители. Для этого добавьте в поток три ссылки - a b c, расставьте рейтинги (например a=10, b=10, c=10), и для каждой ссылки настройте фильтр - notuniq = deny, то есть запретите направлять неуников на ссылку, а также выберите вид уникальности - по IP или по кукам.

    Как это работает:
    1) уникальные клики распределяются независимо от настройки notuniq фильтра, то есть они будут распределяться согласно рейтингам;
    2) неуникальные клики будут уходить только на те ссылки, на которые их еще не направляли (в течении 24 часов или в течении значения uniquness задаваемого в панели управления);
    3) если неуникальный клик побывал на всех ссылках потока, то он направляется на потоки у которых notunique=allow, или, в случае если ссылок с таким фильтром нет, на сслыку по умолчанию (например www.default.com)


    Пример 2. Фильтр свежести

    Задача специфическая, поможет разобраться в принципах работы SUTRA.
    Предположим вы хотите разделить неуников на классы:
    1) уники
    2) неуники пришедшие 1 раз (то есть уже побывавшие в потоке sutra и вернувшиеся в течение 24 часов(или значения заданного в панели))
    3) неуники пришедшие 2 раза
    4) неуники пришедшие 3 и более раз
    Для этого добавьте в поток четыре ссылки - a, b, c, d, расставьте рейтинги a=59319, b=1521, c=39, d=1 соответственно, и для каждой ссылки настройте фильтр - notuniq = deny, то есть запретите направлять неуников на ссылку.

    Как это работает:
    В соответствии с рейтингами вероятности перенаправления уника будут такими:
    a = 59319 => 59319/(59319+1521+39+1) ~= 97.4%
    b = 1521 => 1521/(59319+1521+39+1) ~= 2.5 %
    c = 39 => 39/(59319+1521+39+1) ~= 0.00064 %
    d = 1 => 1/(59319+1521+39+1) ~= 0.000016 %
    Предположим на вход потока пришел уник, он удовлетворяет правилам фильтров всех ссылок и с 97.4% вероятностью перенаправится на ссылку 'a'.
    Предположим в течение времени уникальности он вернулся на вход потока. Теперь он неуникален для ссылки 'a' (неудовлетворяет ее фильтру), поэтому ссылка 'a' не учитывается при подсчете рейтинга. В этом случае рейтинги в будут иметь значения:
    a = 0%
    b = 1521 => 1521/(1521+39+1) ~= 97.4 %
    c = 39 => 39/(1521+39+1) ~= 2.5 %
    d = 1 => 1/(1521+39+1) ~= 0.00064 %
    Теперь с 97.4% вероятностью он перенаправится на ссылку 'b'.
    Предположим что он вернулся второй раз, теперь он неуник для ссылкок 'a' и 'b' (не удовлетворяет их фильтрам) и соответственно учитывабтся рейтинги только ссылок 'c' и 'd':
    a = 0%
    b = 0%
    c = 39 => 39/(39+1) ~= 97.4 %
    d = 1 => 1/(39+1) ~= 2.6 %
    Теперь с 97.4% вероятностью он перенаправится на ссылку 'с'.
    В следующий раз он будет удовлетворять только фильтру ссылки d и перенаправится на нее.

    Используя такие настройки потока вы можете следить за "свежестью" вашего трафика и определять уровень "свежести" по значениям счетчиков ссылок a,b,c,d.


    Пример 3.

    Разделение посетителей:
    По приходу в первый раз послать на url1, второй раз на url2, третий рай на url3.
    Решение: эта задача полностью аналогична фильтру свежести.

    Пример 4. Продажа трафика

    Есть 5 клиентов. Нужно разделить трафик между ними используя разнообразные фильтры, в том числе и по количеству. Для этого в одном из потоков, например default, нужно создать 5ть "методов" перенаправлений на потоки six,seven,eight,nine,ten (это записи вида stream:six stream:seven .. stream:ten, "переносящие" хит без лишнего перенаправления, то есть виртуально). Считая что за кажым из этих потоков закреплен клиент:
    six - первый клиент
    seven - второй
    eight - третий
    nine - четвертый
    ten - пятый клиент.
    Таким образом с потока default трафик распределяется между потоками six,seven,eight,nine,ten. Теперь нужно задать рейтинги и необходимые фильтры для каждой цели перенаправления в потоке defualt, по сути это фильтры для каждого клиента. Ограничение по количеству достигается при помощи форса по количеству (читайте выше).
    Теперь достаточно зайти в административную панель каждого из потоков six,seven,eight,nine,ten потоков и настроить URL перенаправления, то есть место куда хочет получать трафик соответствующий покупатель. Внимание: все фильтры урлов покупателей должны быть отключены (зеленого цвета).
    Для того чтоб показать покупателю его статистику, просто дайте ему ссылку на статическую статистику его потока.

    Можно все упростить - направлять трафик покупателю прямо из первого потока, но в данном случае не будет вестись расширенная статистика перенаправлений


PS: везде где используется понятие "рейтинг ссылки" имеется ввиду "доля ссылки" - в административной панели - "piece". PS2: "поток" и "схема" это одно и то же.