Тысячи человек оффлайн трафика, десятки тысяч транзакций, аналитика в реальном времени, тропические ливни и сотая победа Льюиса Хэмилтона.
Задача: Разработать систему регистрации, начисления и списания баллов, учета сувенирной продукции, а также анализ активности посетителей промо-стенда компании на Гран-при Формулы 1 Сочи 2021.
📦 С чем пришел клиент:
До 2022 года Ростелеком являлся официальным партнером Гран-при Формулы 1 в Сочи, и на правах партнера устанавливал свой масштабный промо-стенд рядом с одноименной трибуной для привлечения зрителей гонки и презентации им своих продуктов. Креативное агентство Geometry разработало концепцию стенда и принцип вовлечения и мотивации посетителей. Согласно этой концепции, каждый посетитель стенда должен пройти «игровую трассу», начинающуюся с простой регистрации и получения виртуального бейджа пилота, который открывает доступ к различным активностям бренд-зоны, расположенным на протяжении той самой трассы. При выполнении условий, уникальных для каждой из зон, участники получают игровые баллы, которые могут быть потрачены на брендированную сувенирную продукцию.
В таком виде и была поставлена задача на разработку ПО.
🧠 Подготовка
Итак, надо было продумать весь пользовательский путь от момента регистрации до «покупки» призов в онлайн-магазине.
Начнем с регистрации. Для ее упрощения и ускорения (а при многотысячной аудитории это крайне важно) решено было осуществлять ее на гаджетах самих посетителей. Это позволило бы отказаться от необходимости в организации стоек или отдельных устройства для регистрации и избежать очередей на стартовой точке маршрута. Какой самый простой и удобный способ отправить пользователя на лендинг с регистрацией - правильно, QR-код, который должен быть размещен во входной зоне.
Идем дальше. Как сделать так, чтобы гость стенда мог зарабатывать баллы, перемещаясь от зоны к зоне? Нужно присвоить ему уникальный идентификатор, который будет запрашиваться интерфейсом операторов интерактивных зон. Генерируем уникальные шестизначные id и заодно и QR-коды, чтобы промоутеры не вводили их вручную, а просто так же сканировали своими смартфонами.
В процессе обсуждения UX мы решили, что помимо идентификатора хорошо бы дать участникам еще и личный кабинет, в котором они бы могли видеть обновляемый в реальном времени статус прохождения игровой трассы. Мы добавили отображение накопленных баллов, а также полный список интерактивных зон, на которых эти баллы можно заработать, чтобы участник видел свой прогресс и понимал, куда ему пойти, чтобы заработать еще игровой валюты на более «дорогой» приз. А так как мероприятие длилось 4 дня, и каждый участник мог посещать стенд в каждый из них, мы решили добавить интерфейс, отображающий его результат в различные даты, для того чтобы по аналогии с Ф1 у посетителей было стремление улучшить результат «прохождения круга». Ну а для еще большей мотивации в личном кабинете отображался список всех призов, которые можно было «купить» за накопленные баллы.
В процессе обсуждения UX мы решили, что помимо идентификатора хорошо бы дать участникам еще и личный кабинет, в котором они бы могли видеть обновляемый в реальном времени статус прохождения игровой трассы. Мы добавили отображение накопленных баллов, а также полный список интерактивных зон, на которых эти баллы можно заработать, чтобы участник видел свой прогресс и понимал, куда ему пойти, чтобы заработать еще игровой валюты на более «дорогой» приз. А так как мероприятие длилось 4 дня, и каждый участник мог посещать стенд в каждый из них, мы решили добавить интерфейс, отображающий его результат в различные даты, для того чтобы по аналогии с Ф1 у посетителей было стремление улучшить результат «прохождения круга». Ну а для еще большей мотивации в личном кабинете отображался список всех призов, которые можно было «купить» за накопленные баллы.
Экономика начисления баллов была просчитана так, чтобы для получения даже минимального приза необходимо было не просто отметиться на всех зонах, но и блеснуть своей эрудицией в викторине по фильмам про автогонки.
С функционалом личного кабинета посетителей стенда разобрались. Теперь надо продумать интерфейс для промо-персонала.
Во-первых, правом начисления баллов должен обладать только очень узкий круг лиц, иначе в случае утечки ссылки на панель управления, каждый мог бы увеличить свой игровой баланс, не прикладывая никаких усилий. Добавили авторизацию через гугл-аккаунт и раздали дополнительные права промоутерам.
Во-вторых нужно предусмотреть возможность перехода промоутера с одной интерактивной зоны на другую, а значит должна быть реализована возможность выбора, за что же он начисляет баллы.
Ну и самое главное - интерфейс должен быть максимально простым и понятным, для того, чтобы быстро идентифицировать посетителя стенда и проводить транзакции. В итоге, на экранах смартфонов промоутеров осталось три элемента: выбор зоны, поле ввода id-участника и кнопка «начислить баллы», которая становилась активной, если в базе данных был найден пользователь с введенным id, и в течение этого дня он еще не получал балл за прохождение этой локации. Количество начисляемых баллов на различных зонах было разным, что изначально было заложено в логику системы, чтобы не мучать логику промо-персонала. Также при вводе id или считывании его с QR-кода посетителя стенда в интерфейсе промоутеров отображалось имя, введенное участником при регистрации, для того, чтобы сотрудники стенда могли более персонализировано обращаться с посетителями стенда.
Во-первых, правом начисления баллов должен обладать только очень узкий круг лиц, иначе в случае утечки ссылки на панель управления, каждый мог бы увеличить свой игровой баланс, не прикладывая никаких усилий. Добавили авторизацию через гугл-аккаунт и раздали дополнительные права промоутерам.
Во-вторых нужно предусмотреть возможность перехода промоутера с одной интерактивной зоны на другую, а значит должна быть реализована возможность выбора, за что же он начисляет баллы.
Ну и самое главное - интерфейс должен быть максимально простым и понятным, для того, чтобы быстро идентифицировать посетителя стенда и проводить транзакции. В итоге, на экранах смартфонов промоутеров осталось три элемента: выбор зоны, поле ввода id-участника и кнопка «начислить баллы», которая становилась активной, если в базе данных был найден пользователь с введенным id, и в течение этого дня он еще не получал балл за прохождение этой локации. Количество начисляемых баллов на различных зонах было разным, что изначально было заложено в логику системы, чтобы не мучать логику промо-персонала. Также при вводе id или считывании его с QR-кода посетителя стенда в интерфейсе промоутеров отображалось имя, введенное участником при регистрации, для того, чтобы сотрудники стенда могли более персонализировано обращаться с посетителями стенда.
Из всех представленных на стенде интерактивов выделялись викторины, которые во-первых могли принести больше всего баллов, во-вторых проводились на стационарно установленных айпадах. Участникам предлагалось ответить на 10 вопросов по мотивам фильмов про автомобили. Для увеличения разброса баллов, которые можно набрать на стенде, при оценке прохождения квиза использовалась система начисления баллов, как в Формуле-1. За 10 правильных ответов давалось 25 баллов, за 9 - 18, за 8 - 15 и тд).
Как я уже писал выше, посетители стенда могли участвовать во всех интерактивах в течение четырех дней, и каждый день баллы считали отдельно. Но проходить одну и ту же викторину каждый день во-первых не интересно, во-вторых надо очень постараться, чтобы не заработать в ней максимальный балл, повторно отвечая на вопросы.
Поэтому было разработано 4 набора из 10 вопросов. Когда участник впервые проходил викторину на стенде, ему случайным образом предлагалось пройти один из четырех наборов вопросов, а если посетитель приходил на следующий день - то он мог пройти только одну из тех, которую еще не видел. Ну а для того, чтобы участник не мог в течение одного дня пройти все 40 вопросов и записать себе ответы, мы реализовали такую фичу, что если кто-то пытался заново пройти квиз в течение дня, ему предлагался именно тот же набор вопросов, что и при первом прохождении.
Во время работы стенда на больших экранах отображалась турнирная таблица, показывающая топ-10 игроков, имеющих на игровом счету больше всего баллов за сегодня.
Как я уже писал выше, посетители стенда могли участвовать во всех интерактивах в течение четырех дней, и каждый день баллы считали отдельно. Но проходить одну и ту же викторину каждый день во-первых не интересно, во-вторых надо очень постараться, чтобы не заработать в ней максимальный балл, повторно отвечая на вопросы.
Поэтому было разработано 4 набора из 10 вопросов. Когда участник впервые проходил викторину на стенде, ему случайным образом предлагалось пройти один из четырех наборов вопросов, а если посетитель приходил на следующий день - то он мог пройти только одну из тех, которую еще не видел. Ну а для того, чтобы участник не мог в течение одного дня пройти все 40 вопросов и записать себе ответы, мы реализовали такую фичу, что если кто-то пытался заново пройти квиз в течение дня, ему предлагался именно тот же набор вопросов, что и при первом прохождении.
Во время работы стенда на больших экранах отображалась турнирная таблица, показывающая топ-10 игроков, имеющих на игровом счету больше всего баллов за сегодня.
В таблице постоянно происходила ротация, так как когда игроки обменивали баллы на призы, их баланс уменьшался, и на лидерские позиции вырывались новые участники.
Баллы за призы списывались промоутерами при выдаче сувенирной продукции. Они также сканировали QR-код участника и видели его текущий баланс. Исходя из состояния счета игрока, в интерфейсе промоутеров, ответственных за выдачу подарков, отображался список только тех сувениров, которые может себе позволить каждый конкретный участник.
Ну и конечно же нужно было придумать еще и какой-то интерфейс, который бы позволял видеть в реальном времени все транзакции, баллы всех пользователей, статистику промоутеров и интерактивных зон и вести учет выдаваемого мерча.
Баллы за призы списывались промоутерами при выдаче сувенирной продукции. Они также сканировали QR-код участника и видели его текущий баланс. Исходя из состояния счета игрока, в интерфейсе промоутеров, ответственных за выдачу подарков, отображался список только тех сувениров, которые может себе позволить каждый конкретный участник.
Ну и конечно же нужно было придумать еще и какой-то интерфейс, который бы позволял видеть в реальном времени все транзакции, баллы всех пользователей, статистику промоутеров и интерактивных зон и вести учет выдаваемого мерча.
🏎️ Гран-При
Скажу честно, когда клиент просил нас подготовиться к многотысячной оффлайн-аудитории, мы скептически подумали, что на самом деле поток людей ограничится сотнями участников, ведь на подобного рода мероприятия приезжает довольно искушенная публика с достаточно высоким доходом (билет на соревнования стоил от 15 до 500 тысяч рублей), и что такую аудиторию вряд ли заманишь бесплатными дождевиками и павербанками. Как же мы заблуждались!)
Желающих оказалось действительно очень много! В перерывах между заездами на автодроме толпы людей выходили с трибун и устремлялись кто-то пообедать, а кто-то на промо стенды партнеров Гран-при.
Стенд Ростелекома был объективно самым интересным. В то время как другие партнеры события предлагали людям набор стикеров в обмен на предоставление персональных данных, наш стенд выделялся возможностью действительно интересно провести время и получить вполне себе ценные и полезные вещи. За несколько лет в ивенте, я еще не видел, чтобы вот так просто компания раздавала одежду, зонты, рюкзаки, термосы и тд настолько высокого качества. Не знаю, сколько компания потратила на мерч, но за него стоило побороться!
Стенд Ростелекома был объективно самым интересным. В то время как другие партнеры события предлагали людям набор стикеров в обмен на предоставление персональных данных, наш стенд выделялся возможностью действительно интересно провести время и получить вполне себе ценные и полезные вещи. За несколько лет в ивенте, я еще не видел, чтобы вот так просто компания раздавала одежду, зонты, рюкзаки, термосы и тд настолько высокого качества. Не знаю, сколько компания потратила на мерч, но за него стоило побороться!
И люди боролись, честно проходя все чекпоинты, на которых им нативно рассказывали о продуктах и услугах Ростелекома. Число желающих даже превысило казавшийся нам оптимистичным прогноз клиента, и уже на третий день нам пришлось поднять «цены» на некоторые позиции мерча, чтобы его хватило до конца мероприятия.
Очень увлекательно было наблюдать за активностью на стенде в админском дашборде и видеть графики активности зон и промоутеров, а также все проходящие транзакции.
Благодаря этому интерфейсу мы уже в первый день заметили, как хитрые промоутеры начали начислять друг-другу баллы, как-будто те прошли все задания, чтобы тоже забрать себе сувенирку. Это было быстро пресечено простой отправкой скриншота их транзакций в общий чат промоутеров. Кто-то в ответ написал «А что, вы все видите?», и после этого накрутки прекратились.
Переменчивая Сочинская погода добавила экстрима в наши трудовые будни на Ф1. В субботу, третий день Гран-при начался невероятный ливень, сопровождаемый сильнейшими порывами ветра. Наш открытый стенд заливало почти горизонтально идущим дождем, создавая риск замыкания проводки. Многие интерактивные зоны были обесточены, демонтированы и убраны в технические помещения, а сам стенд на это время стал убежищем для десятков людей, спасающихся от стихии.
Из-за непогоды были отменены некоторые заезды формулы-2 и формулы-3. Болельщики (да и мы тоже) переживали, что из-за ливня может не состояться и главная гонка этого уикенда, но, к счастью, уже к 16 часам дождь начал стихать, что позволило провести несколько заездов в субботу. А в финальный день гонок, в воскресенье, погода стала одним из главных участников гонки Формулы-1. Всего за 7 кругов до финиша над трассой начался дождь, поменявший всю картину гонки. Ландо Норрис из Макларен, не успевший вовремя сменить резину на дождевую, уступил лидерство преследовавшему его на протяжении всей гонки Люису Хэмильтону, который, благодаря стратегической ошибке Норриса, стал победителем гонки. Кстати, это была его юбилейная сотая победа в F1.
🏆 Итоги:
Несмотря на то, что поставленная задача выходила за рамки нашей стандартной сферы деятельности, команда pitcha.ru с ней отлично справилась (клиент так тоже считает), да еще и смогла погрузиться во всю эту спортивную атмосферу, благодаря пропускам с полным доступом ко всему.
🚶♂️➡️ Что дальше?
Гран-при закончилось. Но не выбрасывать же результат нескольких недель работы в мусор!
Посовещавшись с командой, мы решили превратить результаты одного проекта в масштабируемый продукт и запустили сервис ExpoBoost
Посовещавшись с командой, мы решили превратить результаты одного проекта в масштабируемый продукт и запустили сервис ExpoBoost
Разработанные нами система транзаций, магазин призов и админ-панели отлично справляются с задачами по повышению привлекательности выставочных павильонов (за счет вовлечения и геймификации), так что до сих пор вы можете встретить на выставках наш веб-сервис, который изначально создавался для Гран-При Формулы 1. Например, это решение работает на нескольких выставочных павильонах ВДНХ в Москве на выставке Россия.