Наша мета в тому, щоби людям було цікавіше дивитися гру

Наша мета в тому, щоби людям було цікавіше дивитися гру

Дата-саєнтисти з Parimatch Tech — про рекомендаційну систему, створення моделей та розвиток data science.

Дедалі більше українських бізнесів розуміють важливість застосування data science при ухваленні ключових рішень. У топменеджменті з’являються посади Chief Data Officer, а дата-саєнтистів залучають до створення моделей, які використовуються усередині компанії.

Ми поговорили про те, як працюють із даними в Parimatch Tech, з Senior Data Scientist'кою та лекторкою курсу «Python для Data Science» Анною Пилєвою, Senior Data Scientist'ом Сергієм Євтуховим, Middle Product Manager'ом Андрієм Нестеренком та Senior Cloud Engineer’ом Максимом Воїтком.

Структура та задачі команди

Анна: У нас два senior data scientist'а, а також junior, який нещодавно приєднався до команди. Є ML-інженер, який концентрується на розробці та інфраструктурі для моделей машинного навчання і не займається ресерчем. Він допомагає викочувати наші моделі, щоби ними могли користуватися інші команди. Крім того, з нами працює продакт-менеджер, а також люди, які зайняті і в інших командах — senior-аналітик із великим досвідом у компанії та архітектор сховища даних.

Крім того, на деяких мітингах є Chief Data Officer. Він залучений до всіх завдань дата-команди, яка займається даними, машинним навчанням, аналітикою.

Максим: «Я ― техлід, допомагаю команді з впровадженням рішень. Зазвичай наші користувачі — клієнти всередині компанії, тобто інші команди. Наші рішення мають бути максимально наближені до готового продукту. Ми даємо передбачення, якими можна було б скористатися».

Андрій: «Як Максим нещодавно сказав, “якщо ми викочуємо якусь модель у продакшн, показуємо стейкхолдерам і їм усе подобається, це означає, що ми довго чекали і викочувати її треба було раніше”».

Максим: «Останній приклад — модель для передбачення навантаження. Ми загорнули в API сервіс та зробили візуалізацію так, щоб інфраструктурні команди могли бачити результат цієї моделі як графік передбачення. Це кінцевий зручний продукт».

Андрій: «Насправді це кінцева мета першого етапу. Далі потрібно буде домовлятися про інтеграційні моменти, щоби результати передбачення десь зберігалися, а потім використовувалися і для оптимізації бізнесу, і для покращення моделей».

Анна: «Ми займаємося завданнями бізнесу, розширюємо сфери застосування data science у компанії.

Ще пів року тому ми мали іншу структуру. Я працювала в команді, яка організовувала контент на головній сторінці Parimatch — на сайті, у мобільній версії та в додатку. На головній виводяться спортивні події, на які можна ставити. Одночасно їх приблизно 2700. Події сильно відрізняються за популярністю. Завдання нашого відділу було в тому, щоби ранжувати події та виводити на головну сторінку максимально популярні. Усього на головній — сім найпопулярніших видів спорту, і в кожному до 10 основних подій.

Рекомендаційна система враховує популярність подій у межах регіону. Вона враховує пріоритет виду спорту — якщо людина частіше ставить на кіберспорт, то в неї, швидше за все, буде кіберспорт.

Зараз наша рекомендаційна система працює, ми знаємо як вона працює, оцінюємо її якість. Якщо з’являються нові події та щось видається не так, нам про це повідомляють бізнес-користувачі».

Максим: «Також ми займаємось ризик-менеджментом. У нашому випадку це є fraud detection. Гравці завжди грають проти компанії, і не завжди вони грають чесно. Наше завдання — визначити це».

Анна: «У компанії є окрема антифрод-команда, але всередині нашої команди також є частина, яка займається цим завданням».

Про рекомендаційну систему

Анна: «Наша мета в тому, щоби людям було цікавіше дивитися гру. У всіх різні смаки. Якщо користувач ставить на live, то швидше за все він любить отримувати швидкий результат. Тобто схильний ставити, припустимо, на настільний теніс (швидкий спорт) або швидкі ринки у футболі (наприклад, ставка на фінальний рахунок матчу перед його кінцем).

Ми робили кластеризацію користувачів щодо того, на які види спорту вони ставлять. Наприклад, користувач ставить на футбол і бокс або баскетбол.

У нас різні моделі для різних видів спорту — так правильніше».

Сергій: «Крім того, про одні види спорту в нас набагато більше даних, ніж про іншимі. Наприклад, про футбол, тому що на нього ставлять в основному, про настільний теніс, про гандбол, водне поло чи регбі. Для тих видів спорту, про які в нас менше даних, моделі виходять більш шумними».

Анна: «Будуючи рекомендації, важливо враховувати регіональні особливості. Наприклад, в Індії популярним є крикет. Очевидно, що в Україні на крикет не ставлять. У нас ставлять на футбол. Зазвичай цей розподіл видів спорту є досить закономірним. Дані підтверджують гіпотези, які знають продакт-менеджери, які займаються цим напрямом.

Окрім того, у більшості видів спорту турнір впливає на популярність події. У кіберспорті турніри змінюються дуже швидко. Важливо не те, який турнір, а те, які команди в ньому беруть участь. Через те, що для моделі нові кіберспортивні турніри часто невідомі, ми дуже помилялися в передбаченні популярності».

Офіс Parimatch Tech

Як проходить типовий день data scientist'а в Parimatch Tech

Анна: «Зараз я займаюся Customer Lifetime Value Prediction. Ми намагаємося з’ясувати, скільки наступного місяця принесуть користувачі.

Зазвичай усе починається зі стендапу вранці. Ми обмінюємось своїми апдейтами за останній день. Здебільшого протягом дня є пара мітингів, але ми не проводимо зустрічі заради зустрічей.

Найчастіше займаємося ресерчем нової гіпотези чи створенням нової моделі. Можливі зустрічі для детального обговорення завдань. Мені часто ставиться верхньорівневе завдання. Перш ніж розпочати його розв’язання, мені потрібно провести, по-перше, зустріч із людьми, які його ставлять, зрозуміти, що для них буде definition of done. Потім обговорити конкретні ідеї з командою, декомпозувати завдання та працювати над ним далі.

Буває, що я цілий день збираю дані (ми працюємо в основному з табличними даними, часто з часовими рядами) або пишу код. Наприклад, модель уже готова, але нам потрібно обгорнути її в API, щоби до неї могли звертатися інші команди. Іноді я фікшу баги в нашій рекомендаційній системі».

Сергій: «Я займаюся питанням прогнозування попиту та навантаження на платформу, щоби розуміти, скільки в майбутньому ми отримаємо ставок, і залежно від цього — як масштабувати нашу платформу, збільшувати її ресурси».

Як змінилася сфера data science за останні роки

Анна: «Коли я тільки починала, багато компаній хотіли мати data science відділ тільки тому, що це круто. Усім здавалося, що це статистична магія, яка мало кому під силу. Тоді багато писалося руками.

З 2016 року почали з’являтися бібліотеки, і зараз багато методів доступні через імпорт бібліотеки з дуже зручним інтерфейсом. Наголос — не на розробці нових статистичних моделей, а на тому, щоб ефективно скомбінувати наявні, швидко запрототипувати, досягти хорошої точності та викотити готове для використання рішення.

Компаніям важливо, який буде прибуток від data science відділу, коли він буде, що модель принесе бізнесу. Data science стає більш вимірюваним. Не просто fancy-фіча, а метод розв’язання задачі».

Андрій: «Data science стає складнішим із погляду розробки. Раніше, скажімо, коли ти робив модель, у тебе були різні версії даних, які ти зберігав у різні файли.

Зараз ти думаєш, що це потрібно автоматизувати, підключати додаткові тулзи. Багато практик розробки заходять у data science. Ти думаєш не лише про створення моделей, а і про те, як далі їх правильно розвивати та будувати».

Максим: «Раніше data scientist'и займалися лише моделями, і цього було достатньо. Зараз є очікування, що data scientist'и теж кодитимуть на рівні, близькому до інженерного. Розвивається ML Operations — напрям, пов’язаний з deploy та інфраструктурою. Стає все більше й більше інфраструктури, заточеної під ML-моделі.

Сергій: «За цією інженерною зрілістю data science поступово переглядає продуктову зрілість. Якщо раніше data science був цікавим, але маргінальним заняттям, яке бізнес тримав на периферії, то тепер data science дають змогу реально впливати на бізнес.

Але в Україні таких компаній досі небагато».

Максим: «Кілька років тому мені доводилося самому писати кастомні моделі та тренувати їх на даних. Усе залежало від того, є в компанії ці дані чи ні. Ми могли робити дуже складні моделі, але якщо їх не було на чому тренувати, це не мало сенсу. У результаті ми витрачали місяці на збирання даних.

Зараз простіше — можна використовувати готові моделі. Більшість із них уже натреновані, їх не потрібно заново навчати. Достатньо натренувати кілька останніх шарів на невеликому обсязі даних, доступному в компанії».

Які компетенції потрібні data scientist'у в Parimatch

Анна: «Все залежить від левела. Потрібно дуже добре розумітися на Python (на рівні розробки); розбиратися в машинному навчанні: у межах завдання комбінувати моделі так, щоб отримати нормальний результат, з огляду на специфіку даних. Також потрібно вміти працювати з базами даних та, бажано, вміти писати API. Це мінімум».

Сергій: «Дата-саєнтист має генерувати креативні ідеї та намагатися їх реалізувати, а також мати системне мислення, щоб уміти розкласти бізнесове завдання на послідовність кроків щодо його розв’язання».

Анна: «Наша специфіка в тому, що всі контриб’ютори є самостійними та незалежними. Тому потрібно вміти робити всі частини ML-пайплайну».

Андрій: «Все не обмежується розробкою моделі. Ми думаємо, як провести А/В-тест, і маємо аналізувати його результати. Важливо, щоби люди, яким потрібна ця модель, були максимально залученими в процесі. Бо тести показують плюси та мінуси, що пішло не так, що можна зробити інакше».

Анна: «A/B-тести — останній етап оцінювання якості моделі.

Дуже важливо знати, як оцінювати модель на різних етапах — на етапі навчання, на етапі, коли ми хочемо робити офлайн-метрику без A/B-тестів, але максимально наближену до того, як ця модель використовуватиметься, а потім — на етапі A/B-тесту».

Максим: «І для data scientist'а, і для розробника є важливими навички самопрезентації, бо ми маємо конкуренцію ідей.

Потрібно вміти чітко та структуровано презентувати свою ідею та обстояти її, аргументувати, чому варто вибрати цей підхід.

Кожен із нас займається своїм завданням, але водночас команда бере участь у рев’ю рішень і потрібно продати їй, що твоє рішення — правильне. А потім пояснити іншим командам, навіщо використовувати наш продукт».

Що робити початківцям data scientist'ам

Анна:

  • Вивчати розробку й паралельно — ML-стек: які моделі є, чому вони працюють так.
  • Якомога раніше почати практикуватися. Узяти датасет, крутити його, дивитись, як інші з ним працюють.
  • Запитувати себе, навіщо ви робите саме так, а не інакше.

Багато data scientist'ів-початківців думають, що data science — це створити хитру нейронну мережу. Найчастіше це не так.

Які ресурси радить команда Parimatch Tech

  • Платформа Kaggle, де люди викладають свої ноутбуки. Ви можете побачити, як інші розв’язують завдання.
  • Сервіси, де можна знайти собі ментора (наприклад, Telegram-бот @itkpi_mentor_bot).
  • Спільнота Open data science у Slack — там багато різних активностей і можна поспілкуватися на будь-яку тему, пов’язану з data science. У них також є свій YouTube-канал, де вони діляться лекціями та прикладами розв’язання завдань.
  • Блог та зустрічі української спільноти Data Science UA.
  • Київська Telegram-спільнота з Data Science. Тут можна поставити будь-які питання, що цікавлять. У чаті часто з’являються вакансії та анонси тематичних івентів.
Ще статті
Віктор Шитюк, Lead Data Engineer з 12 річним досвідом у IT сфері, про робочу рутину інженера даних, must-have інструменти та перспективи професії.