Сьогодні розповімо про роботу команди Abto Software над інтерактивною моделлю прийняття рішень для американської корпорації, лідера США в області стратегії та інформування про прийняття рішень у режимі реального часу на основі платформи ALM (керування життєвим циклом програм).
Про проєкт
Замовник надає послуги фінансового консалтингу місцевим кредитним спілкам: допомагає клієнтам оцінити власний фінансовий стан, знайти слабкі місця їхнього бізнесу та радить відповідні стратегії оптимізації внутрішніх процесів й збільшення прибутку. Серед основних послуг компанії — збір та аналіз даних, створення бізнес-звітів та консультування з використанням методик поглибленого моделювання й прогнозування.
До початку співпраці з Abto Software корпорація використовувала програму, створену та впроваджену ще в 90-х роках. Вона дозволяла оцінювати та аналізувати фінансові дані, створювати бізнес-звіти та прогнози, однак була застарілою та незручною. Наші спеціалісти запропонували рішення, яке дозволило спростити та пришвидшити роботу всієї системи.
Робота над проєктом триває від лютого 2018 року до сьогодні. Над розробкою працює команда із РМ та двох розробників.
Як працює програма
Інтерактивна модель прийняття рішень — це розширена система фінансового моделювання, що дозволяє швидко зібрати інформацію для точної оцінки фінансового стану будь-якої компанії чи корпорації.
Програма допомагає проаналізувати дані, абстрактні сценарії, звіти й прогнози, а також оцінити змінні параметри та стан світових фінансових ринків. Це дозволяє передбачити різні сценарії розвитку ринків та ставок за кредитами, включно із державними ставками, LIBOR та іншими. Працюючи із програмою, аналітики мають можливість робити як короткострокові прогнози (до 3 місяців), так і довгострокові (до 10 років).
Дані інтерактивної моделі прийняття рішень можна використовувати для:
- Візуалізації та впровадження підходу «What if»;
- Аналізу ліквідності;
- Стратегічного фінансового планування;
- Визначення цільової фінансової структури;
- Аналізу ринку злиття;
- Передбачення поведінки депозитів без визначеного строку погашення та аналізу цін;
- Аналізу швидкості дострокового погашення кредиту;
- Огляду припущень та документального обґрунтування;
- Бектестінгу;
- Огляду та розробки політики ризику банківської концентрації;
- Моделювання поточних очікуваних кредитних збитків (CECL);
- тощо.
Завдання та труднощі
Основною метою цього проєкту було створення нових функцій для інтерактивної моделі прийняття рішень.
Головним завданням загальної співпраці із замовником була розробка кількох додатків (у тому числі й рішення для моделювання).
Ключовим викликом стало оновлення та оптимізація старого коду. Він виявився дуже заплутаним, що призводило великої кількості помилок при роботі з програмою.
При роботі над проєктом команда Abto Software зосередилася на двох основних напрямках:
1. Покращення старого коду
Щоб зберегти наявні можливості та покращити роботу програми, ми оптимізували та провели рефракторинг коду, а також провели глобальну роботу із налагодження програми. Лише після цього почали створювати новий функціонал.
Таким чином, перш ніж додавати нові функції, ми переконалися, що програмне забезпечення підтримується, масштабується та не містить помилок. Це підвищило якість самого продукту та полегшило створення додаткових функцій в оригінальному коді.
2. Впровадження нового функціоналу
Для того, щоб компанія замовника могла ефективно конкурувати на ринку та надавати користувачам якісні, швидкі та безпечні послуги, ми додали такі функції до інтерактивної моделі прийняття рішень:
- Швидкий доступ;
- Імпорт даних;
- Стиснення файлів;
- Дозволи для користувачів;
- Розширена аналітика та звітність;
- Експорт звіту.
Інструменти та технології
При роботі над проєктом наша команда використала наступні інструменти.
Стек технологій:
- С++
- Visual Basic
- MFC (Microsoft Foundation Classes)
- WPF (Windows Presentation Foundation)
- OLE
- .NET
Бібліотеки:
- Rogue Wave Stingray
- Telerik UI for WPF
- Chilkat
- Cerial
Результат
Результатом роботи команди Abto Software стало:
- Оновлення провідних функцій моделі прийняття рішень
Можливість імпортувати дані та створювати звіти покращило user experience при використанні продукту. Це дало можливість ефективно конкурувати на ринку та зробило використання системи зручнішим для поточних клієнтів.
- Підвищення ефективності
Рефакторинг, оптимізація, модернізація та налагодження застарілого коду підвищили продуктивність моделі прийняття рішень та зробили її результати точнішими.
- Стабілізація системи
Рефакторований код забезпечив покращену стабільність роботи всієї системи.