Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Если бы попытка была удачной, то, очевидно, статья называлась бы немного иначе. С другой стороны, эту затею назвать неудачей я тоже не могу, поскольку процесс всё ещё продолжается. Сегодня я хотел бы рассказать вам об интересных задачах и трудностях, с которыми мы сталкиваемся в попытке запустить что-то своё.
Сразу отмечу, что эта статья является своего рода продолжением моей первой статьи, поэтому все события, описываемые здесь, берут начало после публикации той. На этот раз это просто история о том, что было после того, как я поделился с вами своей гипотезой и планами в отношении неё. Собралась ли тогда команда? При чём тут Европа? Какие задачи решены? Каков результат? Давайте разбираться, но обо всём по порядку.
Полученный фидбэк
Итак, статья была опубликована, я стал ждать сообщения от заинтересовавшихся людей. За первую неделю мне написали около 15 человек, и что тогда вызвало у меня некоторое удивление – большинство было из разных стран, хотя сами люди были русскоговорящие. Я получил интереснейший опыт общения с ребятами, которые также имели похожий бэкграунд командной работы и исследований/разработок в этой области. Например, программист из США, который со своей командой разработал платформу анализа данных. Их софт анализировал большие объёмы информации, получаемой с множества контор, и находил перевес в значениях, сравнивая все котировки с эталонной линией Pinnacle. Более того, в разработке их мат. аппарата принимал участие доктор математических наук. Или, к примеру, молодой парень с Кипра, который использовал алгоритм, основанный на задержках обновления котировок. У его команды был даже свой офис в Москве.
В целом, мы хорошо пообщались, обменялись опытом, экспертизой, рассказали друг другу про различные проблемы и пути их решения, поделились взглядами и видением рынка.
Среди прочих написавших мне были ещё интересные люди: молодой программист из Беларуси и русскоязычный предприниматель из Бельгии. Они-то и заинтересовались идеей больше всех и именно с ними мы приняли решение о совместной работе над проектом.
Формирование команды
Для начала предлагаю познакомиться с ребятами поближе. Руслан – программист из Беларуси, работающий в международной логистической компании, разрабатывающей продукт для пользователей из СНГ и Европы. Кирилл – предприниматель из Бельгии, занимающийся разными проектами (от аналитики до ритейла) в Европе со своей командой.
Сначала мне написал Руслан. Мы достаточно быстро провели переговоры, в ходе которых поняли, что поработать в одной команде нам будет интересно и весьма полезно с точки зрения обмена знаниями, причём как в предметной области, так и в области программирования.
Кирилл же откликнулся на статью чуть позже. В переговорах участвовали уже втроём, после чего Кирилл дал понять, что согласен работать над проектом вместе с нами. Он был готов подключить к работе свою европейскую команду и проинвестировать в нас, но на этом мы остановимся подробнее чуть позже.
Концепция и цели
Очевидно, что теперь на российском рынке работать мы не планировали – сразу взяли вектор на европейский. Основная идея была в том, чтобы в конечном итоге работать не в онлайн-конторах, а в их оффлайн-пунктах на территории Европы. Таким образом мы планировали уйти от всех бюрократических процедур с верификациями, порезкой лимитов, а также оставить большой потенциал для масштабирования, как в плане размера команды, так и в плане оборачиваемых этой командой средств.
Укрупнённо этапы проекта можно описать следующим образом:
Разработка аналитического ПО
На этом этапе необходимо было разработать систему сбора и анализа данных для онлайн-конторы, а также систему уведомлений о событиях (telegram bot). Мы с Русланом оба программисты, поэтому решили, что наших сил и времени для разработки будет вполне достаточно – система задумывалась относительно простая.
Сбор и анализ данных
Здесь мы должны были собрать достаточное количество данных, проанализировать их и просто понять, работает ли гипотеза (подтвердить или опровергнуть её).
Подготовка к запуску
Этот шаг подразумевал запуск всех процессов, но в меньшем масштабе. Мы планировали, что часть европейской команды под руководством Кирилла начнёт проводить время в оффлайн-пунктах, делая ставки небольшими суммами по сигналам нашего бота. Необходимо было подготовить ребят к такой работе, чтобы ознакомиться с её спецификой заранее.
Запуск
Этот этап включал в себя инвестиции средств для работы и полный запуск всех процессов с командой, распределённой по офлайн-пунктам в нескольких странах Европы. Помимо прочего, здесь мы рассматривали разработку автоматизированной системы учёта ставок и финансов внутри проекта, чтобы исключить коллизии и рутинные операции в команде.
Масштабирование
При успешной реализации предыдущих пунктов была возможность разместить людей буквально в каждой стране Европы и даже затронуть часть стран Северной Америки. Вместе с тем были планы начать предоставлять консалтинговые услуги в области разработки ПО для анализа и работы с данными на рынке спортивных событий, но уже в России.
Мы составили детальный план, распределили роли и, настроившись на результат, принялись за работу.
Разработка аналитического ПО
Как и полагается, начинать следовало с подготовки. Мы создали доску управления проектом в Trello, репозиторий на Bitbucket и нашли серверы для ПО. Следующий шаг заключался в разработке технического задания. Я описал все условия гипотезы и требования к системе в одном месте, чтобы в дальнейшем работать только с этим документом. Собирать данные решили с одной российской конторы с примерно самыми высокими коэффициентами, поскольку до этого все мои модели были построены при работе именно с ней.
Теперь нужно было определиться со стеком. Я хотел реализовать модуль логики и обработки данных самостоятельно на C# (поскольку это мой основной язык), а Руслан бы занялся модулем получения и отправки данных, реализовывая все это на PHP. Однако он предложил сделать всё в одном месте, чтобы уменьшить сложность и скорость разработки – так и поступили. Итоговый стек выглядел просто: PHP + Yii2 + MySQL. На тот момент с PHP я был уже знаком и даже имел небольшой разработанный проект на нём, поэтому C# или PHP – особой разницы для меня не было, и мы приступили.
Время для нашего проекта могли выделять только по вечерам, поскольку оба имели ещё и основную работу, поэтому темп разработки был умеренный. Закрывали текущие задачи, ставили новые, преодолевали возникающие сложности и просто наслаждались процессом. Доска с задачами тогда выглядела примерно так.
Дописали все реализации, протестировали работу, исправили баги и неточности, разместили на сервере и запустили. Начался сбор данных. Теперь требовалось собрать необходимый объём событий, чтобы начать делать какие-то первые выводы и в зависимости от них принимать решения о наших дальнейших действиях.
Сбор и анализ данных
Мы ждали, а система работала. Первые собранные данные имели такой формат.
Периодически я заходил в базу данных, делая несложные SQL-запросы, чтобы видеть все необходимые показатели и их изменения. Уже через месяц я опроверг свою первую гипотезу в том виде, в каком она была, но увидел кое-что новое.
Анализируя события, я заметил интересную зависимость результата от одного из показателей. Основываясь на этом наблюдении, я сформулировал новые дополнительные правила, которые выглядели весьма логично и органично вписывались в существующую модель.
Таким образом, за два месяца мы перешли от общей выборки около 1900 событий с приростом чуть больше нуля к прореженной выборке 200 событий с приростом 20 номиналов, т.е. ROI (показатель рентабельности) был равен 10%. График представлен ниже.
Посовещавшись всей командой, мы приняли решение переходить к третьему этапу проекта.
Подготовка к запуску
Как я и отметил ранее, сейчас нужно было запустить все процессы «на минималках». На этом этапе Кирилл выделил первичную инвестицию 2000€ на общий депозит – на одну ставку отводилось ровно 100€. Заложили бюджет и на следующий этап, планируя обороты уже больше. По странам решили начать с Германии и Бельгии – по одному человеку в стране. Итак, всё было готово, и мы сделали тестовый запуск.
Процесс пошёл ожидаемо, без каких-либо эксцессов. Европейские конторы давали почти все события, которые присылал наш бот, поэтому ребята всё проставляли уверенно. Банк начал расти, а в некоторые дни прирост достигал 200€. Казалось бы, можно начинать радоваться, но нет.
Проработав в таком режиме около месяца, мы поняли, что наш банк не растёт, а просто колеблется около начального значения, хотя по исходным данным из базы был небольшой прирост. Тут мы поняли, что дело в коэффициентах, а точнее, в их разнице. Коэффициент на конкретное событие на российской конторе отнюдь не равен коэффициенту на это же событие на европейской. Как правило, он всегда меньше. Весь прирост по алгоритму нивелировался разницей в коэффициентах – повышенной маржей на конторах в Европе. Прямое следствие этого – непригодность алгоритма с ROI 10% (на российском) для работы на европейском рынке.
Поиск нового алгоритма
Проведя совещание с командой, мы пришли к выводу о необходимости в новом алгоритме. Очевидно, он должен был быть более рентабельным, чем наш, чтобы покрыть отрицательную разницу в коэффициентах.
На этот раз мы решили не «изобретать велосипед», поскольку на то не было ни желания, ни времени. Бессмысленно было снова тратить месяцы на сбор и анализ данных, имея возможность найти сильного аналитика с готовым, более рентабельным алгоритмом.
Ни для кого не секрет, что существует множество верификаторов – специальных площадок с рейтингом аналитиков, где каждый из них делает свои прогнозы, ведя открытую статистику за большой промежуток времени. Причём такие прогнозы – это не всегда результат работы самого аналитика, также это может и быть результат работы его системы (бота), присылающего сигналы в рамках определённого алгоритма. Именно это нам и было нужно.
Я нашёл один весьма интересный российский верификатор с такими ботами, начал наблюдать за его рейтингом и чатом, в котором общались участники площадки. Проанализировав ситуацию, я принял решение написать аналитику Александру из Томска – владельцу одного из лучших ботов этого верификатора.
Мы достаточно быстро провели переговоры и договорились о сотрудничестве. Его алгоритм подходил нам по всем параметрам, ROI составлял 20%. Собственно, вот и график с приростом в 400 номиналов на 2000 событий за полтора года работы.
Разница коэффициентов
На этот раз, прежде чем запускать процесс, мы решили установить точную разницу в коэффициентах. Обработав примерно 50 сигналов, мы выяснили, что отклонение составило примерно 10%, то есть в среднем в рамках текущего алгоритма коэффициент на европейских конторах был на 10% ниже по сравнению с исходным коэффициентом сигнала.
Здесь стоит отметить, что отклонение для двух разных российских контор не будет одинаковым – для букмекера с высокими коэффициентами отклонение будет больше, это очевидно. Алгоритм Александра, равно как и наш, основан на данных именно такой конторы, отсюда мы и имеем столь большую разницу.
Несложным расчётом можно получить ROI этого алгоритма применительно уже к рынку Европы – с исходных 20% мы имеем около 6%. Учитывая процент для части команды в пунктах в разных странах, комиссии при переводах, передвижения по странам и прочие дополнительные издержки, чистой прибыли мы можем и не увидеть вовсе. Было решено не запускать процесс.
Подводя итоги
Теперь предлагаю подытожить всё вышесказанное и попытаться понять, что делать дальше. На данный момент у нас есть: концепция, которую можно масштабировать; готовая команда для реализации этой концепции; программисты для реализации технических решений и инвестиции на будущее. Однако у нас нет аналитика с рентабельным на европейском рынке алгоритмом – это и есть тот недостающий элемент, которого нам не хватает для полноценного запуска.
Так или иначе, мы продолжим искать подходящего для нас человека и будем дальше пытаться запустить наш стартап. Если вы думаете, что можете быть нам полезны, имеете соответствующую компетенцию и желание присоединиться к нашей команде, пишите мне в telegram: @arlol
В остальном, это всё. Я благодарю каждого, кто дочитал статью до конца. Желаю всем успехов и быстрых запусков! :)