Кейс · Витяг фінансової звітності

Звіти SEC, перетворені на таблиці автоматично.

Аналітикам, які порівнюють компанії, потрібні цифри в рядках і стовпцях. Документи, у яких ці цифри лежать, написані для читання, а не для парсингу. Ми побудували систему, яка закриває цей розрив, — із точністю витягу до 98% по всіх пʼяти типах звітів.

← Усі кейси

Контекст

Сервіс фінансової інформації з ручним кроком усередині.

Клієнт веде сервіс фінансової інформації: те, що він продає, — це дані зі звітів SEC, які він віддає своїм користувачам у структурованому, готовому для аналітика вигляді. Кожна модель, кожне порівняння, кожен скринінг цих користувачів стартує з показників, що лежать усередині документів 10-K і 10-Q.

Дістати ці показники — і був той ручний крок усередині сервісу. На виході мав бути не переказ звіту й не чат поверх нього, а сама звітність: повна, в узгодженій структурі й у тому табличному форматі, у якому вже жив аналіз їхніх користувачів.

Домен
Фінансові дані · звіти SEC
Документи
Звіти 10-K і 10-Q
Покриття
Усі пʼять типів звітів
Результат
Excel, узгоджена структура

Як це було

Виклик, рішення, результат.

Виклик

Цифри були замкнені в сотнях сторінок тексту.

10-K — це текстовий документ, у якому є таблиці. Фінансова звітність лежить десь посередині сотень сторінок, і кожна компанія оформлює її по-своєму: інший порядок розділів, інші назви для тієї самої статті, інша структура таблиць, виноски, які змінюють значення показника.

Тож робота лягала на людину: відкрити звіт, знайти в ньому звітність і перенести цифри в таблицю — звіт за звітом. Це повільно, це обмежувало швидкість самого сервісу, і кожен ручний крок — це шанс поставити число не в той рядок. Саме така помилка доживає аж до висновку користувача, бо правдоподібну цифру ніхто не передивляється.

Планку клієнт поставив свідомо незручну: витяг мав триматися на всіх пʼяти типах звітів, а не лише на звіті про прибутки та збитки. Інакше його користувачеві все одно доводиться відкривати документ — а отже, сервіс ручний крок не прибрав, а лише пересунув.

Рішення

Конвеєр витягу, побудований навколо змісту звітності.

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

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

Останній крок навмисно не ефектний. Результат приходить книгою Excel у тій структурі, у якій уже працюють користувачі клієнта, тож він вбудовується в наявні моделі, а не змушує когось переходити на новий інструмент. Усередині це Python із сервісом на FastAPI та шаром розбору PDF — але цікава інженерія тут у розпізнаванні звітності, а не в стеку.

Пʼять типів звітів, які покриває конвеєр

  • Звіт про прибутки та збитки
  • Баланс
  • Звіт про рух грошових коштів
  • Звіт про власний капітал
  • Звіт про сукупний дохід

Результат

До 98% точності витягу по всіх пʼяти типах звітів.

Точність вимірювали на звітах, перевірених вручну, і вона трималася на всіх пʼяти типах, а не лише на тому, який найлегше розібрати. Саме це й було головним: покриття без слабкого місця — бо слабке місце й повертає користувача назад у PDF.

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

Ми свідомо публікуємо цифру як «до 98%». Точність витягу залежить від вихідних документів, і нам краще назвати число, за яке ми відповімо на новому наборі звітів, ніж таке, що описує лише вдалий день.

Маєте тип документів, який команда досі переносить руками? Погляньмо на реальний зразок.

Покажіть на моїх даних

Результати

Що змінилося для людей, які роблять цю роботу.

Сенс проєкту був не в конвеєрі. Сенс у тому, що сервіс клієнта перестав робити руками, щойно цей конвеєр зʼявився.

Повне покриття звітності

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

До 98% точності, виміряної

Оцінка на звітах, перевірених вручну, а не приблизна. Це цифра того, що витяг зробив, а не того, на що ми сподівалися.

Узгоджена структура для різних емітентів

Звітність будь-якої компанії виходить в однаковому вигляді — саме це й робить можливим порівняння між звітами без окремого етапу чистки.

Результат в Excel, а не в новому інструменті

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

Помилки перенесення прибрані за дизайном

Кроку, на якому цифра потрапляє не в той рядок, більше немає. Суперечності й суми, що не сходяться, підсвічуються, а не експортуються тихо.

Повернений експертний час

Години, які раніше йшли на пошук і перенесення цифр, повертаються в сам сервіс, а не в роботу, яку може зробити конвеєр.

Чого ми не стверджуємо: обсягу оброблених документів. Ми не можемо підтвердити його з наявних у нас записів, тож на цій сторінці його немає — цифра точності це те, за що ми відповідаємо.

Де це працює так само

Фінансова звітність — лише один різновид дуже поширеної задачі.

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

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

Наша послуга AI-обробки документів →

Наступний крок

Погляньмо, як це виглядає на ваших документах.

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

Почати розмову

← Назад до всіх кейсів