Первое сентября
Первое сентября

Привет, меня зовут Артем Русов. Я автор курсов и образовательных материалов для тестировщиков. Сегодня первое сентября, и это удобный повод подвести итоги самой большой авантюры, которую я впервые запустил за 6 лет образовательной деятельности в тестировании ПО.

С февраля я собираю курсы по тестированию, устроенные как игра: Древняя Греция для REST API, Древний Египет для GraphQL, город Цифроград для основ компьютерной грамотности. Сюжет, персонаж-проводник, задания в декорациях отдельного мира.

Задача была не в том, чтобы люди сидели в курсе дольше. Задача была сделать обучение доступнее и интереснее. При этом не разориться, потому что курсы я продаю и это основная моя работа. Поэтому мерить нужно всю воронку: сколько людей приходит, сколько покупает, сколько доходит до конца, что они потом ставят и сколько возвращают денег.

Ответ получился неудобным для заголовка. Геймификация улучшила почти всё, кроме той метрики, ради которой я её задумывал.

Сразу про конфликт интересов: курсы мои, платформа, о которой пойдёт речь ближе к концу, тоже моя. Далее: цифры из статистики Stepik и моего собственного инструмента аналитики, включая сравнение с 392 курсами категории “Тестирование”.

Что я мерил и чем

Все цифры считает та же система, которой я пользуюсь в работе: она забирает из Stepik воронку уроков, качество шагов, финансы, отзывы и ежедневные снимки по конкурентам в категории.

Три поправки, без которых цифры врут.

Стартовый урок. Первый урок бесплатных курсов открывают из любопытства, и он ничего не говорит о людях, которые пришли учиться. Поэтому считать буду от второго. У платных курсов первые два урока открыты для всех, а с третьего начинается платная часть, поэтому там старт – это третий урок.

Общие уроки. Урок на Stepik можно поставить в несколько курсов, и статистика у него будет общая на все. Я вытянул структуру каждого курса через API и оставил только собственные уроки. Из-за этого из сравнения выпал “Симулятор собеседования”: его уроки слишком переплетены с продвинутым курсом, поэтому с ним чистой воронки не собрать.

Удержание вместо доходимости. Доля дошедших до последнего урока сравнивает длину курсов, а не их качество: курс из 14 уроков всегда обгонит курс из 128. Поэтому основная метрика – это удержание между соседними уроками, геометрическое среднее по всей длине:

r = (доля дошедших до финала) ^ (1 / (число уроков - 1))

Это доля людей, открывающих следующий урок. Она не зависит от длины курса, и её можно сравнивать между собой.

Шесть курсов

Курс

Сюжет

Доступ

Уроков

Часов

Учеников

Старый Новый Баг

да

бесплатный

14

0,4

2 015

Цифровая грамотность

да

бесплатный

26

2,1

1 642

Древний Египет (GraphQL)

да

платный

31

7,7

130

Древняя Греция (REST API)

да

платный

39

9,0

418

Базовый курс

нет

бесплатный

83

46,8

109 864

Продвинутый курс

нет

платный

128

62,8

2 756

Два последних – контрольная группа: те же темы, тот же автор, та же площадка, никакой геймификации. Часы – сумма time_to_complete по урокам, оценка Stepik на основе реального времени студентов.

Слой первый: привлечение

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

“Цифровая грамотность” вышла 23 июля и набирает 880 человек в месяц. Для сравнения, мой основной бесплатный курс по тестированию, который живёт четвёртый год и собрал 110 тысяч студентов, набирает 1360 в месяц. Новый курс на смежную тему идёт в две трети темпа флагмана.

Но радоваться рано. Я поставил свои курсы в общий ряд категории “Тестирование” – 392 курса, ежедневные снимки числа учеников – и посмотрел прирост за последние два месяца. Места такие:

  • базовый курс без сюжета – 1-е из 211 растущих;

  • “Старый Новый Баг” – 19-е;

  • продвинутый курс без сюжета – 32-е;

  • Древняя Греция – 86-е;

  • Древний Египет – 133-е.

Сюжетные платные курсы стоят в середине рынка. Никакого чуда игровой слой на привлечении не сделал: узкая тема остаётся узкой темой, как её ни обставь.

Слой второй: продажи

За семь месяцев Греция принесла 421 продажу и 824 580 рублей, Египет – 131 продажу и 263 646 рублей. Продвинутый курс без всякого сюжета за то же время идёт ровнее и стоит дороже: средний чек 4338 рублей против 1959 у Греции.

Дальше начинается самое интересное.

Продажи по месяцам
Продажи по месяцам

В феврале Греция дала 250 продаж за месяц – больше, чем продвинутый курс делает за пять. А потом сорок два, тридцать один, сорок три, двадцать один. Египет повторил ту же кривую: девяносто три в марте и однозначные числа к лету.

Сюжетный курс продаётся как событие, а не как товар. Он собирает всех, кто ждал запуска, и дальше живёт на остаточном потоке. Курс без сюжета за тот же период не давал ни одного всплеска и ни разу не проваливался: от 24 до 49 продаж каждый месяц, включая июль и август.

Ещё одна отрезвляющая цифра: 92-99% всех продаж прошли по промокоду. Скидка работает сильнее любого сюжета, и это стоит держать в голове, когда может показаться, что курс купили из-за Древней Греции.

Для контекста: средняя цена платного курса в категории – 4151 рубль, то есть Греция стоит вдвое дешевле рынка.

Слой третий: прохождение

Вот здесь гипотеза и развалилась.

Удержание на урок
Удержание на урок

Разброс – от 95,9% до 97,5%, полтора процентных пункта на шесть курсов. Сюжетные и обычные, платные и бесплатные перемешаны внутри этого разброса без всякой системы. Лучшее удержание – у платного курса без единого элемента геймификации, худшее – у сюжетной “Цифровой грамотности”.

Кривые удержания по урокам
Кривые удержания по урокам

Линии сглажены медианой по пяти урокам. Сырые просмотры не монотонны: в курсах есть справочные уроки, куда заходят единицы, и уроки-настройки инструмента, куда приходят из поиска по прямой ссылке. Без сглаживания линия рвётся до нуля и обратно там, где поток людей идёт ровно.

Наклон у всех линий примерно одинаковый. Различаются они тем, где обрываются: сюжетные курсы короче и заканчиваются раньше, чем успевают растерять людей.

Если удержание одинаковое, то доля дошедших до финала зависит только от длины. Арифметика простая: 96,8% в 81-й степени – это 7%, а 97% в 12-й – 69%.

Длительность курса против доходимости
Длительность курса против доходимости

Шесть точек ложатся на одну линию. Отсюда вывод, который выдерживает проверку данными: если нужно, чтобы курс заканчивали, его надо укоротить. Не добавить достижений, не придумать мир, а сократить программу.

Полная воронка одного курса выглядит так:

Воронка курса про REST API
Воронка курса про REST API

Самая большая потеря – не в середине курса, а на платном пороге: 945 человек на втором уроке и 276 на третьем. Минус 71% за один переход. Всё, что вы придумываете внутри курса, работает на этих 276.

Слой четвёртый: оценки и возвраты

Здесь геймификация выигрывает, и с большим отрывом.

Оценка курса
Оценка курса

Средняя по категории “Тестирование” – 3,01 по 392 курсам, у платных 3,26. Мои сюжетные курсы стоят на 4,98-5,00, обычные – на 4,20 и 4,83.

Оговорка обязательна: у Египта всего два отзыва с оценкой, у Греции шестнадцать, и такие числа ничего не доказывают. А вот “Старый Новый Баг” с 194 отзывами и оценкой 4,98 – это уже выборка, с которой можно работать. Базовый курс с его 4865 отзывами и 4,20 стоит ниже не потому, что плохой: массовый бесплатный курс собирает всех подряд, включая тех, кто пришёл случайно.

Вторая метрика надёжнее оценок, потому что стоит денег: возвраты. У продвинутого курса вернули 2,1% покупок, у Египта – 0,8%, у Греции – 0,2%: одна за все семь месяцев. Человек, купивший сюжетный курс, почти никогда не разочаровывается настолько, чтобы просить деньги назад.

Слой пятый: комментарии

Интерес трудно измерить, но у него есть косвенный след – это комментарии под шагами.

Комментарии на сто учеников
Комментарии на сто учеников

На сотню учеников Греции приходится 210 комментариев, на сотню учеников базового курса – 12. Разница в семнадцать раз.

Здесь нужно уточнить, что комментарий – это двусмысленный сигнал. Люди пишут и когда увлеклись, и когда застряли. В Греции доля обоих типов выше, чем в остальных курсах, и разделить их я могу только вручную, читая ветки.

Более чистый след – доля верных решений на заданиях. Сравнивать среднее по всем заданиям бессмысленно, поэтому я взял единственный тип, который есть во всех курсах: тест с выбором ответа, от 54 до 290 шагов на курс.

Доля верных решений на тестах
Доля верных решений на тестах

Первые две строчки ничего не доказывают: “Цифровая грамотность” и “Старый Новый Баг” учат простым вещам, и 95% верных там объясняются темой. Смотреть надо на середину: Греция и Египет с их Postman и GraphQL дают 76% против 72% и 67% у продвинутого и базового. Четыре-девять пунктов на сопоставимых темах.

Обратная сторона

Три вещи, которые в отчёте с одними победами не пишут.

Некоторые сюжетные курсы наполнены слишком лёгкими заданиями. Шаг, где верно отвечают 98% и выше, проверяет узнавание, а не понимание. В Египте таких 45 из 105, в “Цифровой грамотности” – 40 из 122, в Греции – 30 из 139. У продвинутого курса – 62 из 458, то есть вчетверо реже по доле. Когда пишешь мир, легко увлечься и заменить проверку знания проверкой внимания: “какой артефакт нашёл герой в третьем зале”.

Всплеск на запуске не превращается в поток. Двести пятьдесят продаж в первый месяц выглядят как успех ровно до того момента, когда сравниваешь их с ровными сорока продажами обычного курса на дистанции года.

Мир стоит дорого. В Греции сюжетом связаны все 39 уроков, включая Newman и mock-серверы. Это заметно дороже в производстве, чем кажется на старте, и написать такой курс вдвое быстрее нельзя.

Про Арти

Во всех курсах есть общий персонаж. Его зовут Арти, очеловеченный персонаж в круглых очках, и он же встречает студента на первом уроке Цифрограда, спасает Новый год в “Старом Новом Баге” и ведёт по Олимпу в курсе про REST API.

Начинался он как решение скучной задачи. Курс из тридцати уроков пишется месяцами, и голос в нём плывёт: первые уроки строже, последние разговорнее, а студент считывает это как небрежность. Персонаж-проводник задаёт голос жёстко – если объясняет Арти, то он объясняет одинаково и на первом уроке, и на тридцатом.

Дальше он переехал на платформу и стал там помощником: отвечает на вопросы по текущему заданию, в том числе голосом.

Разговор с Арти
Разговор с Арти

Здесь пришлось поставить ограничение, которое я считаю обязательным для любого учебного ИИ: Арти не знает правильного ответа. Ключа нет в его промпте ни в каком виде, а ответ модели перед показом студенту дополнительно сверяется с ключом механически. Промпт можно уговорить: достаточно настойчиво попросить “просто проверь моё решение”. Регулярное выражение уговорить нельзя.

Второе ограничение мягче, но важнее для обучения: помощник объясняет, что происходит в задании, и не выдаёт решение целиком. Студент, получивший готовый ответ, закрывает шаг и ничему не учится, а метрика прохождения при этом растёт, и по ней всё выглядит прекрасно.

Что из этого переносится на любые курсы

Считайте удержание на урок, а не доходимость. Доходимость сравнивает длины. Один коэффициент на весь курс сразу показывает, теряете вы людей быстрее коллег или просто написали втрое длиннее.

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

У курса должен быть финал, а не последний урок. В обоих сюжетных курсах финальный урок проходят почти все, кто до него добрался: 66 из 68 в Греции, 203 из 237 в Цифровой грамотности. Люди доводят до конца то, у чего есть конец: закрытая арка, собранный артефакт.

Мир держится до конца или не нужен вовсе. Декорации только во вступлении обещают то, чего дальше нет.

Платный порог – отдельная задача. Он отнимает 71% за один переход, и ни одна механика внутри курса его не лечит.

Проверяйте свои задания на лёгкость. Доля шагов с 98% верных ответов – это доля мест, где вы спросили не то, чему учили. У меня она в сюжетных курсах втрое выше, чем в обычных, и это прямое следствие увлечения миром.

Что я построил дальше

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

В августе я запустил платформу для своих студентов – с прогрессом, достижениями, ежедневными заданиями, сериями, мини-играми и тем самым Арти в роли помощника. Геймификация там держит каркас: на ней прогресс, сертификаты и статистика.

Уровни, находки и опыт
Уровни, находки и опыт

Лестница уровней, полка находок и правила начисления опыта. Награды выдаются за учебные действия: открытую теорию, сданное задание, задание с первой попытки.

За первые 17 дней: 386 студентов, 11 170 пройденных шагов, 6284 попытки заданий с долей верных 78%, 315 записей на курсы, 13 сертификатов. Самая длинная серия занятий – 8 дней подряд.

Две корреляции, на которые стоит обратить внимание. Студенты, выполнявшие ежедневные задания, прошли в среднем 63 шага против 6,3 у остальных. Игравшие в мини-игры – 57 шагов против 40. Причину и следствие здесь не разделить: активный человек и ежедневные вылазки выполняет, и шаги проходит.

А самая честная цифра такая: 141 студент из 386 не прошёл ни одного шага. Записался и не начал. Никакая ачивка не работает на том, кто не сделал первый шаг, и это следующая задача, которую я собираюсь решать.

Шесть правил, которые я вывел, пока строил платформу

Дальше – про устройство. Каждое правило появилось после того, как что-то сломалось.

Серия поощряет, но не наказывает. Механика, которая сгорает целиком после пропуска, выталкивает человека совсем: он уже проиграл, возвращаться незачем. Пропущенный день у нас не отнимает ничего, кроме самого дня.

Достижение выдаётся за учебное действие. Первый шаг, десять решённых заданий, безошибочная серия, пройденный курс. Ачивка за клики превращает платформу в ферму очков и портит метрику, ради которой её вводили.

Косметика не даёт преимуществ. Рамки, титулы, аватары, темы – всё, что видно другим, и ничего, что влияет на оценку.

Барьер вокруг ИИ-помощника ставится дважды. Ключа нет в промпте, и ответ модели всё равно сверяется с ключом механически. Одного барьера мало.

Метрики считаются из того, что уже пишется. Ни одного нового события ради дашборда: дневная активность есть в строке студента, воронка восстанавливается по времени первого захода на шаг.

Итог

Если свести всё в одну таблицу, получается так.

Что мерил

Сюжетные курсы

Курсы без сюжета

Прирост учеников, место в категории

19-е, 86-е, 133-е

1-е, 32-е

Продажи

всплеск на запуске

ровный поток

Средний чек

1 959 ₽

4 338 ₽

Удержание на урок

95,9–97,0%

96,8–97,5%

Оценка курса

4,98–5,00

4,20–4,83

Возвраты

0,2–0,8%

2,1%

Комментариев на 100 учеников

7–210

12–57

Слишком лёгких заданий

22–43%

2–14%

Геймификация не сделала только одно: люди не стали доходить дальше.

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

Для меня главный вывод такой: игровой слой влияет на отношение к курсу, а не на дистанцию, которую человек проходит. Дистанцию определяет длина программы, и это чинится короткими курсами, а не механиками.

Курсы я, конечно, переделывать не буду и от сюжета не откажусь.

Если у вас есть свои замеры по геймификации, особенно если они показывают обратное, напишите в комментариях, какая у вас была методика.

Платформа, о которой шла речь: learn.rusau.net.