KyivSafety: дата-інженер створив карту, яка оцінює безпеку кожної київської адреси

Розробник Дмитро Шилкін запустив сервіс KyivSafety, який за історією влучань, маршрутами повітряних цілей та близькістю до об'єктів-цілей розраховує бал для конкретної адреси в Києві та показує найближчі укриття.
Дата-інженер і розробник Дмитро Шилкін створив інтерактивний сервіс KyivSafety, який оцінює безпекову статистику конкретної київської адреси. Ідея виникла, коли він задумався про переїзд і почав шукати дані, які допомогли б порівняти різні частини міста. За його словами, поштовхом стала низка публікацій на тему безпеки.
«У нинішніх реаліях питання безпеки стоїть доволі гостро. Я натрапив на кілька статей, зокрема на матеріал «Хмарочоса», і це надихнуло підійти до питання з більш data-driven сторони», — розповідає розробник.
Перший прототип він зібрав за вихідні — це була проста система без карти, яка порівнювала лише райони. Згодом з'явилася методика оцінювання окремих адрес, а ще близько двох місяців пішло на перевірку того, наскільки результати збігаються з незалежними джерелами.
Бал на карті — це перцентиль за шкалою від нуля до ста. Показник 80 не означає, що адреса безпечна на 80%: він свідчить, що за зібраними даними ця точка має кращу оцінку, ніж 80% опорних точок міста. Результат формують три рівнозначні складові — історія задокументованих влучань поблизу, частота згадок про прольоти ракет і дронів над цією місцевістю та відстань до найближчого стаціонарного об'єкта, який неодноразово атакували. Новіші події мають більшу вагу.
«Оскільки це середнє трьох компонентів, крайні значення 0 і 100 практично недосяжні: реальний діапазон по місту від 7 до 97,5. Щоб отримати нуль, точка мала б водночас мати найгіршу історію влучань у місті, лежати під найактивнішим коридором прольотів і стояти просто на об'єкті-цілі», — пояснює Дмитро.
Наявність укриття до балу не входить. Сервіс окремо показує, чи є в радіусі 300 метрів офіційне цілодобове сховище: оцінка адреси описує статистику місцевості, а укриття — можливість людини відреагувати на небезпеку.
Для історії влучань система спирається на таблиці «Обстріли Києва» в українській Вікіпедії та геолокації ресурсу GeoConfirmed — загалом близько 500 задокументованих ударів із координатами. Напрямки руху повітряних цілей беруть із моніторингових телеграм-каналів: станом на 10 вересня 2026 року опрацьовано близько 260 тисяч повідомлень, з яких вилучають дублікати.
«Очищення та класифікація забрали більше часу, ніж функціонал збору. Пости називають мікрорайони по-різному: у різних відмінках, скорочено чи розмовно. Тож потрібна була велика таблиця топонімів, яка б нормалізувала всі входження. Крім того, про одну подію (умовно, проліт над Троєщиною) можуть написати всі моніторингові канали, тому проводиться дедуплікація», — додає автор.
Оновлення відбувається щодня о 6 ранку. Перелік стаціонарних цілей не оновлюється автоматично, але автор може його доповнювати, якщо у відкритих джерелах з'являються підтвердження повторних атак на той самий об'єкт. Детальний опис джерел, формул і перевірок опубліковано на сторінці з методологією.
Найвищі оцінки отримали переважно околиці: там менше зафіксованих влучань, більша відстань до стаціонарних цілей або місцевість лежить поза маршрутами, про які найчастіше повідомляють моніторингові канали. Найнижчі — житлові території біля промислових та енергетичних об'єктів, які неодноразово атакувала Росія. Окремі адреси поблизу заводу «Маяк» отримали від семи до дев'яти балів. Печерськ на момент зрізу мав 62 бали — вище середини міського рейтингу. Автор застерігає, що показники можуть істотно відрізнятися навіть між сусідніми будинками, тому порівнювати варто місцевості, а не окремі вулиці.
Мовні моделі Дмитро застосовував під час написання коду, перевірки гіпотез та аудиту системи, але не для визначення місцевості за текстами каналів і не для виставлення оцінок. На вибірці зі ста вручну розмічених повідомлень таблиця топонімів із регулярними виразами дала стовідсоткову точність, тоді як мовна модель — 91,5%. Найбільшою проблемою ШІ була схильність вигадувати конкретну географію, коли в повідомленні йшлося про Київ загалом, тож для щоденної обробки залишили звичайний алгоритм — точніший, швидший і дешевший.
Систему перевіряли за даними Вікіпедії, GeoConfirmed і проєкту Bellingcat Civilian Harm. Окремий автоматичний тест стежить, чи правильно алгоритм визначає район і дату 14 добре задокументованих ударів, зокрема по «Охматдиту». Зміна ваг, радіусів і часових параметрів моделі на 50% зберігала кореляцію рейтингу не нижче 0,95 з базовим результатом.
Водночас в алгоритму є суттєві обмеження: не кожен удар отримує публічну геолокацію, у центральних районах може бути більше повідомлень через кількість очевидців, а згадка про проліт над місцевістю не означає, що ціль влучить саме там. Місцевості, які рідко називають моніторингові канали, можуть виглядати спокійнішими, ніж є насправді. До того ж модель спирається на минулі події, тоді як маршрути й тактика російських атак змінюються.
«Це історія й географія, а не прогноз. Тривоги в Києві загальноміські, балістика долітає за хвилини — жодна адреса не є безпечною. Бал розрізняє «частіше» і «рідше»», — наголошує Дмитро.
Тож високий бал KyivSafety не привід ігнорувати повітряну тривогу. Сервіс варто сприймати як дослідницький інструмент для порівняння зібраної статистики, а не як заміну правилам цивільного захисту. Надалі автор планує досліджувати київські передмістя, експериментує із супутниковими знімками Sentinel-2 і збирає оцінки користувачів, щоб порівняти особисте відчуття небезпеки зі статистикою. Розширити систему на інші міста складніше: докладні таблиці з координатами ударів, на яких тримається адресний рівень аналізу, наразі є лише для Києва та Харкова.
Читайте також
Ще в розділі «Безпека»
- Ранкова атака на Київщину: двоє поранених, пошкоджені будівлі у трьох районах
- В Ірпені через нічну атаку РФ у притулку для тварин-інвалідів загинули собаки
- Ранкова атака на Київщину: поранено двох людей, пошкоджено будинки та склади
- У Києві безпілотник упав на дорогу: є постраждалий
- Удар по стадіону «Чорноморець»: матч УПЛ перенесли





