Hlavní navigace

Kterak se ministerstvu spravedlnosti nepodařilo otevřít obchodní rejstřík

26. 7. 2022
Doba čtení: 7 minut

Sdílet

 Autor: Depositphotos
Ministerstvo spravedlnosti zveřejnilo otevřená data, která nesplňují zákonnou definici otevřených dat a výrazně ztěžují zpracování. Na výzvy k nápravě nereaguje.

Údaje z Obchodního rejstříku a přidružených databází patří mezi ta nejcennější data, které nám stát nabízí. Jsou totiž klíčová k pochopení vlastnických vazeb, což je zapotřebí pro obohacení jiných, zejména transakčních dat. Máme-li totiž data o dotacích, zakázkách či pobídkách, vidíme zpravidla jen koncové příjemce, ale pro potřebu veřejné kontroly je často užitečné vidět celou vlastnickou strukturu, propojení s jinými firmami a osobami a další skutečnosti, které nejsou na první pohled evidentní. K tomu všemu nám slouží data z veřejných rejstříků a dnes se podíváme na nejnovější vývoj v této oblasti.

Otevírání obchodního rejstříku jsme se věnovali před lety, kdy Ministerstvo financí zveřejnilo dávkové exporty ze svého systému ARES (Administrativní rejstřík ekonomických subjektů). Data tehdy sice byla jednoduše zpracovatelná, byla ale neúplná, klíčové údaje z nich byly vyňaty, a k aktualizaci nedocházelo příliš často. 

Nedlouho po publikaci přišlo Ministerstvo spravedlnosti s vlastním řešením, kdy zveřejnilo data ze systému ISVR (Informační systém veřejných rejstříků). Mělo by tedy jít o stejné informace a strukturu, na jakou jsme zvyklí z webu Justice.cz. Osobně jsem z tohoto vývoje byl nadšen, protože bych preferoval konec systému ARES a aby si jednotliví vlastníci řešili publikaci dat sami a ve vyšší kvalitě a rozsahu. Ostatně této situaci se blížíme, jeden z dalších relevantních datasetů, RES (Registr ekonomických subjektů), v loňském roce otevřel Český statistický úřad.

Pojďme se ale podívat, jak v praxi vypadají data Ministerstva spravedlnosti. Ale ještě než vůbec stáhneme první soubor, je třeba vypíchnout, že zveřejněná data nesplňují zákonnou definici otevřených dat, jelikož je jejich užití omezeno jen na nekomerční a nejsou zaneseny do Národního katalogu otevřených dat.

Zaplaven daty

Na dedikovaném webu najdeme sadu filtrů, která nám umožňuje vybrat si konkrétní právní formy zapsané jednotlivými rejstříkovými soudy. Zatímco export z ARES je poskytován jako jeden soubor (byť je to milion souborů v jednom archivu), Ministerstvo spravedlnosti nám nabízí přes osm tisíc (!) souborů ke stažení. Pro získání úplné databáze tak musíme využít aplikační rozhraní (API), protože ani samotné získání relevantního seznamu souborů ke stažení nejde komfortně udělat z webového rozhraní.

Jedním z důvodů tohoto vysokého počtu souborů je fakt, že dochází k extrémní duplikaci údajů. Zatímco webové rozhraní pro nahlížení do Obchodního rejstříku nabízí dvě logické volby – aktuální výpis (tj. vše nyní platné) a úplný výpis (tj. s celou historií, včetně neaktuálních údajů) – zveřejněná data jdou o nelogický krok dále – nabízí aktuální a úplné výpisy pro každý rok zvlášť. Takový způsob exportu nedává žádný smysl, jen extrémně navyšuje objem nabízených dat. Úplný výpis dat k roku 2005 je zbytečný, protože ta stejná data jsou v úplném výpisu pro rok 2022. Stejně tak aktuální výpis pro libovolný rok v historii jde rekonstruovat z úplného výpisu.

Jakkoliv jsem doufal, že mohu stará data ignorovat, realita je bohužel jiná, k tomu se ještě dostaneme.

Nekvalitní formáty

Ministerstvo se snažilo jít uživatelům vstříc a nabídlo vícero formátů, což jsem samozřejmě uvítal. Standardní XML bylo doplněno o (mnou preferované) CSV, ale bohužel se ukázalo, že tyto tabulkové výstupy jsou úplně k ničemu. 

Soubory sice dodržují formát CSV, ale tím to končí. Místo běžného rozdělení dat na jednotlivé tabulky propojené přes identifikátory se dodavatel rozhodl vměstnat všechna strukturovaná data do jednoho sloupce. Co víc, použil při tom nějakou vlastní serializační metodu, nejde o žádný obecně přijímaný (natož definovaný) formát. 

Pokud si tedy každý uživatel nenapíše vlastní parser pro tento formát, jsou pro něj tato data naprosto nepoužitelná. CSV si tedy můžeme škrtnout, tento export nikdo nikdy nebude používat.

Autor: Ondřej Kokeš

U XML je situace o poznání lepší. Jde o celkem kompaktní reprezentaci dat, jednotlivé údaje jsou relativně snadno dohledatelné. Hlavním neduhem je zde však absence konkrétního XSD schématu (klíčový element s daty je definován jakožto naprosto obecný kontejner, může v něm být cokoliv), která v kombinaci se silně neaktuální dokumentací hází pod nohy analytiků všechny možné klacky.

<xs:complexType name="HodnotaUdaje">

  <xs:sequence maxOccurs="unbounded">

    <xs:any processContents="lax" minOccurs="0"/>

  </xs:sequence>

</xs:complexType>

Bez jasného schématu a s dokumentací neaktualizovanou od dne vzniku těchto dat je nutné detekovat strukturu dat, validovat očekávané datové typy a obecně být obezřetný. Když pak dojde k dodání nových dat, člověk musí v kódu tuto skutečnost sám odhalit. 

Přesně toto se stalo s Evidencí skutečných majitelů, která byla do dat dodána v loňském roce, ale v XSD schématu se nic nového neobjevilo (ani nemohlo), dokumentace je stále z roku 2019 a seznam změn nikde publikován není. Bylo tak dílem náhody, že jsme se o existenci těchto dat dověděli.

Neúplné exporty

Při existenci tisíců souborů ke stažení mě ani nenapadlo, že by něco mohlo chybět, ostatně samo ministerstvo v tiskové zprávě oznamovalo, že data jsou v plném rozsahu. I v tomto případě jsem narazil na realitu.

Zatímco nabízené exporty pro jednotlivé právní formy se ukazují být kompletní, na webu ministerstva není celá řada právních forem. Chybí tak obce (6000+ subjektů), církevní právnické osoby (4000+), obecně prospěšné společnosti (2800), dobrovolné svazky obcí (700+), politické strany a hnutí (300+), organizační složky státu (280), komory, státní podniky, církve a spousta dalších.

Zatímco všechny předešlé problémy šlo nějak vyřešit, tady narážíme na neřešitelnou situaci. Chceme-li kompletní výpis z veřejných rejstříků, od Ministerstva spravedlnosti jej nedostaneme. Na webu je jen omezený výčet právních forem a i přes opakované otázky a výzvy nedošlo k doplnění (či jakékoliv komunikaci naším směrem). Na ministerském webu však všechna tato data – formou nahlížení – dostupná jsou.

Další neúplnost spočívá v tom, že nejnovější exporty s historickými údaji neobsahují zaniklé subjekty. Ty jsou uvedeny jen v exportech pro ty roky, kdy tyto subjekty existovaly. Pokud tedy chci databázi všech firem, existujících i zaniklých, musím stáhnout všechna historická data a prohledat je. Jak to v praxi vypadá, si nyní ukážeme.

Analýza dat v praxi

Aby člověk mohl začít data zpracovávat, musí vědět vše výše sepsané. Jelikož to jsou nedokumentované skutečnosti, musí si tím každý projít, nebo si přečíst článek, jako je tento.

V první fází je třeba kontaktovat (dokumentované) API, kde získá seznam souborů ke stažení. Z těchto vyfiltruje komprimované XML soubory (žádné jiné nedávají smysl) a seřadí je podle roku sestupně. To dělá zhruba 2100 souborů, cca 240 GB dat, naštěstí díky kompresi jen 15 gigabajtů ke stažení.

Nyní je třeba iterovat rok po roku a zpracovávat jednotlivé firmy. Jakmile narazíme na firmu, kterou již máme zpracovanou (z novějšího roku), přeskočíme ji. Pro všechny neaktuální roky tedy zahazujeme téměř všechna data a hledáme jen ty firmy, které v daný rok zanikly (pro představu jde o 5–15 tisíc subjektů na zhruba 800 tisíc nezaniklých).

Při zpracovávání jednotlivé firmy musíme znát strukturu daného XML elementu. Jelikož nemáme k ruce detailní XSD, musíme si schéma osvojit sami. Dokumentace v PDF trochu pomůže, byť není strojově zpracovatelná a některé klíčové datasety tam chybí (jak jsme si výše popsali u Evidence skutečných majitelů).

Autor: Ondřej Kokeš

Pro potřeby standardní analýzy předpokládejme, že XML exporty budeme konvertovat do běžné tabulární struktury ve formátu CSV a později je i nahrajeme do relační databáze. Z 240 gigabajtů XML dat se dostaneme na 3–4 GB v CSV, jde tedy o více než padesátinásobné snížení objemu. 

I kdybychom zachovali originální formát XML, místo 240 GB by stačilo cca 20 GB. Přes devadesát procent (resp. více než 99 %, když započítáme i nesmyslné CSV, nekomprimované soubory atd.) dat tak na webu ministerstva visí zbytečně, my je ale i tak musíme zpracovat.

Přešlapujeme na místě

Z výše uvedeného postupu je snad jasné, že pro běžnou analytickou činnost jsou zveřejněná data ministerstva spravedlnosti naprosto nepoužitelná. Nejenže jsou extrémně náročná na zpracování, ale ani poté nejsou kompletní. To ostatně konstatuje Transparency International: „Dostat se tak pouze k datům o skutečných majitelích je uživatelsky prakticky nemožné.“ Pro subjekty, které se snaží vykonávat veřejný dohled, je to velký problém.

Nejde jen o kontrolu Evidence skutečných majitelů, ale i o celkem běžný náhled do databáze angažovaných osob (společníci, jednatelé, akcionáři…). Když na konci března Deník N zjistil, že ministr Gazdík má podíl ve firmě, kterého se dle zákona o střetu zájmů měl zbavit k půlce ledna, bylo pro mě nepochopitelné, že se to provalilo až takto pozdě. 

Podobně bylo celkem náročné sestavit sankční seznamy po ruské invazi na Ukrajinu, stát si přizval soukromé subjekty, aby mu s tím pomohly. Kdyby veřejné rejstříky byly analyticky přístupnější, tyto databáze se stanou běžnou součástí analytické práce v médiích nebo watchdogových organizacích.

BRAND24

Mnohé skutečnosti z tohoto článku jsem sdílel s ministerstvem již v době vzniku tohoto katalogu. Většinu připomínek nebral dodavatel v potaz, podařilo se alespoň prosadit kompresi dat, takže člověk již nemusí stahovat čtvrt terabajtu dat. 

Beru to jako malou, ale ve světle ostatní skutečnosti docela bezvýznamnou výhru. V posledních měsících se snažím prosadit úplný export dat – tedy zveřejnění chybějících právních forem – ale ministerstvo přestalo reagovat na jakoukoliv korespondenci. Neoptimální stav dat tak přetrvává.

Byl pro vás článek přínosný?

Autor článku

Autor je datový inženýr, dříve analytik a ekonom. Nadšenec do otevřených dat, moderních databázových systémů a pořadů Jaromíra Soukupa. Najdete jej na githubu.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).