Case study
Z Excelu na web a zase zpátky.
Výchozí stav
Nejlepší hypoteční srovnávač na českém trhu žil v Excelu. Desítky listů, přes 2 500 vzorců, přes 5 200 konstant a rozhraní ve VBA. Týden co týden ho aktualizoval jeden expert, který není programátor, protože banky mění produkty. Klient chtěl webovou aplikaci, ale nechtěl přijít o možnost logiku dál editovat sám.
Co jsme zvažovali
- Přepsat vzorce do Pythonu. Čisté, ale expert by o Excel přišel.
- Ovládat Excel vzdáleně přes Google Sheets nebo Office 365 API. Jednoduchý výpočet trval 0,6 až 1,8 s. Příliš pomalé.
- Ovládat Excel lokálně z Pythonu. Křehké a špatně škálovatelné.
Co jsme udělali
Excel zůstal zdrojem pravdy. Open-source knihovna Koala parsuje vzorce do stromu závislostí a přepočítává jen to, co se změnilo. Doplnili jsme chybějící excelové funkce a přepočet na serveru trvá 20 ms. Shodu s originálem ověřilo 20 000 scénářů vygenerovaných přímo v Excelu.
Prototyp vznikl za pět nocí, MVP za pár měsíců. Pak reporty, SSO, provoz pro více společností, napojení na CRM a kontroly proti bankovním kalkulačkám. Stovky požadavků za minutu ze srovnejto.cz zvládá pool předpočítaných instancí na Docker Swarmu.
Výsledek
Aplikace roku FINfest 2021. Šest let vývoje, přibližně 7 800 commitů. Expert dál edituje logiku v Excelu a web ji přebírá.
Co si odnášíme
- Zásadní architektonické rozhodnutí prototypovat a změřit, ne odhadnout.
- Excel je výborný na parametry a jejich vztahy. Není třeba ho za každou cenu nahrazovat.
- Testy proti referenčním datům ukázaly každou odchylku dřív než uživatel.
„The company owner always made sure that the project was running smoothly.“

Další krok
Řešíte něco podobného?
Inženýr odpoví do dne. Do týdne máte poctivý pohled na rozsah, riziko a cenu.