Кейс: чат-бот для репетитора английского языка. Тест на определение уровня английского
Клиент – Аня – репетитор английского языка. Обучает как детей, так и взрослых всех возрастов. Индивидуально и небольшими группами по 2-5 человек.
Тех. задание | Кратко о работе | Схема бота | Разбор бота | Итоги | Отзывы
Техническое задание
Ане нужен чат-бот по определению уровня английского языка как для текущих клиентов, так и для вовлечения потенциально новых клиентов через соцсети.
Приветственное.
Бот должен включать в себя приветственное сообщение, которое содержит в себе краткое описание с правилами теста.
Основная часть.
Бот прогоняет пользователей через тест, который состоит из 30 вопросов, по 10 на каждый уровень языка (A, B and C). То есть первые 5 вопросов будут A1 уровня, следующие 5 вопросов – А2 уровня (итого 10 вопросов на всю А часть теста). Такая же логика у B и C части теста.
На каждый вопрос теста у пользователя будет на выбор 3-4 варианта ответа c одним верным.
Концовка.
В конце бот должен присваивать пользователю уровень языка, исходя из количества правильных ответов (присылать картинку + текст). Также добавлять пользователя в группу с соответствующим уровнем владения языка для последующей сегментации аудитории.
Система подсчёта баллов.
За каждый правильный ответ пользователь получает +1 балл. Если пользователь даёт 7+ правильных ответов (то есть набирает 7 баллов) в А части теста, то он переходит в В часть теста. Если меньше 7 – тест прекращается, присваивая пользователю А1 уровень. Если пользователь правильно отвечает на 7+ вопросов в В части, то он переходит в С часть теста. Если у него 5-6 правильных ответов – присваивается В1 уровень. Если меньше 5 правильных – А2 уровень. В С части похожая логика: дал меньше 5 правильных ответов – В2 уровень, 5-7 правильных – С1 уровень, и 8+ правильных ответов в С части – С2 уровень.
Дополнительное.
Также клиент попросила по возможности сделать логотип для бота и графические элементы (картинки) к последним сообщениям, которые выдают результат теста. То есть в конце теста бот присваивает пользователю уровень языка и скидывает картинку+текст с соответствующим уровнем.
Т.к. я сам являюсь безумным фанатом английского, то был очень вовлечён в процесс разработки этого бота. Я предложил клиенту оформить каждый 5-ый вопрос картиночкой, где пользователю предстоит выбрать правильное английское название того, что изображено на картинке.
У клиента для теста было подготовлено несколько десятков вопросов. Поэтому ей нужно было ещё время рассортировать их, определить последовательность и решить, какие вопросы нужно выбрать среди множества.
Тут я предложил сделать следующее: на каждый вопрос в тесте, который будет скидывать бот пользователю, подготовить 3-4 вопроса. И в боте через блок "Рандомайзер" сделать так, чтобы с шансом в 25% либо 33% выпадал один из 3-4 заготовленных вопросов. В таком случае, если пользователь решит пройти бота ещё раз, то ему с бóльшим шансом будут выпадать совсем другие вопросы, что делает этот тест ещё интереснее))
Также в С2 части теста я предложил один из вопросов сделать следующим: пользователю необходимо будет преобразовать выделенное английское слово в другую его форму и написать боту в чат, где он сравнит введённое слово с правильным и добавит балл в случае верного ответа.
Кратко о проделанной работе
Чат-бота решил сразу собирать на платформе, т.к. бот практически линейный, не считая систему подсчёта баллов. Платформой для бота выбрали LeadConverter, т.к. его функционала с лихвой хватит для данного бота. Также эта платформа самая дешёвая (тариф в 1К сообщений в день от бота стоит всего 490 руб/мес).
Клиент на следующий день подготовила таблицу с вопросами и картинками, расположила их в нужном порядке и предоставила мне. Я сразу начал сборку бота.
Бот был готов через трое суток, претерпев один круг лёгких правок.
Кстати, из-за системы рандомизации вопросов, предложенной мной, у нас всего вышло около 100 блоков с вопросами!
Ссылка на готового бота: https://t.me/engLvlTest_bot
Схема чат-бота
Разбор чат-бота
1. Подготовка к тесту
Бот встречает пользователя с приветственного поста, где вкратце и в лёгкой для восприятия форме объясняются правила теста.
После нажатия кнопки «Start the test!», происходит небольшая 4-секундная задержка, которая сопровождается уведомляющим сообщением о старте А-части теста, после чего начинается тест.
Под капотом сценария в это время происходит следующее:
- Добавление пользователей в группу "Начал тест".
Все операции блока «Действие» (см. картинку ниже) выполняются на бэкграунде и невидимы для пользователей. В нашем случае сначала происходит создание группы "Начал тест" и добавление туда пользователей, которые дошли до этого блока. Это делается для того, чтобы понять, кто из пользователей нажал на кнопку «Start the test!» и приступил к выполнению теста. - Определение переменной {{баллы}} значения 0.
В данную переменную будут начисляться баллы за верные ответы. Перед началом каждой следующей части теста (B и С части), переменная {{баллы}} будет обнуляться, а затем снова инкрементироваться за каждый верный ответ.
Это сделано для того, чтобы вести счёт правильных ответов пользователя в каждой из частей теста. - Определение переменной {{всего}} значения 0.
Эта переменная также считает верные ответы пользователей. Только в отличие от переменной {{баллы}}, она не обнуляется, а ведёт счёт правильных ответов до конца всего теста.
2. Основная часть теста
Согласно ТЗ, на каждый вопрос в тесте у бота должно быть заготовлено 3-4 вопроса, один из которых случайным образом будет отправляться пользователю.
Это мы делаем через блок «Рандомайзер», устанавливая выборку из 3 либо же 4 вариантов, на каждый по 33 либо 25% соответственно.
Случайным образом пользователю отправится только один вопрос.
После ответа на каждый вопрос шаг переходит к блоку «Действие», где верный ответ (т.е. нажатие на правильную кнопку) добавляет +1 балл к нашим переменным. Если пользователь ответил неверно, то балл не начисляется и шаг переходит к следующему вопросу (через блок «Рандомайзер»).
Также каждый 5-ый вопрос оформлен в виде картиночек, где пользователю необходимо правильно обозвать английским словом то, что на ней изображено.
3. Результаты теста
В конце каждой части идёт сравнение переменных. Разберём на примере концовку B-части теста:
- Идёт присвоение переменной {{B-баллы}} значения переменной {{баллы}}. То есть сохраняем количество правильных ответов B-части в отдельную переменную (ведь мы помним, что {{баллы}} у нас аннулируются перед следующей частью теста, и чтобы не потерять результат конкретно по этой части, его нужно сохранить в отдельную переменную).
- Далее идёт следущая проверка: переменная {{баллы}} больше или равно 7.
- Если ответ «Да», то переменная {{баллы}} аннулируется и запускается сообщение-переход на C-часть теста.
- Если ответ «Нет», то далее идёт сравнение {{баллы}} со значением 5. Если «Да», то пользователю присваивается уровень B1, если «Нет» – уровень А2.
Как видите, в конце теста приходит сообщение-результат, которое включает в себя картинку + сообщение благодарности о прохохождении теста, а также результаты по каждой из частей.
Все ошибочные моменты в тесте позже разбираются лично с репетитором.
В самом конце идёт блок «Действие», где пользователи добавляются в группы с соответствующим уровнем языка. Данный приём облегчит просмотр аналитики бота, где будет видно пользователей, которые прошли тест, сразу вместе с их уровнем (группой).
Также это большой плюс для последующей сегментации аудитории.
Дополнительное задание
Клиент попросила сделать аватарку для чат-бота, приветственную превьюшку, а также картиночки для каждого уровня английского.
Данное задание было выполнено в редакторе Figma. Клиент всё одобрила без правок.
Итоги
Репетитору, да и мне тоже, очень понравился данный чат-бот. Особенно Ане понравлися функционал рандомайзера, который мы всё-таки решили попробовать реализовать. Благодаря этому каждый ученик после первого прохождения теста может проработать свои ошибки вместе с репетитором, а затем по новой пройти бота. Ведь в следующий раз с шансом в 66-75% все вопросы будут совершенно другими!
В результате:
- Бот экономит время на предварительное определение языковых способностей учеников, а также повышает вовлечённость всех пользователей (ведь тест является своего рода геймификацией)
- Бот собирает данные (ответы на вопросы теста), что позволяет репетитору установить пробелы учеников и качественно подготовить индивидуальный план обучения (заострить больше внимания на проблемных темах)
- Благодаря проверке на запуск теста, через бот можно посмотреть тех пользователей, которые в него заходили, но не начинали тест. Это позволит настроить отдельную рассылку на них для прогрева. Также таким пользователям можно будет просто напомнить о тесте
- Благодаря сегментации пользователей на языковые уровни, начинающим ученикам можно будет через бот рассылать дополнительные обучающие материалы, а также предлагать дополнительные услуги, направленные на повышение уровня языка
- Из-за своей простоты и вовлечённости этот бот очень активно рекламируется среди любителей английского языка
Отзыв клиента
Хотите создать чат-бота для бизнеса или блога, но не знаете, с чего начать? Оставьте заявку на бесплатную консультацию ➜ Оставить заявку
Расскажите о своих задачах, и я найду оптимальное решение для вашего бизнеса или проекта.