У Квартета И есть спектакль «Разговоры мужчин среднего возраста о женщинах, кино и алюминиевых вилках», на основе которого снят фильм. У нас сегодня будет нечто схожее – беседа о разговорах с заказчиками, клиентской оптимизации и оценке результата.
У Квартета И есть спектакль «Разговоры мужчин среднего возраста о женщинах, кино и алюминиевых вилках», на основе которого снят фильм. У нас сегодня будет нечто схожее – беседа о разговорах с заказчиками, оптимизации и оценке результата.
Давайте для начала представлюсь: последний год с гаком я работаю начальником отдела разработки в хостинговой компании SpaceWeb. До этого больше 2 лет я был проджектом в компании Тринет, работал в стартапе еЛама.ру (собственно, за начальный запуск отвечал я). При этом код я толком не пишу уже года 3 и вообще превратился в типичного менеджера, которого интересуют только 2 вопроса -- время и деньги. Деньги в данном случае -- это результирующая множества факторов: количества клиентов, уровень притока, оттока, конверсия и прочие интересные показатели.
По моему опыту у любой группы технарей есть множество моментов, которые делать хочется, да и нужно, более того, необходимо. При этом приходится регулярно либо проводить изменения "без объявления войны", либо долго и занудно объяснять начальству/заказчику, далекому от разработки, почему сейчас мы убьем очередные 2 недели на какую-то заумь, смысл в которой очевиден только отделу разработки. В принципе, неспособность объяснить необходимость той или иной штуки так, чтобы это было очевидно не гику -- большая беда для разработчиков. Не так давно я смотрел на презентации стартапов в рамках РИТ++ ( http://ritconf.ru/ ), и лишний раз увидел, что люди просто не способны взглянуть на проблему со стороны и рассказать о ней так, чтобы заинтересовать другого человека.
Итак, давайте рассмотрим простую ситуацию -- мы в отделе решили заняться клиентской оптимизацией. Нам очевидно, зачем это необходимо. Осталось убедить в этом руководство. А теперь представьте -- прихожу я к генеральному директору и говорю: "Александр Юрьевич, мы решили в нашем напряженном графике выделить месяц на переверстку сайта и панелей, переработку процедуры выкладки материалов на боевой сервер и изменить настройки сервера". Вопрос будет только один -- "зачем?!" И вот тут, если я отвечу что-нибудь в духе "Ну, это уменьшит количество http-запросов, ускорит рендеринг на стороне клиента, плюс файлы будут нормально кешироваться", то задачу можно считать похороненой -- генеральному наплевать на количество запросов к серверу и, отмечу, тут он совершенно прав Итак... зачем же мы всё это делаем? Снижение числа запросов? Гм... и что? Ускорение загрузки и рендеринга страниц? Уже ближе, но, если быть кристально честными, нам-то какое дело? Так зачем же?.. Ответ прост и банален -- деньги. Мы рассчитываем, что клиентская оптимизация с одной стороны увеличит уровень конверсии, т.е. количество заказов, а с другой стороны -- снизит отток клиентов. И вот это уже -- довод. Простой вопрос -- а чем подтверждается этот довод? Ну что ж... тут вопрос... Те, данные, которые нам доступны, не слишком новы и кочуют из презентации в презентацию.
Итого -- "большие мальчики" достаточно давно заметили связь между скоростью загрузки страниц и удовлетворенностью клиентов и своими доходами. В итоге, скажем, Google использует скорость загрузки в качестве доп. фактора при ранжировании. Тот же Гугл вместе с Яху достаточно давно ведет пропагандисткую работу и предоставляет инструментарий для оценки скорости работы сайта и оптимизации.
Итого, делаем простое предложение: давайте мы потратим неделю на первичную оптимизацию, посмотрим эффективность. Я уверен, что затраты на эту работу оправдаются. Чтобы расходы "отбились", положим, за 6 месяцев, мы должны увеличить количество заказов хотя бы на 0,3%. Что ж, это я точно смогу обеспечить, тут я уверен. Итак, первый раунд мы выиграли -- можем отодвинуть другие задачи и взяться за дело. Про технические особенности реализации я особо распинаться не буду -- существует множество доступных материалов. Несколько ссылок будут в конце презентации, впрочем, уверен, они не будут ни для кого открытием.
У нас была очевидная цель -- получить быстрый результат, чтобы иметь карт-бланш на дальнейшие изменения. Что ж, мы взяли свободно распространяем минифаер, написанный на php ( http://code.google.com/p/minify/ ), малость обработали его напильником, изменили способ показа баннеров у нас на сайте, внесли еще пару быстрых изменений. По дороге выяснилось, что как минимум в нашем случае minify падает, если ему разом скормить jQuery, jQuery UI и свои скрипты. Что ж, разнесли на 2 блока. По Webo.in интегральная оценка изменилась с 43/100 до 60/100. Оценка сайта по Yslow выросла с 53 до 68, а потом и 70. Google Page Speed показал 81/100. Не идеал, но для начала -- достаточно. Что же теперь?
Что же теперь? Как говорит Саша Орлов ( http://www.happy-pm.com/ ), "снес яйцо -- кудахтай". Итак, надо было показать, что внесены правильные изменения, что мы не зря потратили время, да и вообще молодцы.
Проблема в том, что просто сидеть и ждать результатов несколько... некорректно. Т.е. произошедшие после этого изменения можно списать на что угодно. Как известно "после не значит из-за". Более того, возможно и более неприятное развитие событий – падение результатов по независящим от вас причинам, например, фактор сезонности. Поэтому надо сравнивать «былое и настоящее» в одинаковых условиях. Итак, следом мы сделали простейший сплит-тест ( A/B testing , http://en.wikipedia.org/wiki/A/B_testing ). Т.е. половина пользователей получала оптимизированную страницу, половина -- прежнюю, неизменную версию. Следом мы считали лишь один, но самый важный для нас показатель -- количество заказов. Как показала статистика за следующую неделю, сжатая версия давала почти на 2% больше заказов. Т.е., потратив 4 рабочих дня (если бы не время на его допиливание, успели бы гораздо быстрее), мы стабильно увеличили количество заказов почти на 2% без привлечения доп. средств. В моём понимании это отличный показатель, за такое надо орден давать, а еще лучше – премию и повышение зарплаты. Да, сплит-тесты позволили нам быть уверенными, что именно наши изменения привели к этим результатам. К сожалению, мы собирали только очень однобокую статистику, но это издержки производства -- готового решения, внушающего доверие, мы не нашли (сразу предупрежу – я смотрел Google Website Optimizer ), писать что-то сложное своё не было времени. Так что, если кто-то сможет подсказать хороший инструментарий, буду рад.