Suomalainen yrityskenttä jakaumana, osa 2: Rekisteröidyt ilmoitukset

Yritysten käyttäytymisen sormenjälki — mitä rekisterimerkinnät kertovat

avoin data
YTJ
EDA
R
Author

Kristian Vepsäläinen

Published

30.6.2026

Sarjan osa 2/20. Osassa 1 katsoimme, mitä yritykset ovat. Nyt katsomme, mitä ne tekevät: jokainen nimenmuutos, osoitteenvaihto, hallituksen kokoonpanon päivitys ja tilintarkastajan poisto jättää kaupparekisteriin merkinnän. Näistä merkinnöistä muodostuu yrityksen käyttäytymisen aikasarja.

Uutiskytkin: “yritysjärjestelyt kiihtyivät”

Kun talous heiluu, otsikoissa vilahtaa “yritysjärjestelyt kiihtyivät” tai “omistajanvaihdokset lisääntyivät.” Mutta mistä tämä tieto tulee, ja voiko sitä mitata reaaliaikaisesti? Voi. Rekisteröityjen ilmoitusten rajapinta sisältää jokaisen kaupparekisterimerkinnän 7.11.2014 alkaen — päivämäärän, kohteen ja merkintälajin tarkkuudella.

Tämä on aliarvostettu aineisto. Yritysten määrä on tila (stock); rekisterimerkinnät ovat virta (flow). Virta reagoi suhdanteisiin nopeammin kuin tila, ja juuri siksi se on osassa 11 perustana reaaliaikaiselle suhdannemittarille.

Datan rakenne

Haetaan merkinnät aikaväliltä. Jokaisella ilmoituksella on yksi tai useampi merkintälaji Nämä koodit ovat se sanasto, jolla yrityksen elämää voi lukea. Alla on niistä täydellinen taulukko sekä esimerkki datasta.

entry_code selite
TASE Tilinpäätösasiakirjat
HAL Hallitus
TILTAR Tilintarkastajat
ESR Tosiasialliset edunsaajat
TAL Toimiala
OSLUKU Osakkeiden lukumäärä
TMI Toiminimi
NORTIL Normaali tilikausi
OPO Osakepääoma
KOTI Kotipaikka
TOIM Toimitusjohtajat
POITIL Poikkeava tilikausi
Rows: 5,491,100
Columns: 10
$ business_id          <chr> "0100004-5", "0100004-5", "0100006-1", "0100006-1…
$ registration_date    <date> 2022-03-22, 2020-06-29, 2017-10-23, 2017-06-19, …
$ record_number        <chr> "2022/099066", "2020/524004", "2017/030339P", "20…
$ type_of_registration <chr> "M", "M", "END", "VA", "TA", "END", "TA", "FUU", …
$ n_entries            <int> 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1…
$ entry_codes          <list> "HAL", <"MUU", "YHMUU">, "LAKK", "KUUL", "TASE",…
$ vuosi                <dbl> 2022, 2020, 2017, 2017, 2021, 2021, 2021, 2021, 2…
$ kk                   <date> 2022-03-01, 2020-06-01, 2017-10-01, 2017-06-01, …
$ vko_num              <dbl> 2, 1, 1, 1, 3, 6, 5, 4, 5, 4, 4, 5, 4, 5, 6, 1, 4…
$ vko                  <fct> ti, ma, ma, ma, ke, la, pe, to, pe, to, to, pe, t…

Mitä virrasta paljastuu?

1. Merkintälajien jakauma: harvat lajit hallitsevat

2. Ilmoitukset per yritys on raskashäntäinen jakauma

Useimmat yritykset tekevät hyvin vähän merkintöjä. Pieni joukko tekee paljon. Tämä on klassinen ylihajonta-tilanne — ja sillä on väliä, koska merkintöjen tiheys on osassa 5 yksi voimakkaimmista riskisignaaleista.

per_yritys <- ilmoitukset |> count(business_id, name = “n_ilmoitusta”)

p_box <- ggplot(per_yritys, aes(y = n_ilmoitusta)) + geom_boxplot(fill = kvar_palette[[“blue”]], outlier.color = kvar_palette[[“red”]]) + scale_y_log10() + labs(title = “Ilmoituksia per yritys”, subtitle = “Logaritminen asteikko”, y = “Ilmoituksia (log10)”, x = NULL) + theme(axis.text.x = element_blank())

Sovitetaan jakauma: Poisson vs. negatiivinen binomi (ylihajonta?)

lambda <- mean(per_yritys\(n_ilmoitusta) varianssi <- var(per_yritys\)n_ilmoitusta) dispersio <- varianssi / lambda # > 1 => ylihajontaa

p_bar <- per_yritys |> count(n_ilmoitusta) |> filter(n_ilmoitusta <= 10) |> ggplot(aes(n_ilmoitusta, n)) + geom_col(fill = kvar_palette[[“teal”]]) + labs(title = “Jakauman muoto”, subtitle = sprintf(“Keskiarvo %.2f, varianssi %.2f → hajontasuhde %.1f”, lambda, varianssi, dispersio), x = “Ilmoituksia / yritys”, y = “Yrityksiä”)

p_box + p_bar

Päättäjälle. Hajontasuhde (varianssi / keskiarvo) on selvästi yli yhden. Käytännössä: yrityksen aktiivisuutta ei voi mallintaa pelkällä keskiarvolla, vaan tarvitaan jakauma, joka sallii “hiljaiset” ja “hyperaktiiviset” yritykset rinnakkain. Tähän palaamme mallinnusosissa.

3. Ilmoitusvirran kausivaihtelu

Eroaako viikonpäivien aktiivisuus sattumasta?

Yritysjärjestelyt eivät jakaudu tasaisesti viikonpäiville. Testataan, poikkeaako havaittu jakauma tasajakaumasta (mitä odottaisimme, jos päivällä ei olisi väliä). Oikea työkalu on khiin neliö -yhteensopivuustesti.


    Chi-squared test for given probabilities

data:  ark_tyo$n
X-squared = 157758, df = 4, p-value < 2.2e-16

Bayesilainen ajatuskoe: harvinainen merkintä

Jotkin merkintälajit ovat harvinaisia — esimerkiksi tilintarkastajan poisto. Kun tapahtuma on harvinainen, pisteluku (“X % yrityksistä”) on erityisen epävarma. Mallinnetaan osuus Beta-Binomi-mallilla ja näytetään, miten epävarmuus kapenee, kun havaintoja on enemmän.

Osakeyhtiöistä 0.0% (0 / 588,931) on jossain vaiheessa poistanut tilintarkastusvelvollisuuden.

Tämä merkintälaji ei ole sattumaa — se on osassa 7 oma analyysinsa, sillä tilintarkastajan poisto on tunnettu (mutta vähän hyödynnetty) ennakkomerkki taloudellisesta ahdingosta.

Yhteenveto ja seuraava osa

Rekisteröidyt ilmoitukset muuttavat yrityskentän staattisesta kuvasta eläväksi virraksi. Merkintälajien jakauma on pitkähäntäinen, ilmoitusten määrä per yritys on ylihajontainen, ja aktiivisuudella on selvä kausirakenne. Nämä eivät ole kuriositeetteja — ne ovat raaka-aine ennustemalleille.

Osassa 3 käsittelemme kolmannen rajapinnan: digitaaliset tilinpäätöstiedot. Sieltä saamme luvut — liikevaihdon, tuloksen, taseen — ja näemme, kuinka harva yritys ne todella avoimesti raportoi.


Haluatko nähdä, mitä oman toimialasi tai alueesi rekisterivirta kertoo? Rakennan avoimesta datasta päätöksiä tukevaa analytiikkaa. kristianvepsalainen.com