Top.Mail.Ru
РБК Компании

От свистка на поле до выплаты за 10 секунд

Как убрать системный разрыв между трансляцией и бухгалтерией, обеспечив прозрачность расчетов для всей волейбольной лиги
УПВЛ
Источник изображения: архив 365 Media Group
Задача и причина

Задача

Перед командой стояло четыре ключевых задачи по созданию единой экосистемы для UNITED PRO VOLLEYBALL LEAGUE:

  1. Свести сайт UPVL и внутренний административный контур в одну систему, чтобы любые изменения по матчам автоматически доходили до учета.
  2. Связать игроков и сотрудников Лиги в протоколах матчей с реальными пользователями в системе учета для корректных выплат.
  3. Интегрировать сайт с трансляциями и vMix для автоматического обновления счета в эфире.
  4. Автоматизировать расчет выплат, переложив правила Лиги (лиги, пол, категории, результаты) на код.

Причина

Главная проблема — системный разрыв. В UPVL матчи идут конвейером, составы меняются в последнюю минуту, например, из-за травм на разминке, а в официальный протокол могли попасть данные с искажением. Когда бухгалтер садился закрывать ведомости, цифры «не бились»: по факту играл один человек с определенной ставкой, а в системе числился другой. Это приводило к бесконечным звонкам, уточнениям и пересчету одной и той же ведомости по три раза. Нужно было исключить человеческий фактор и связать спорт, эфир и финансы.

Откуда брались ошибки в расчетах и как API их устранил

В UPVL матчи идут конвейером, а составы команд часто меняются, поэтому данные должны обновляться почти моментально. Эти данные влияют на расчеты и отчеты. Если переносить их вручную, в учете останутся игроки, которые фактически не выходили на площадку.

Мы интегрировали сайт Лиги и внутреннюю административную систему по API, чтобы не было ошибок из-за ручного ввода. Финансовый контур автоматически проверяет сайт каждую минуту и забирает все изменения. Но ему нужно понимать, о каком игроке идет речь — от этого зависят начисления игрока. На сайте Лиги игрок — это медиа-анкета: фото, возраст, статистика и роль. У этой карточки свой ID. А во внутреннем контуре этот же человек — уже расчетный профиль с историей начислений и совсем другим ID.

Для кода это два разных объекта. Если просто передавать фамилию «Иванов», система рано или поздно сойдет с ума, встретив двух однофамильцев в одном сете.

Мы создали систему сопоставления ID. Теперь в профиле каждого участника закреплен его личный идентификатор с сайта Лиги. Когда происходит замена в последнюю минуту, сайт передает ID игрока — 2656, например. Административный контур мгновенно сверяется с таблицей связок и понимает, что это пользователь 294.

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

Как мы научили vMix понимать действия игроков, а сайт  — управлять трансляцией

От свистка на поле до выплаты за 10 секунд

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

Это мощная программа, но она не знает, что такое современные веб-форматы. И к ней нет инструкции, как подключить волейбольный сайт. Мы потратили недели на эксперименты, пока не нашли способ заставить vMix обновлять плашку в реальном времени — подсовывать CSV-файлы.

От свистка на поле до выплаты за 10 секунд

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

Что мы для этого преодолели: 

  1. Научили API переводить статистику в CSV-формат. Мы настроили систему так, чтобы она на лету превращала сырые данные из базы в виртуальную таблицу. В ней у каждого элемента трансляции появился свой фиксированный «адрес»: например, ячейка 76 отвечает за иконку мяча, а ячейка 20 — за счет сета. 
  2. Оптимизировали сервер под экстремальные нагрузки. Когда параллельно идет несколько матчей, сайт получает сотни запросов в минуту. Нам нужно было сделать так, чтобы сервер не слег от такой активности, количества зрителей и отдавал информацию без задержек в эфире.
  3. Заложили в vMix логику игровых процессов. Статист на сайте добавляет очко команде. В это время программа считывает контекст: если в ячейке «Мяч» появляется единица — vMix ставит иконку мячика у подающей команды. Если значение меняется на ноль — убирает. Это и есть те самые мелочи, которые делают трансляцию живой.

Зачем все это было нужно?

На площадке работают два типа статистов — без них никакой магии не будет. Один фиксирует изменение счета, сетов и тайм-ауты. Другой — драму на поле (кто забил или кто ошибся). 

Действия статистов из админки сайта одновременно летят в двух направлениях:

  1. Зрителям. Те, кто смотрит видео, видят мгновенную смену счета и подач, тайм-аут какой-то из команд или технический тайм-аут. Те, кто не может смотреть трансляцию, могут , «читать» игру по интерактивным графикам и ленте событий на сайте. 
  2. В систему учета. Это и была наша главная цель. Мы могли бы оставить управление графикой в vMix вручную, но тогда тот самый системный разрыв остался бы с нашим заказчиком. 

Так и у трансляции, и у отчетности появился единый источник правды. Ошибка из-за того, что в протоколе одно, а в системе — другое, сейчас невозможна технически.

Как трансляция формирует отчетность

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

Раньше расчет эффективности и закрытие игрового дня в UPVL держались на бесконечных ручных сверках. Администраторам приходилось держать в голове сотни условий: помнить тарифы для каждой лиги, сверять протоколы с реальными заменами и на калькуляторе пересчитывать итоги, если состав команды изменился в середине сета. Пока игр было мало — справлялись, но когда их стали десятки в день, ошибки стали неизбежными. 

От свистка на поле до выплаты за 10 секунд

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

Теперь финансовый контур сам анализирует «дерево условий» каждого матча:

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

Результативность. Если формат встречи предполагает зависимость от итога — алгоритм сам проверяет, кто победил, и применяет соответствующие коэффициенты к участникам. 

Динамические изменения. Самая сложная задача. Если по ходу игры состав изменился, интеграция видит это через API. Система сама корректирует учетные данные участников. Но также есть возможность скорректировать состав команды даже после завершения матча.

От свистка на поле до выплаты за 10 секунд

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

Пришли к 365 Media Group с серьезной головной болью — человеческий фактор в администрировании. Ребята буквально поселились в наших процессах и уловила специфику волейбольной логики.

Что особенно ценно — это точность. Мы уже вышли на 100% корректность данных. В общем, сотрудничеством с 365 Media Group максимально довольны. Ребята решают бизнес-задачи и высвобождают нам кучу времени.

Алексей Шпак, CEO UPVL

От свистка на поле до выплаты за 10 секунд
Результат
  • Единая система вместо разрозненных процессов. Мы связали площадку, сайт, трансляции и финансы в одну экосистему, где данные не теряются по дороге.
  • Точность данных — 94% на старте и 100% после обкатки. Мы прогнали через систему 175 матчей. В 165 случаях данные сошлись полностью. Остальные помогли выявить ошибки ручного ввода статистами. И сразу же были скорректированы. 
  • Экономия времени на администрировании. То, что раньше занимало часы сверок и пересчетов, теперь укладывается в несколько минут проверки готовой ведомости. 
  • Real-time трансляции. Графика в эфире обновляется синхронно с событиями на площадке. 
  • Прозрачность расчетов. У каждого сотрудника Лиги и игрока есть понятный лог: матч, роль и условия. Вопросы «почему так» исчезли.

 

Источники изображений:

архив 365 Media Group

Рекомендации партнеров:

Новости отрасли:

Все новости:

Публикация компании

Профиль

Дата регистрации
1 июня 2022
Уставной капитал
10 000 ₽
Юридический адрес
г. Москва, вн.тер. г. Муниципальный округ Коммунарка, пр-кт Магеллана, д. 1, кв. 31
ОГРН
1227700314984
ИНН
7751224046
КПП
775101001

Контакты

Адрес
Россия, г. Москва, Проспект Магеллана 1, д. 31
Телефон

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия