Sprievodné demo k príspevku #16 — The CFO & AI Series

Skript, ktorý vie, ako vyzerá bežný týždeň

Malý skript, ktorý skontroluje každú platbu voči histórii jej dodávateľa a vypíše tie, ktoré vyzerajú inak — aj s dôvodom, skôr než niekto schváli platobný beh.

Boris Dračka · október 2026 · Sprievodné demo

Toto je osobný, nekomerčný vedľajší projekt, ktorý som si pripravil na učenie — nie je to produkt ani služba.

Príspevok #16 tvrdil, že nezvyčajná platba vynikne len voči bežnej. Nižšie je malý prototyp, ktorý z vzorových dát postaví to „bežné" a skontroluje voči nemu jeden týždeň.

42
Skontrolovaných vzorových platieb
1
Označená na druhý pohľad
3,4×
Označená suma oproti obvyklej u dodávateľa

Skript nerozhoduje, či je platba v poriadku. Len zapíše na jedno miesto, čo za bežné považuje história každého dodávateľa, a ukáže, kde s tým tento týždeň nesúhlasí.

Vzorové dáta

Osemnásť vymyslených dodávateľov, deväť týždňov platieb a jeden týždeň na kontrolu. Pre každého dodávateľa skript postaví základňu z predchádzajúcich týždňov: obvyklú sumu a rozptyl, obvyklý deň v týždni a účty, ktoré používal.

  payments.csv — vzorové dáta, šesť z osemnástich dodávateľov
DodávateľObvyklá sumaObvyklý deňTento týždeňVýsledok
Raw Materials Supplier≈ 18 262Ut3 platbyV pásme
Freight Carrier≈ 2 853Št4 platbyV pásme
Maintenance Contractor≈ 4 214Ut2 platbyOznačená
Software Platform2 400 (pevná)Ut1 platbaV pásme
Courier Services≈ 415Št4 platbyV pásme
Insurance Broker5 200 (pevná)Št1 platbaV pásme

Ako to funguje

1
Načítanie platiebNačíta CSV s jedným riadkom na platbu: id, dátum, dodávateľ, suma, účet.
2
Základňa pre každého dodávateľaZ platieb pred kontrolovaným týždňom: medián sumy, robustný rozptyl, obvyklý deň v týždni, známe účty.
3
Kontrola týždňaKaždá platba sa porovná so základňou vlastného dodávateľa, nie s globálnym limitom.
4
Označenie a vysvetleniePlatbu označí suma mimo pásma, opakovaná suma alebo nový účet. Nezvyčajný deň v týždni sa zobrazí len ako kontext.
5
Výpis výsledkuVypíše každú označenú platbu s dôvodmi. Nič sa neblokuje, nezadržiava ani neodosiela.

Vyskúšajte si to

1 — Naklonujte repozitár

# ten istý osobný, nekomerčný repozitár ako pri predchádzajúcich demách v tejto sérii git clone https://github.com/LuliBobo/cfo-agents.git cd cfo-agents

2 — Pridajte vlastné platby (voliteľné)

id,date,supplier,amount,account P0004,2026-08-04,Packaging Supplier,6581,ACC-PAC1 P0349,2026-10-02,Maintenance Contractor,14400,ACC-MAI2 # ...pridajte toľko riadkov, koľko máte platieb; nechajte pár týždňov histórie pred kontrolovaným týždňom

3 — Spustite skript

python anomaly_watch_agent.py data/payments.csv

4 — Prečítajte si výstup

================================================================ Anomaly Watch Agent — Unusual Payment Check ================================================================ [Step 1] Loaded 378 payment(s) from CSV [Step 2] Built a baseline per supplier from 336 payment(s) before 2026-09-28 [Step 3] Checking 42 payment(s) in the week of 2026-09-28 against each supplier's own history P0349 2026-10-02 Fri Maintenance Contractor 14,400 ⚠ amount 3.4x usual (4,214 +/- 261) · new account for this supplier · usual day Tue [Step 4] 1 of 42 payment(s) flagged [Step 5] Nothing is blocked or sent — a person looks at each flag

5 — Zmeňte toleranciu

# úzke pásmo, len kontrola sumy python anomaly_watch_agent.py data/payments.csv --tolerance 1.5 --signals amount [Step 4] 9 of 42 payment(s) flagged # veľmi voľné pásmo, len kontrola sumy python anomaly_watch_agent.py data/payments.csv --tolerance 60 --signals amount [Step 4] 0 of 42 payment(s) flagged

Z čoho je vyrobený

Zdroj dát

Obyčajné CSV s platbami — žiadne prepojenie na banku ani ERP, nič nad rámec vzorových dát.

Výpočet

Bežný Python bez externých knižníc — medián, robustný rozptyl a tri kontroly.

Nastaviteľné

Tolerancia, okno opakovania a použité signály sú parametre príkazového riadku, nie pevne zadané hodnoty.

Len na čítanie

Skript iba číta a reportuje. Nezadrží, neblokuje ani neodošle ani jednu platbu a nenahrádza kontroly, ktoré organizácia už má.

Čo je v repozitári

Ten istý osobný, nekomerčný repozitár ako pri predchádzajúcich demách v tejto sérii:

Zobraziť na GitHub Späť na príspevok #16

Sledujte sériu

Príspevok #17 sa pozrie na iné slepé miesto: maržu na jednom produkte alebo zákazníkovi a ako sa môže prepadnúť do mínusu, bez toho, aby si to niekto všimol v mesačnom priemere.

Odoberať zadarmo
Žiadny spam. Jeden príspevok týždenne. Odhlásenie kedykoľvek.