Антиспам – отстой

Любой антиспам – отстой с точки зрения конечного пользователя, если конечный пользователь пользуется своим почтовым адресом достаточно активно и долго.

Антиспамами принято меряться, давать им разные крутые награды и хвалить на форумах. Я хочу рассказать о том, как ими меряться правильно и что следует из измерений.

Сначала надо определиться, что есть спам. Вопрос не так прост, как кажется. Вот так определяет спам Лаборатория Касперского: “Массовая не запрошенная анонимная рассылка”. Массовая – потому, что единичный blackmail не есть результат работы спамера, а есть просто частный конфликт двух-трех людей. Незапрошенная – потому, что запрошенная реклама – не спам, ведь пользователь сам хотел ее у себя видеть и спамфильтр ее резать не должен. Анонимная (технически), потому, что с непрошенными письмами людей, которые себя никак не скрывают вопрос решают административно. Яркий пример таких писем – разные повестки или оповещения. Важность этого определения в том, что например, Яндекс спам определяет иначе, у него это “вся нежелательная почта и все рассылки”. Можно дискутировать на тему правы они или нет, но это однозначно надо учитывать при сравнении результатов их работы. Вообще на сколько мне известно, на сегодняшний момент консорциум по борьбе со спамом определение термина так и не утвердил, но рабочий вариант максимально приближен к определению ЛК.

Второе – в каких условиях сравнивать? Сравнивать надо только на живом потоке почты, а не на старой коллекции спама, потому, что то, что попало в “коллекцию” уже никогда не встретится в реальной жизни и ее фильтрация нам ни о чем реальном не скажет. Все тестируемые антиспамы должны быть поставлены в равные условия, то есть не последовательно, а параллельно. И тестировать надо неделю или две на хорошем потоке, а не на десятке сообщений и не один день.

Третье – что сравнивать кроме скорости. Сравнивать надо 2 величины – уровень детектирования (Detection Rate) и уровень ложных срабатываний (False Positive Rate). Первое число – это число верно распознанных как спам писем поделенное на общее число спама. Это число НИКАК нельзя посчитать при помощи робота потому, что робот не видит собственных ошибок. Уровень ложных срабатываний – это число распознанных как спам нормальных писем поделенное на общее число нормальных писем. Если первый параметр указывают, то второй либо замалчивают либо пишут откровенные небылицы. Нужно помнить, что FPR резко растет с увеличением агрессивности фильтра и, например, при замене антиспама на тупой скрипт “помечать как спам вообще все” и DR и FPR будут равны 100%: 100% спама мы распознаем уверенно, но и все чистые письма тоже зарубим.. Пример реальных цифр – Spam SLA Message Labs гарантирует деньгами 95%DR, 0.0004%FPR.

А теперь, почему антиспам – отстой. Потому, что хороший антиспам при низком FPR (одно на 10000) имеет в реальности DR около 93-96%. То есть например я при хорошем эгрегоре и чистой карме получу 40-70 спамовых писем в день (что собственно и происходит). По опыту, спам начинает бесить пользователя где-то на 14-16 письмах в день, так что меня ярость должна разорвать на куски :-).

В следующий раз расскажу о методах повышения уровня до 99% в личном ящике.