Chyba, kterou najde teprve auditor
Tabulka s tisícem řádků vypadá v pořádku. Součty sedí, formát je stejný, nic nebliká červeně. A přesto je někde uprostřed faktura zaúčtovaná dvakrát, cena s posunutou desetinnou čárkou nebo dodavatel, který najednou fakturuje za jinak strukturované položky.
Podobné chyby se ručně hledají špatně, protože se ztrácí mezi tisíci správnými řádky a lidské oko po chvíli přestává vidět rozdíly. Objeví se, až když je pozdě, obvykle při auditu nebo při reklamaci.
Tohle je úloha, kde model pomáhá tím, co umí dobře: porovnávat velký objem dat mezi sebou a upozornit na to, co se od většiny liší.
Kde se anomálie hledají nejčastěji
Nejde jen o účetnictví. Stejný princip funguje u skladových pohybů, kde se hledá výdej mimo obvyklé množství nebo produkt, který se objeví na skladě, aniž by k němu existoval příjem. Funguje u docházky, kde se hledá směna zapsaná dvakrát nebo odpracovaná doba mimo rozumné rozmezí. A funguje u mzdové agendy, kde odchylka od minulého měsíce u konkrétního zaměstnance bez zjevného důvodu bývá první signál, že se něco přehlédlo už dřív ve vstupních podkladech.
Ve všech těchto případech je společný jmenovatel stejný: velký počet strukturovaných řádků, mezi kterými se dá vzorec spočítat, a chyba, kterou lidské oko po padesátém řádku přestává vnímat.
Platí to i obráceně: čím rozmanitější a méně strukturovaná data jsou, tím hůř se v nich vzorec hledá, ať už člověku, nebo modelu. Tabulka, kde se sloupce mění podle toho, kdo ji zrovna vyplňoval, patří spíš k případům, kde se nejdřív musí sjednotit struktura, teprve pak dává hledání anomálií smysl.
Co model umí
- upozornit na hodnotu, která je řádově jiná než ostatní v podobné kategorii
- najít duplicitní záznamy, které se liší jen v drobnosti, třeba o den v datu
- upozornit na chybějící údaj tam, kde ho mají všechny ostatní řádky
- seřadit nalezené odchylky podle toho, jak moc se liší od typického vzorce
Co model neumí a nesmí
- rozhodnout, jestli je odchylka chyba, nebo legitimní výjimka
- znát kontext, který zná jen člověk, například že konkrétní zákazník objednává jednou ročně velké množství
- opravit záznam sám, ani když si je jistý, co je správně
- zaručit, že žádná chyba neprošla bez povšimnutí
Poslední bod je důležitý. Model najde hodně, ale „hodně“ není totéž co „všechno“. Kontrola pomocí modelu snižuje počet chyb, které projdou, nenuluje ho.
Pevná pravidla jako první síto
Než se nasadí model, vyplatí se mít jednoduchá pravidla, která nic neodhadují, jen počítají:
- Kontrolní součet. U faktur základ daně plus daň se musí rovnat celkové částce. Podobný princip jsme popsali u vytěžování faktur.
- Povinná pole. Řádek bez čísla dokladu nebo bez data jde stranou automaticky.
- Rozsah očekávaných hodnot. Cena mimo běžné rozpětí pro danou kategorii zboží se označí k ruční kontrole.
Tahle pravidla odchytí velkou část chyb bez jakékoli umělé inteligence. Model přichází na řadu až u toho, co pevná pravidla nezachytí, protože to vypadá formálně správně, ale neodpovídá vzorci.
Rozdíl mezi oběma přístupy je v jistotě. Pevné pravidlo buď platí, nebo ne, a nikdy se nezmýlí kvůli nejasné formulaci. Model pracuje s pravděpodobností: řekne, že řádek vypadá jinak než ostatní, ne že je s jistotou špatně. Právě proto je jeho výstup vždy jen podnět k ruční kontrole, ne konečné rozhodnutí.
Jak si o to říct
Zadání pro model, které se dá používat opakovaně:
V přiložené tabulce najdi řádky, které se výrazně odchylují od typického vzorce ostatních řádků ve stejné kategorii: neobvykle vysoká nebo nízká hodnota, chybějící údaj, možná duplicita. U každého napiš, v čem je odchylka a s čím ji porovnáváš. Neopravuj nic, jen označ k ruční kontrole. Seřaď podle velikosti odchylky.
Věta „neopravuj nic“ je tu záměrně. U kontroly dat je hlavní riziko přesně tohle: model si je jistý, co je správná hodnota, a potichu ji dosadí, aniž by o tom někdo věděl.
Kdo dělá co
| Krok | Kdo |
|---|---|
| Kontrola podle pevných pravidel | Pravidlo, automaticky |
| Hledání odchylek mimo pevná pravidla | Model |
| Posouzení, jestli je odchylka chyba | Člověk |
| Oprava záznamu | Člověk |
Tahle tabulka ukazuje i to, co se ve firmě skutečně mění. Ubývá ruční procházení řádek po řádku, přibývá posuzování toho, co model označil. Je to jiná práce, ne žádná práce, jak jsme popsali v článku o tom, nahradí AI zaměstnance.
Kde to selže
Legitimní výjimky bez kontextu. Sezonní špička nebo mimořádná objednávka vypadají jako anomálie, aniž by jimi byly. Bez informace o kontextu je model označí stejně jako skutečnou chybu.
Nejednotná struktura dat. Tabulka, kde se sloupce mění řádek od řádku, znesnadňuje porovnání vzorců a zvyšuje počet falešných i přehlédnutých případů.
Přílišná důvěra v jedno kolo kontroly. Model najde první vlnu odchylek. Po opravě dat je vhodné kontrolu zopakovat, protože se mohl objevit nový typ chyby, který první průchod nezachytil.
Malý objem dat. U pár desítek řádků je rychlejší a spolehlivější provést kontrolu očima, model tam přidává spíš složitost než užitek.
Jak často kontrolu spouštět
U měsíční uzávěrky dává smysl spouštět kontrolu jako pravidelný krok těsně před uzavřením období, ne až po něm. Chyba odhalená před uzávěrkou se opraví běžným postupem. Chyba odhalená po uzávěrce znamená dodatečné úpravy a vysvětlování, proč se čísla mění zpětně.
U dat, která se mění průběžně, jako jsou skladové pohyby, se vyplatí kratší interval, třeba týdenní, protože se anomálie kupí rychleji a hůř se dodatečně dohledává, kdy přesně vznikla.
Firmy, které kontrolu spustí jen jednou ročně před auditem, obvykle najdou víc odchylek najednou, než dokážou v rozumném čase posoudit. Pravidelnější, i když kratší kontrola rozloží tuhle práci do menších a zvládnutelných dávek.
Kdy jde o víc než o chybu v přepisu
Ne každá anomálie je jen překlep. Cena, která se neshoduje s tím, co má dodavatel v systému zapsané jindy, nebo číslo bankovního účtu, které se u stejného dodavatele najednou liší, může znamenat pokus o podvod, ne jen chybu. Model v takovém případě upozornění vygeneruje stejně jako u běžné odchylky, ale rozpoznat, že jde o tenhle konkrétní typ rizika, a rozhodnout o dalším postupu, je vždy na člověku.
Proto se vyplatí u finančních dat zvlášť zdůraznit v zadání, ať model odchylky u platebních údajů, jako je číslo účtu nebo variabilní symbol, označí vždy s vyšší prioritou než odchylku v běžné položkové ceně. Obojí je anomálie, ale důsledek špatné platby na cizí účet je nesrovnatelně závažnější než překlep v ceně jedné položky.
Jak to zavést
- Zaveďte pevná pravidla tam, kde jsou jednoznačná. Kontrolní součty a povinná pole odchytí většinu chyb bez modelu.
- Nechte model hledat odchylky, které pravidla nezachytí. Zadejte mu, ať jen označuje, neopravuje.
- Určete, kdo označené řádky posuzuje. Ne oddělení, konkrétní člověk s odpovědností.
- Sledujte, kolik označení bylo skutečná chyba a kolik legitimní výjimka. Poměr vám řekne, jestli má nastavení smysl, nebo jestli je moc citlivé.
- Zvolte interval kontroly podle povahy dat. Účetní uzávěrka jednou měsíčně, sklad podle toho, jak rychle se pohyby mění.
Kde v tom stojíme my
Analytické nástroje ani audit dat neprodáváme. V padesátihodinovém kurzu AI pro zaměstnance učíme lidi rozeznat, kde stačí pevné pravidlo a kde se vyplatí model, a jak nastavit zadání tak, aby jen upozorňoval, ne rozhodoval za ně.
Kolik z ceny kurzu při schválené žádosti pokryje program Úřadu práce, spočítáme písemně dopředu.
Časté dotazy
- Umí AI najít chybu v datech sama?
- Umí upozornit na řádky, které se odchylují od vzorce ostatních dat: neobvykle vysoká nebo nízká hodnota, chybějící údaj, duplicitní záznam. Neumí s jistotou říct, jestli je odchylka chyba nebo legitimní výjimka. To rozhoduje člověk, který zná kontext, třeba že šlo o mimořádně velkou objednávku.
- Jak se liší kontrola dat pomocí AI od pevných pravidel?
- Pevné pravidlo, třeba že základ daně plus daň se musí rovnat celkové částce, je jednoznačné a nikdy nezklame. Model navíc umí upozornit i na vzorce, na které by se pravidlo předem nenapsalo, třeba že dodavatel najednou fakturuje výrazně jinak než obvykle. Nejlepší kontrola kombinuje obojí, pevná pravidla jako první síto a model na to, co jimi propadne.
- Může model označit správný záznam jako chybu?
- Ano, a stává se to hlavně u legitimních výjimek: sezonní špička, jednorázová velká objednávka, změna dodavatele. Model neví, proč je hodnota jiná, jen že je jiná než obvykle. Proto má upozornění dostat člověk, který kontext zná, ne automaticky opravit záznam za něj.
- Jaká data se k tomu hodí nejlíp?
- Strukturovaná data v tabulce se stejnými sloupci u každého řádku: faktury, výkazy, skladové pohyby. Čím jednotnější struktura, tím snáz model pozná, co je odchylka. Nestrukturovaný text nebo tabulka s proměnlivým formátem řádek od řádku dělá potíže.
- Kolik dat je potřeba, aby to mělo smysl?
- Smysl to dává tam, kde je dat tolik, že je člověk nestihne projít všechny ručně, obvykle stovky až tisíce řádků měsíčně. U desítek řádků je rychlejší projít je očima. Model se vyplatí jako první síto u objemu, ne jako náhrada za pozornost.