Kuka on nopea, kuka ruuhkautuu? Valiokuntien käsittelyajat

Eduskunta jakaumana, osa 12: käsittelyaika jakaumana

Valiokunnat tekevät eduskunnan varsinaisen työn. Kuinka kauan asian käsittely kestää, ja miten se vaihtelee valiokunnittain ja aiheittain? Käsittelyaika ei ole yksi luku vaan jakauma.

eduskunta
avoin data
jakaumat
käsittelyaika
Author

Kristian Vepsäläinen

Published

17.9.2026

Uutiskoukku: kuinka kauan laki hautuu?

Kun hallituksen esitys tai aloite tulee eduskuntaan, sen käsittelee valiokunta. Osa menee nopeasti, osa hautuu kuukausia. Kuka on nopea, kuka ruuhkautuu — ja onko ero aiheessa vai valiokunnassa?

Näytä koodi
library(tidyverse); library(here); library(qs2); library(ggdist); library(scales)
select <- dplyr::select; filter <- dplyr::filter
set.seed(20270418)
pal <- c(punainen="#e63946", turkoosi="#2a9d8f", oranssi="#f4a261",
         laivasto="#1d3557", sininen="#457b9d")
theme_set(theme_minimal(base_size = 13) +
  theme(plot.title = element_text(face="bold"), panel.grid.minor = element_blank()))
DATA <- here("data", "eduskunta")
docs <- qs2::qd_read(file.path(DATA, "vaski_docs.qs"))

Käsittelyajan rakentaminen

ImportantVerifiointikohta — mietinnön päivämäärät

Käsittelyaika = mietinnön laadintapäivä miinus asian vireilletulopäivä. Molemmat ovat valiokuntamietinnön (VM/VP/VE) XML:ssä, mutta en ole vielä nähnyt mietinnön rakennetta. Vaski-prepissä on diagnostiikka (kohta B), joka näyttää LaadintaPvmTekstin ja vireilletulon. Aja se ja liitä tulos, niin kirjoitan kasittelyajat-poiminnan prepiin (valiokunta, aihe, alku- ja loppupvm).

Näytä koodi
# Kytketään, kun mietinnön pvm-rakenne on varmistettu (ks. prep, kohta B).
kasittely <- qs2::qd_read(file.path(DATA, "kasittelyajat.qs"))
# odotettu rakenne: valiokunta, aihe, vireille_pvm, mietinto_pvm
kasittely <- kasittely |>
  mutate(paivia = as.integer(mietinto_pvm - vireille_pvm)) |>
  filter(paivia >= 0, paivia < 1000)

Jakauma ensin

Käsittelyaika on vino: useimmat asiat käsitellään kohtuuajassa, mutta pitkä häntä venyy kauas. Keskiarvo pettäisi tässä pahasti.

Näytä koodi
ggplot(kasittely, aes(x = paivia)) +
  geom_histogram(bins = 50, fill = pal[["sininen"]], alpha = .9) +
  geom_vline(aes(xintercept = median(paivia)), color = pal[["punainen"]], linetype = "dashed") +
  labs(title = "Valiokuntakäsittelyn kesto — vino jakauma",
       subtitle = "Punainen: mediaani (keskiarvo olisi harhaanjohtava)",
       x = "Käsittelypäiviä", y = "Asioita")

Valiokunnittain

Näytä koodi
jarjestys <- kasittely |> group_by(valiokunta) |>
  summarise(med = median(paivia), n = n(), .groups = "drop") |>
  filter(n >= 20) |> arrange(med)

kasittely |> semi_join(jarjestys, by = "valiokunta") |>
  mutate(valiokunta = factor(valiokunta, levels = jarjestys$valiokunta)) |>
  ggplot(aes(x = paivia, y = valiokunta)) +
  stat_pointinterval(color = pal[["laivasto"]]) +
  labs(title = "Käsittelyaika valiokunnittain",
       subtitle = "Mediaani ja vaihteluväli — jakaumana, ei yhtenä lukuna",
       x = "Käsittelypäiviä", y = NULL)

Eroavatko valiokunnat merkitsevästi?

Vino, jatkuva muuttuja ja monta ryhmää → Kruskal–Wallis ja efektikokona epsilon-neliö. Jos ero on merkitsevä, katsomme parittaiset erot varovasti.

Näytä koodi
kw <- kruskal.test(paivia ~ factor(valiokunta), data = kasittely)
eps2 <- unname(kw$statistic) / (nrow(kasittely) - 1)
tibble(khi2 = round(unname(kw$statistic),1), df = unname(kw$parameter),
       p = signif(kw$p.value,3), epsilon2 = round(eps2,3))
NoteKäsittelyajan tulkinta vaatii varovaisuutta

Pitkä käsittelyaika ei tarkoita tehottomuutta — monimutkainen tai kiistanalainen asia kuuluukin käsitellä perusteellisesti. Käsittelyaika on siis kuvaava mittari, ei suoritusarvosana. Vertailussa on huomioitava asian tyyppi ja aihe.

Mitä tämä tarkoittaa päättäjälle

  • Käsittelyaika on jakauma. Mediaani ja häntä kertovat eri tarinan kuin keskiarvo — ja häntä on se, missä ruuhkat piilevät.
  • Nopeus ei ole hyvyys. Mittari kuvaa prosessia, ei sen laatua; tulkinta vaatii kontekstin.

TipTehdäänkö teidän datallenne sama?

Läpimenoaikojen ja prosessien pullonkaulojen analyysi jakaumina — asiakirjoista, tiketeistä tai tuotantovirroista. kristianvepsalainen.com

Datalähde: Eduskunnan avoin data, VaskiData (CC BY 4.0).