D + E: Analyse der Verausgabung durch Regressionen / Ergebnisse

Code
source(here::here("R", "prep.R"))
library(stringr)
library(broom)
library(marginaleffects)
library(modelsummary)
library(gt)

D.1. Einleitung

Kapitel 4 der Studie „Der Digitalhaushalt 2025“ (Bertschek et al., 2026) untersucht die Faktoren, die den Unterschied zwischen Planung und Verausgabung im Digitalhaushalt bestimmen könnten. Diese Analyse zielt darauf ab, diese Untersuchung zu vertiefen, indem mithilfe von Regressionen die für die Verausgabung verantwortlichen Faktoren ermittelt und isoliert werden.

D.2. Datensatzvorbereitung

Der Rohdatensatz von Agora wird um die folgenden abgeleiteten Variablen erweitert, um die Faktoren, die die Verausgabung bestimmen, besser zu verstehen und zu verdeutlichen:

Code
#create n_jahre
n_jahre <- df %>%
  group_by(id) %>%
  summarise(n_jahre = n_distinct(jahr), .groups = "drop")

n_jahre: Für jede ID eines Haushaltstitels wird die Anzahl der Jahre berechnet, seit denen dieser besteht.

Code
#chunk that creates ratio, ratio_w, vollzogen and adds it to data set
#| label: d-ratio
#| echo: true
#| output: false
ratios <- df %>%
  mutate(
    ratio     = ist / soll,
    ratio_w   = pmin(pmax(ratio, 0), 2),
    vollzogen = as.integer(ratio >= 0.90)
  ) %>% 
  select(id, jahr, ratio, ratio_w, vollzogen)

ratio: Berechnet das Verhältnis von Ist zu Soll pro Haushaltstitel.

ratio_w: Berechnet das Verhältnis von Ist zu Soll pro Haushaltstitel im Bereich [0, 2], um negative Werte und Werte über 2 zu berücksichtigen.

vollzogen: Für eine Logit-Regression (binäres Ergebnis) erstellen wir eine Variable, die den Wert 1 annimmt, wenn der Haushaltstitel vollzogen wurde. Dies ist der Fall, wenn mindestens 90 % des geplanten Budgets ausgegeben wurden.

Code
ausgabenart <- df %>%
  mutate(ausgabenart = substr(as.character(gruppe), 1, 1)) %>%
  select(id, jahr, ausgabenart)

ausgabenart: verwendet die übergeordnete Kodierung aus gruppe.

Code
eu_vergabe <- df %>%
  mutate(eu_vergabe = as.integer(soll >= 140)) %>%
  select(id, jahr, eu_vergabe)

eu_vergabe: Die Variable eu_vergabe soll die Anwendbarkeit des EU-Vergaberechts auf Einzelvertragsbasis erfassen (Europäische Kommission, 2023). Da soll die gesamte Mittelzuweisung für eine Haushaltslinie widerspiegelt und nicht den Wert einzelner Beschaffungsvorgänge, ist diese Variable als Näherungswert zu verstehen.

Code
pat_kv_2018 <- paste(kv_terms_2018$pattern, collapse = "|")
pat_kv_2021 <- paste(kv_terms_2021$pattern, collapse = "|")

kv_prioritaet <- df %>%
  mutate(
    kv_prioritaet = case_when(
      jahr %in% jahre_2018 ~ as.integer(str_detect(titel_text, pat_kv_2018)),
      jahr %in% jahre_2021 ~ as.integer(str_detect(titel_text, pat_kv_2021)),
      TRUE                 ~ NA_integer_
    )
  ) %>%
  select(id, jahr, kv_prioritaet)

kv_prioritaet: Dummy-Variable, die den Wert 1 annimmt, wenn der Titel des Haushaltstitels mindestens einen Begriff enthält, der im Koalitionsvertrag der jeweils amtierenden Regierung als Priorität genannt wird. Für die Jahre 2019 und 2021 werden Begriffe aus dem GroKo-Koalitionsvertrag 2018 (Kap. IV.5) verwendet; für die Jahre 2023 und 2024 Begriffe aus dem Ampel-Koalitionsvertrag 2021 (Kap. II). Die Begriffe werden in Kapitel B definiert und validiert. Das Jahr 2025 wird ausgeschlossen, da es unter eine neue Regierung fällt.

Code
df_d <- df %>%
  filter(
    digi_klasse > 0,
    einzelplan != "60",
    jahr %in% c(jahre_2018, jahre_2021),
    soll > 0
  ) %>%
  left_join(n_jahre,      by = "id") %>%
  left_join(ratios,       by = c("id", "jahr")) %>%
  left_join(ausgabenart,  by = c("id", "jahr")) %>%
  left_join(eu_vergabe,   by = c("id", "jahr")) %>%
  left_join(kv_prioritaet, by = c("id", "jahr"))

df_d ist der finale Regressionsdatensatz: 3206 digitale Haushaltslinien für die Jahre 2019, 2021, 2023 und 2024, wobei alle abgeleiteten Variablen einbezogen sind. Der Einzelplan 60 ist ausgeschlossen, da er strukturelle Reserveposten und keine operativen Ausgaben des Ministeriums enthält.

D.3. OLS Regression

Um die Determinanten der Verausgabungsquote zu identifizieren, schätzen wir zwei OLS-Modelle mit der winsorisierten Ist-Soll-Quote (ratio_w) als abhängiger Variable:

\[\text{ratio\_w}_{it} = \alpha + \beta_1\,\text{n\_jahre}_i + \beta_2\,\text{ausgabenart}_{it} + \beta_3\,\text{eu\_vergabe}_{it} + \beta_4\,\text{kv\_prioritaet}_{it} + \beta_5\,\text{soll}_{it} + \gamma_k + \delta_e + \lambda_t + \varepsilon_{it}\]

\[\text{ratio\_w}_{it} = \alpha + \beta_1\,\text{n\_jahre}_i + \beta_2\,\text{ausgabenart}_{it} + \beta_3\,\text{eu\_vergabe}_{it} + \beta_4\,\text{kv\_prioritaet}_{it} + \beta_5\,\log(\text{soll}_{it}) + \gamma_k + \delta_e + \lambda_t + \varepsilon_{it}\]

Beide Modelle enthalten Fixed Effects für Ministerium (\(\delta_e\)), Digital-Kategorie (\(\gamma_k\)) und Haushaltsjahr (\(\lambda_t\)) und unterscheiden sich ausschließlich in der Spezifikation der Budgetgröße (logarithmisch).

Code
ols_m1 <- lm(
  ratio_w ~ n_jahre + factor(ausgabenart) + eu_vergabe + kv_prioritaet +
            soll + factor(kategorie) + factor(einzelplan) + factor(jahr),
  data = df_d
)

ols_m2 <- lm(
  ratio_w ~ n_jahre + factor(ausgabenart) + eu_vergabe + kv_prioritaet +
            log(soll) + factor(kategorie) + factor(einzelplan) + factor(jahr),
  data = df_d
)
Code
modelsummary(
  list("M1: Soll" = ols_m1, "M2: log(Soll)" = ols_m2),
  coef_rename = c(
    "(Intercept)"          = "Konstante",
    "n_jahre"              = "Bestandsjahre",
    "eu_vergabe"           = "EU-Vergabepflicht",
    "kv_prioritaet"        = "KV-Prioritätsbegriff",
    "soll"                 = "Soll",
    "log(soll)"            = "log(Soll)",
    # Ausgabenart (Ref: HG 4 – Personalausgaben)
    "factor(ausgabenart)5" = "Ausgabenart: Sachausgaben (HG 5)",
    "factor(ausgabenart)6" = "Ausgabenart: Schuldendienst (HG 6)",
    "factor(ausgabenart)7" = "Ausgabenart: Zuwendungen (HG 7)",
    "factor(ausgabenart)8" = "Ausgabenart: Investitionen (HG 8)",
    # Digitale Kategorie (Ref: Kat. 1 – Infrastruktur)
    "factor(kategorie)2"   = "Kat.: Digitale Wirtschaft",
    "factor(kategorie)3"   = "Kat.: Digitale Verwaltung",
    "factor(kategorie)4"   = "Kat.: Digitale Kompetenzen",
    "factor(kategorie)5"   = "Kat.: Kultur & Zivilgesellschaft",
    "factor(kategorie)6"   = "Kat.: Forschung & Innovation",
    "factor(kategorie)7"   = "Kat.: Gesundheitswesen",
    "factor(kategorie)8"   = "Kat.: Bundeswehr",
    "factor(kategorie)9"   = "Kat.: Unteilbare Ausgaben",
    # Einzelplan (Ref: EP 01 – Bundespräsidialamt)
    "factor(einzelplan)02" = "EP 02 – Bundestag",
    "factor(einzelplan)03" = "EP 03 – Bundesrat",
    "factor(einzelplan)04" = "EP 04 – Bundeskanzleramt",
    "factor(einzelplan)05" = "EP 05 – Auswärtiges Amt",
    "factor(einzelplan)06" = "EP 06 – BMI",
    "factor(einzelplan)07" = "EP 07 – BMJ",
    "factor(einzelplan)08" = "EP 08 – BMF",
    "factor(einzelplan)09" = "EP 09 – BMWK",
    "factor(einzelplan)10" = "EP 10 – BMEL",
    "factor(einzelplan)11" = "EP 11 – BMAS",
    "factor(einzelplan)12" = "EP 12 – BMDV",
    "factor(einzelplan)15" = "EP 15 – BMG",
    "factor(einzelplan)16" = "EP 16 – BMUV",
    "factor(einzelplan)17" = "EP 17 – BMFSFJ",
    "factor(einzelplan)19" = "EP 19 – BVerfG",
    "factor(einzelplan)20" = "EP 20 – Bundesrechnungshof",
    "factor(einzelplan)21" = "EP 21 – BfDI",
    "factor(einzelplan)22" = "EP 22 – Unabh. Kontrollrat",
    "factor(einzelplan)23" = "EP 23 – BMZ",
    "factor(einzelplan)25" = "EP 25 – BMWSB",
    "factor(einzelplan)30" = "EP 30 – BMBF",
    # Jahr (Ref: 2019)
    "factor(jahr)2021"     = "Jahr: 2021",
    "factor(jahr)2023"     = "Jahr: 2023",
    "factor(jahr)2024"     = "Jahr: 2024"
  ),
  stars   = c("*" = .1, "**" = .05, "***" = .01),
  gof_map = list(
    list(raw = "nobs",          clean = "N",       fmt = 0),
    list(raw = "r.squared",     clean = "R²",      fmt = 3),
    list(raw = "adj.r.squared", clean = "Adj. R²", fmt = 3)
  ),
  output = "gt"
)
Tabelle D.1. OLS-Regression: Abhängige Variable ratio_w (winsorisierte Verausgabungsquote). Robuste Standardfehler in Klammern. Ministeriums- und Digital-Kategorie-Fixed-Effects nicht ausgewiesen.
M1: Soll M2: log(Soll)
Konstante 0.226* 0.243**
(0.123) (0.123)
Bestandsjahre 0.105*** 0.106***
(0.012) (0.012)
Ausgabenart: Sachausgaben (HG 5) -0.066* -0.065
(0.040) (0.040)
Ausgabenart: Schuldendienst (HG 6) -0.071 -0.065
(0.046) (0.046)
Ausgabenart: Zuwendungen (HG 7) -0.166** -0.168**
(0.073) (0.073)
Ausgabenart: Investitionen (HG 8) -0.092** -0.088**
(0.042) (0.042)
EU-Vergabepflicht 0.067** 0.102***
(0.032) (0.039)
KV-Prioritätsbegriff 0.018 0.022
(0.041) (0.041)
Soll 0.000
(0.000)
Kat.: Digitale Wirtschaft -0.147** -0.134**
(0.060) (0.060)
Kat.: Digitale Verwaltung 0.044 0.042
(0.027) (0.027)
Kat.: Digitale Kompetenzen -0.112 -0.099
(0.074) (0.075)
Kat.: Kultur & Zivilgesellschaft 0.093 0.103*
(0.060) (0.060)
Kat.: Forschung & Innovation -0.103** -0.092**
(0.042) (0.042)
Kat.: Gesundheitswesen -0.122* -0.116*
(0.070) (0.070)
Kat.: Bundeswehr 0.188* 0.221**
(0.107) (0.109)
Kat.: Unteilbare Ausgaben -0.154 -0.150
(0.115) (0.115)
EP 02 – Bundestag 0.091 0.097
(0.121) (0.121)
EP 03 – Bundesrat -0.099 -0.103
(0.155) (0.155)
EP 04 – Bundeskanzleramt 0.214** 0.220**
(0.107) (0.107)
EP 05 – Auswärtiges Amt 0.275** 0.289**
(0.115) (0.115)
EP 06 – BMI 0.264*** 0.273***
(0.101) (0.101)
EP 07 – BMJ 0.177* 0.179*
(0.106) (0.106)
EP 08 – BMF 0.281*** 0.300***
(0.107) (0.107)
EP 09 – BMWK 0.234** 0.242**
(0.102) (0.102)
EP 10 – BMEL 0.300*** 0.301***
(0.106) (0.106)
EP 11 – BMAS 0.205* 0.204*
(0.109) (0.109)
EP 12 – BMDV 0.197* 0.206**
(0.101) (0.101)
EP 15 – BMG 0.216** 0.221**
(0.110) (0.110)
EP 16 – BMUV 0.234** 0.240**
(0.110) (0.110)
EP 17 – BMFSFJ 0.174 0.179
(0.116) (0.116)
EP 19 – BVerfG 0.093 0.090
(0.154) (0.154)
EP 20 – Bundesrechnungshof 0.252 0.263
(0.169) (0.170)
EP 21 – BfDI 0.090 0.090
(0.115) (0.115)
EP 22 – Unabh. Kontrollrat -0.442** -0.446**
(0.188) (0.188)
EP 23 – BMZ 0.143 0.172
(0.141) (0.140)
EP 25 – BMWSB 0.121 0.131
(0.147) (0.147)
EP 30 – BMBF 0.359*** 0.382***
(0.108) (0.109)
Jahr: 2021 -0.075*** -0.073***
(0.025) (0.025)
Jahr: 2023 -0.025 -0.023
(0.025) (0.025)
Jahr: 2024 -0.010 -0.007
(0.025) (0.025)
log(Soll) -0.008
(0.005)
N 3206 3206
0.065 0.066
Adj. R² 0.053 0.054
* p < 0.1, ** p < 0.05, *** p < 0.01

Beide Modelle zeigen konsistent, dass Bestandsjahre (n_jahre) und EU-Vergabepflicht die Verausgabungsquote signifikant erhöhen, während Zuwendungs- und Investitionsausgaben (HG 7/8) sowie das Jahr 2021 sie signifikant senken; der Koalitionsprioritätsbegriff ist in beiden Modellen nicht signifikant. Da log(Soll) gegenüber dem rohen Soll-Betrag die theoretisch adäquatere Spezifikation darstellt und die übrigen Koeffizienten stabilisiert, wird M2 als bevorzugtes Modell verwendet. Im nächsten Schritt werden die marginalen Effekte der Ministeriumskoeffizienten aus M2 berechnet; diese werden in Kapitel E als Ergebnis dargestellt.

Code
pred_ministerium <- avg_predictions(ols_m2, variables = "einzelplan")
pred_kategorie   <- avg_predictions(ols_m2, variables = "kategorie")
pred_jahr        <- avg_predictions(ols_m2, variables = "jahr")
pred_ausgabenart <- avg_predictions(ols_m2, variables = "ausgabenart")

D.4. Logit-Regression

Während das OLS-Modell misst, wie viel Prozent eines Haushaltstitels verausgabt wurde (kontinuierliche Quote), beantwortet das Logit-Modell die komplementäre Frage, ob ein Titel vollständig verausgabt wurde. Das heißt, es misst die Wahrscheinlichkeit, dass mindestens 90 % der geplanten Mittel abgeflossen sind. Da vollzogen eine binäre Variable ist, ist das Logit-Modell die methodisch adäquate Wahl gegenüber OLS, das bei binären abhängigen Variablen Wahrscheinlichkeiten außerhalb von [0, 1] produzieren kann. Zudem ermöglicht der Vergleich beider Modelle zu prüfen, ob die identifizierten Faktoren nur den Grad der Verausgabung beeinflussen oder auch die Schwelle zur vollständigen Ausführung.

Wir schätzen also zwei Logit-Modelle mit vollzogen als abhängiger Variable:

\[\text{logit}(\Pr(\text{vollzogen}_{it} = 1)) = \alpha + \beta_1\,\text{n\_jahre}_i + \beta_2\,\text{ausgabenart}_{it} + \beta_3\,\text{eu\_vergabe}_{it} + \beta_4\,\text{kv\_prioritaet}_{it} + \beta_5\,\text{soll}_{it} + \gamma_k + \delta_e + \lambda_t + \varepsilon_{it}\]

\[\text{logit}(\Pr(\text{vollzogen}_{it} = 1)) = \alpha + \beta_1\,\text{n\_jahre}_i + \beta_2\,\text{ausgabenart}_{it} + \beta_3\,\text{eu\_vergabe}_{it} + \beta_4\,\text{kv\_prioritaet}_{it} + \beta_5\,\log(\text{soll}_{it}) + \gamma_k + \delta_e + \lambda_t + \varepsilon_{it}\]

Die Spezifikation ist identisch mit den OLS-Modellen; Fixed Effects für Ministerium (\(\delta_e\)), Digital-Kategorie (\(\gamma_k\)) und Haushaltsjahr (\(\lambda_t\)) sind in beiden Varianten enthalten.

Code
logit_m1 <- glm(
  vollzogen ~ n_jahre + factor(ausgabenart) + eu_vergabe + kv_prioritaet +
              soll + factor(kategorie) + factor(einzelplan) + factor(jahr),
  data   = df_d,
  family = binomial(link = "logit")
)

logit_m2 <- glm(
  vollzogen ~ n_jahre + factor(ausgabenart) + eu_vergabe + kv_prioritaet +
              log(soll) + factor(kategorie) + factor(einzelplan) + factor(jahr),
  data   = df_d,
  family = binomial(link = "logit")
)
Code
modelsummary(
  list("M1: Soll" = logit_m1, "M2: log(Soll)" = logit_m2),
  coef_rename = c(
    "(Intercept)"          = "Konstante",
    "n_jahre"              = "Bestandsjahre",
    "eu_vergabe"           = "EU-Vergabepflicht",
    "kv_prioritaet"        = "KV-Prioritätsbegriff",
    "soll"                 = "Soll",
    "log(soll)"            = "log(Soll)",
    "factor(ausgabenart)5" = "Ausgabenart: Sachausgaben (HG 5)",
    "factor(ausgabenart)6" = "Ausgabenart: Schuldendienst (HG 6)",
    "factor(ausgabenart)7" = "Ausgabenart: Zuwendungen (HG 7)",
    "factor(ausgabenart)8" = "Ausgabenart: Investitionen (HG 8)",
    "factor(kategorie)2"   = "Kat.: Digitale Wirtschaft",
    "factor(kategorie)3"   = "Kat.: Digitale Verwaltung",
    "factor(kategorie)4"   = "Kat.: Digitale Kompetenzen",
    "factor(kategorie)5"   = "Kat.: Kultur & Zivilgesellschaft",
    "factor(kategorie)6"   = "Kat.: Forschung & Innovation",
    "factor(kategorie)7"   = "Kat.: Gesundheitswesen",
    "factor(kategorie)8"   = "Kat.: Bundeswehr",
    "factor(kategorie)9"   = "Kat.: Unteilbare Ausgaben",
    "factor(einzelplan)02" = "EP 02 – Bundestag",
    "factor(einzelplan)03" = "EP 03 – Bundesrat",
    "factor(einzelplan)04" = "EP 04 – Bundeskanzleramt",
    "factor(einzelplan)05" = "EP 05 – Auswärtiges Amt",
    "factor(einzelplan)06" = "EP 06 – BMI",
    "factor(einzelplan)07" = "EP 07 – BMJ",
    "factor(einzelplan)08" = "EP 08 – BMF",
    "factor(einzelplan)09" = "EP 09 – BMWK",
    "factor(einzelplan)10" = "EP 10 – BMEL",
    "factor(einzelplan)11" = "EP 11 – BMAS",
    "factor(einzelplan)12" = "EP 12 – BMDV",
    "factor(einzelplan)15" = "EP 15 – BMG",
    "factor(einzelplan)16" = "EP 16 – BMUV",
    "factor(einzelplan)17" = "EP 17 – BMFSFJ",
    "factor(einzelplan)19" = "EP 19 – BVerfG",
    "factor(einzelplan)20" = "EP 20 – Bundesrechnungshof",
    "factor(einzelplan)21" = "EP 21 – BfDI",
    "factor(einzelplan)22" = "EP 22 – Unabh. Kontrollrat",
    "factor(einzelplan)23" = "EP 23 – BMZ",
    "factor(einzelplan)25" = "EP 25 – BMWSB",
    "factor(einzelplan)30" = "EP 30 – BMBF",
    "factor(jahr)2021"     = "Jahr: 2021",
    "factor(jahr)2023"     = "Jahr: 2023",
    "factor(jahr)2024"     = "Jahr: 2024"
  ),
  stars   = c("*" = .1, "**" = .05, "***" = .01),
gof_map = list(
  list(raw = "nobs",     clean = "N",        fmt = 0),
  list(raw = "r2.tjur",  clean = "Tjur R²",  fmt = 3),
  list(raw = "aic",      clean = "AIC",       fmt = 1)
),
  output = "gt"
)
Tabelle D.2. Logit-Regression: Abhängige Variable vollzogen (1 = mindestens 90 % der Mittel verausgabt). Standardfehler in Klammern.
M1: Soll M2: log(Soll)
Konstante -1.781*** -1.779***
(0.538) (0.540)
Bestandsjahre 0.308*** 0.307***
(0.054) (0.054)
Ausgabenart: Sachausgaben (HG 5) -0.307* -0.293*
(0.173) (0.173)
Ausgabenart: Schuldendienst (HG 6) -0.044 -0.028
(0.198) (0.198)
Ausgabenart: Zuwendungen (HG 7) -0.921*** -0.918***
(0.322) (0.322)
Ausgabenart: Investitionen (HG 8) -0.389** -0.360**
(0.182) (0.182)
EU-Vergabepflicht 0.241* 0.263
(0.138) (0.167)
KV-Prioritätsbegriff -0.025 -0.024
(0.180) (0.180)
Soll 0.000**
(0.000)
Kat.: Digitale Wirtschaft -0.794*** -0.788***
(0.264) (0.266)
Kat.: Digitale Verwaltung 0.024 -0.005
(0.115) (0.115)
Kat.: Digitale Kompetenzen -0.858** -0.845**
(0.337) (0.339)
Kat.: Kultur & Zivilgesellschaft 0.478* 0.493*
(0.267) (0.268)
Kat.: Forschung & Innovation -0.364** -0.358*
(0.182) (0.184)
Kat.: Gesundheitswesen -0.369 -0.374
(0.305) (0.305)
Kat.: Bundeswehr 0.559 0.602
(0.463) (0.471)
Kat.: Unteilbare Ausgaben -0.839 -0.866
(0.564) (0.564)
EP 02 – Bundestag -0.215 -0.212
(0.530) (0.530)
EP 03 – Bundesrat -2.424** -2.442**
(1.122) (1.123)
EP 04 – Bundeskanzleramt 0.765* 0.766*
(0.464) (0.464)
EP 05 – Auswärtiges Amt 0.843* 0.849*
(0.498) (0.500)
EP 06 – BMI 0.531 0.526
(0.436) (0.437)
EP 07 – BMJ 0.538 0.532
(0.460) (0.460)
EP 08 – BMF 0.910** 0.916**
(0.463) (0.466)
EP 09 – BMWK 0.613 0.612
(0.440) (0.441)
EP 10 – BMEL 0.858* 0.850*
(0.459) (0.459)
EP 11 – BMAS 0.651 0.643
(0.472) (0.472)
EP 12 – BMDV 0.488 0.502
(0.439) (0.439)
EP 15 – BMG 0.425 0.432
(0.476) (0.476)
EP 16 – BMUV 0.741 0.734
(0.473) (0.474)
EP 17 – BMFSFJ 0.590 0.584
(0.504) (0.504)
EP 19 – BVerfG 0.743 0.742
(0.660) (0.660)
EP 20 – Bundesrechnungshof 1.540* 1.538*
(0.793) (0.793)
EP 21 – BfDI 0.104 0.089
(0.499) (0.499)
EP 22 – Unabh. Kontrollrat -12.756 -12.762
(176.752) (176.714)
EP 23 – BMZ 0.690 0.855
(0.616) (0.610)
EP 25 – BMWSB -0.276 -0.277
(0.715) (0.716)
EP 30 – BMBF 1.871*** 1.920***
(0.477) (0.480)
Jahr: 2021 -0.406*** -0.398***
(0.106) (0.106)
Jahr: 2023 -0.090 -0.085
(0.106) (0.106)
Jahr: 2024 -0.008 -0.004
(0.107) (0.107)
log(Soll) -0.001
(0.022)
N 3206 3206
Tjur R² 0.065 0.063
AIC 4296.2 4302.0
* p < 0.1, ** p < 0.05, *** p < 0.01

Auch im Logit-Modell erweisen sich Bestandsjahre und die Ausgabenart als robuste Prädiktoren: Zuwendungs- und Investitionsausgaben (HG 7/8) sowie die Digitalen Kategorien Wirtschaft und Kompetenzen senken die Wahrscheinlichkeit vollständiger Verausgabung signifikant, während das BMBF (EP 30) signifikant positiv heraussticht; das Bundeskanzleramt (EP 04) ist ebenfalls positiv, jedoch nur auf dem 10-%-Niveau. Der Koalitionsprioritätsbegriff bleibt erneut nicht signifikant. M1 wird als bevorzugtes Logit-Modell gewählt, da es einen niedrigeren AIC (4296 vs. 4302) und einen höheren Tjur R² aufweist; der Soll-Koeffizient ist statistisch signifikant, jedoch aufgrund der Skalierung in T€ praktisch vernachlässigbar. EP 22 (Unabhängiger Kontrollrat) zeigt ein sehr großes negatives Vorzeichen mit hohem Standardfehler, was auf quasi-vollständige Trennung hindeutet und bei der Interpretation dieses Koeffizienten Vorsicht gebietet.

D.5. Fazit und Limitationen

Die Regressionsanalyse identifiziert robuste Muster in der Verausgabung digitaler Haushaltsmittel: Ausgabenart, Bestandsjahre und EU-Vergabepflicht sind konsistente Prädiktoren im OLS- und Logit-Modell; der Einfluss des Koalitionsvertrags ist in beiden Spezifikationen nicht nachweisbar. Die bereinigten Schätzwerte erlauben einen strukturell kontrollierten Vergleich zwischen Ministerien, Kategorien und Jahren — und liefern damit eine methodisch belastbarere Grundlage als reine Deskription.

Die Modelle unterliegen jedoch mehreren Einschränkungen. Das erklärte Varianzmaß fällt moderat aus (OLS M2: R² = 0.066, Adj. R² = 0.054), was typisch für Querschnitts- und Paneldaten im Haushaltsbereich ist und darauf hindeutet, dass ein erheblicher Teil der Variation durch nicht beobachtbare Faktoren (z. B. interne Kapazitäten, Personalfluktuation oder politische Prioritätenverschiebungen innerhalb eines Haushaltsjahres) erklärt wird. Einzelne Variablen sind als Näherungswerte zu verstehen: eu_vergabe basiert auf dem aggregierten Soll-Betrag einer Haushaltslinie, nicht auf einzelnen Auftragswerten; kv_prioritaet beruht auf einfachem Textabgleich und erfasst inhaltliche Bezüge zum Koalitionsvertrag möglicherweise unvollständig. Hinzu kommen modellspezifische Einschränkungen: EP 22 (Unabhängiger Kontrollrat) zeigt im Logit-Modell quasi-vollständige Trennung und ist dort nicht interpretierbar; EP 14 (BMVg – Internationale Einsätze) ist nur in einzelnen Jahren beobachtbar, was zu breiten Konfidenzintervallen führt.

Die Analyse ist zudem explorativ, dennoch liefern die bereinigten Schätzwerte belastbare deskriptive Evidenz. Sie zeigen, welche Merkmale systematisch mit höherer oder niedrigerer Verausgabung assoziiert sind, und bilden damit eine methodisch solidere Grundlage für politische Konsequenzen. Die Ergebnisse werden im folgenden Kapitel E visualisiert und für eine breitere Öffentlichkeit aufbereitet.

E: Ergebnisse der Verausgabungsanalyse

E.1. Bereinigte Verausgabungsquote nach Ministerium

Code
# ep_labels: einzige Quelle der Wahrheit in R/prep.R (gegen Bundeshaushalt geprüft)

pred_ministerium_labeled <- pred_ministerium %>%
  mutate(
    ministerium  = ep_labels[as.character(einzelplan)],
    signifikant  = p.value < 0.05,
    ministerium  = factor(ministerium, levels = ministerium[order(estimate)])
  )
Code
ggplot(pred_ministerium_labeled,
       aes(x = estimate, y = ministerium, colour = signifikant)) +
  geom_errorbarh(aes(xmin = conf.low, xmax = conf.high),
                 height = 0.3) +
  geom_point(size = 3) +
  scale_colour_manual(
    values = c("TRUE" = pal_blue, "FALSE" = "grey60"),
    labels = c("TRUE" = "Signifikant (p < 0,05)", "FALSE" = "Nicht signifikant"),
    name   = NULL
  ) +
  scale_x_continuous(labels = scales::percent_format(accuracy = 1)) +
  labs(
    title    = "Welches Ministerium gibt sein digitales Budget am besten aus?",
    subtitle = "Bereinigte Verausgabungsquote, kontrolliert für Ausgabenart, Größe und Jahr",
    x        = "Verausgabungsquote (ratio_w)",
    y        = NULL,
    caption  = "Hinweis: EP 14 (BMVg) hat keinen separaten Koeffizient in der Regression, da alle BMVg-Titel ausschließlich\n  der Kategorie 8 (Bundeswehr) zugeordnet sind (perfekte Kollinearität). Der abgebildete Schätzwert\n  spiegelt den Kategorieneffekt wider, nicht einen eigenständigen Ministeriumseffekt."
  ) +
  theme_hhc() +
  theme(panel.grid.major.y = element_blank())

Grafik E.1. Bereinigte Verausgabungsquote je Ministerium aus OLS-Modell M2 (avg_predictions). Kontrolliert für Ausgabenart, Budgetgröße, Digital-Kategorie und Haushaltsjahr. Fehlerbalken: 95-%-KI.

Die dargestellten Werte in Grafik E.1 sind bereinigte Verausgabungsquoten aus Abschnitt D.3. Diese berücksichtigen Ausgabenart, Budgetgröße, Digital-Kategorie und Haushaltsjahr, sodass Ministerien unter vergleichbaren Bedingungen gegenübergestellt werden.

Unter den statistisch signifikanten Ergebnissen sticht das BMBF (EP 30) mit einer Quote von 1,075 hervor: Es ist das einzige Ministerium, das im Durchschnitt mehr ausgibt als geplant; BMEL (0,994), BMF (0,992) und das Auswärtige Amt (0,982) folgen als weitere Spitzenreiter.

Die Mehrheit der Ministerien bewegt sich im Mittelfeld zwischen 0,87 und 0,97, während Bundesrat (0,590) und Bundespräsidialamt (0,693) die niedrigsten signifikanten Quoten aufweisen. Der Schätzwert für den Unabhängigen Kontrollrat (EP 22) ist statistisch nicht signifikant und daher nicht interpretierbar.

E.2. Bereinigte Verausgabungsquote nach Digital-Kategorie

Code
pred_kategorie_labeled <- pred_kategorie %>%
  mutate(
    kategorie_label = kat_labels[as.character(kategorie)],
    signifikant     = p.value < 0.05,
    kategorie_label = factor(kategorie_label,
                             levels = kategorie_label[order(estimate)])
  )
Code
ggplot(pred_kategorie_labeled,
       aes(x = estimate, y = kategorie_label, colour = signifikant)) +
  geom_errorbarh(aes(xmin = conf.low, xmax = conf.high),
                 height = 0.3) +
  geom_point(size = 3) +
  scale_colour_manual(
    values = c("TRUE" = pal_blue, "FALSE" = "grey60"),
    labels = c("TRUE" = "Signifikant (p < 0,05)", "FALSE" = "Nicht signifikant"),
    name   = NULL
  ) +
  scale_x_continuous(labels = scales::percent_format(accuracy = 1)) +
  labs(
   title    = "Welche digitalen Ausgabenkategorien\nwerden am vollständigsten verausgabt?",
subtitle = "Bereinigte Verausgabungsquote, kontrolliert für\nAusgabenart, Größe, Ministerium und Jahr",
    x        = "Verausgabungsquote (ratio_w)",
    y        = NULL
  ) +
  theme_hhc() +
  theme(panel.grid.major.y = element_blank())

Grafik E.2. Bereinigte Verausgabungsquote je Digital-Kategorie aus OLS-Modell M2 (avg_predictions). Kontrolliert für Ausgabenart, Budgetgröße, Ministerium und Haushaltsjahr. Fehlerbalken: 95-%-KI.

Die dargestellten Werte in Grafik E.2 sind bereinigte Verausgabungsquoten aus Abschnitt D.3. Diese berücksichtigen Ausgabenart, Budgetgröße, Ministerium und Haushaltsjahr, sodass die neun Digital-Kategorien unter vergleichbaren Bedingungen gegenübergestellt werden. Alle Schätzwerte sind statistisch signifikant (p < 0,001).

Bundeswehr (1,115) ist die einzige Kategorie, die im Durchschnitt mehr ausgibt als geplant; Kultur & Zivilgesellschaft (0,998) erreicht nahezu vollständige Verausgabung, gefolgt von Digitaler Verwaltung (0,936) als weiterer Spitzenreiterin. Für beide Kategorien mit besonders breiten Konfidenzintervallen — Bundeswehr (0,92–1,31) und Unteilbare Ausgaben (0,52–0,97) — ist der Schätzwert mit erhöhter Unsicherheit behaftet.

Die schwächsten Quoten weisen Unteilbare Ausgaben (0,745), Digitale Wirtschaft (0,760) und Gesundheitswesen (0,778) auf, während Infrastruktur (0,894), Forschung & Innovation (0,803) und Digitale Kompetenzen (0,795) das Mittelfeld bilden.

E.3. Der (fehlende) Einfluss des Koalitionsvertrags

Code
bind_rows(
  tidy(ols_m2,   conf.int = TRUE) %>% filter(term == "kv_prioritaet") %>% mutate(modell = "OLS (ratio_w)"),
  tidy(logit_m1, conf.int = TRUE) %>% filter(term == "kv_prioritaet") %>% mutate(modell = "Logit (vollzogen)")
) %>%
  ggplot(aes(x = estimate, y = modell)) +
  geom_vline(xintercept = 0, linetype = "dashed", colour = "grey50") +
  geom_errorbarh(aes(xmin = conf.low, xmax = conf.high),
                 height = 0.15, colour = "grey60") +
  geom_point(size = 3, colour = pal_blue) +
  labs(
title    = "Koalitionsvertragliche Prioritäten\nsagen die Verausgabung nicht voraus",
subtitle = "Kein signifikanter Effekt in OLS oder Logit",
    x = "Koeffizient (KV-Prioritätsbegriff)",
    y = NULL
  ) +
  theme_hhc() +
  theme(panel.grid.major.y = element_blank())

Grafik E.3. Koeffizient für KV-Prioritätsbegriff aus OLS-Modell M2 und Logit-Modell M1. Fehlerbalken: 95-%-KI.

In Grafik E.3. ist zu beobachten, dass digitalpolitische Leitbegriffe aus dem jeweils geltenden Koalitionsvertrag weder einen signifikanten Effekt auf die Höhe der Verausgabungsquote (OLS: 0,022; p = 0,591) noch auf die Wahrscheinlichkeit vollständiger Ausführung (Logit: −0,025; p = 0,889) haben. Ob ein Haushaltstitel explizit mit Schlagwörtern aus dem Koalitionsvertrag verknüpft ist, macht demnach keinen nachweisbaren Unterschied dafür, ob die entsprechenden Mittel tatsächlich abfließen. Dieser Befund deutet darauf hin, dass politische Prioritätensetzung im Koalitionsvertrag und haushaltsmäßige Vollzugsrealität weitgehend entkoppelt sind.

E.4. Der COVID-Effekt

Code
pred_jahr_labeled <- pred_jahr %>%
  mutate(
    jahr        = as.character(jahr),
    signifikant = p.value < 0.05
  )
Code
ggplot(pred_jahr_labeled,
       aes(x = estimate, y = jahr, colour = signifikant)) +
  geom_errorbarh(aes(xmin = conf.low, xmax = conf.high),
                 height = 0.2) +
  geom_point(size = 3) +
  scale_colour_manual(
    values = c("TRUE" = pal_blue, "FALSE" = "grey60"),
    labels = c("TRUE" = "Signifikant (p < 0,05)", "FALSE" = "Nicht signifikant"),
    name   = NULL
  ) +
  scale_x_continuous(labels = scales::percent_format(accuracy = 1)) +
  labs(
    title    = "2021 stach als das schwächste Jahr\nbei der Verausgabung heraus",
    subtitle = "Bereinigte Verausgabungsquote je Haushaltsjahr",
    x        = "Verausgabungsquote (ratio_w)",
    y        = NULL
  ) +
  theme_hhc() +
  theme(panel.grid.major.y = element_blank())

Grafik E.4. Bereinigte Verausgabungsquote je Haushaltsjahr aus OLS-Modell M2 (avg_predictions). Kontrolliert für Ausgabenart, Budgetgröße, Ministerium und Digital-Kategorie. Fehlerbalken: 95-%-KI.

Die dargestellten Werte in Grafik E.4 sind bereinigte Verausgabungsquoten aus Abschnitt D.3. Diese berücksichtigen Ausgabenart, Budgetgröße, Ministerium und Digital-Kategorie, sodass die vier Erhebungsjahre unter vergleichbaren Bedingungen gegenübergestellt werden. Alle Schätzwerte sind statistisch signifikant (p < 0,001).

Das Jahr 2021 weist mit 0,869 die niedrigste bereinigte Quote auf: es ergibt sich ein deutlicher Einbruch gegenüber 2019 (0,942), der sich auch nach Kontrolle aller übrigen Faktoren zeigt und auf die außerordentlichen Haushaltsbedingungen der COVID-19-Pandemie zurückzuführen ist.

Die Jahre 2023 (0,919) und 2024 (0,935) zeigen eine klare Erholungstendenz, erreichen das Niveau von 2019 jedoch noch nicht vollständig. Dieser Befund könnte auf eine strukturelle Nachwirkung der Pandemiejahre oder veränderte Ausgabenbedingungen unter den verschiedenen Koalitionen hindeuten.

E.5. Welche Faktoren sind außerdem wichtig?

Code
key_terms <- c(
  "eu_vergabe"               = "EU-Vergabepflicht\n(Soll ≥ 140 T€)",
  "factor(ausgabenart)5"     = "Sachausgaben\n(HG 5, vs. Personalausgaben)",
  "factor(ausgabenart)7"     = "Zuwendungen\n(HG 7, vs. Personalausgaben)",
  "factor(ausgabenart)8"     = "Investitionen\n(HG 8, vs. Personalausgaben)",
  "n_jahre"                  = "Bestandsjahre",
  "kv_prioritaet"            = "KV-Priorität"
)

df_e6 <- tidy(ols_m2, conf.int = TRUE) %>%
  filter(term %in% names(key_terms)) %>%
  mutate(
    term_label  = key_terms[term],
    term_label  = factor(term_label, levels = rev(unique(key_terms))),
    signifikant = p.value < 0.05,
    estimate    = estimate  * 100,
    conf.low    = conf.low  * 100,
    conf.high   = conf.high * 100
  )
Code
ggplot(df_e6,
       aes(x = estimate, y = term_label, colour = signifikant)) +
  geom_vline(xintercept = 0, linetype = "dashed", colour = "grey50") +
  geom_errorbarh(
    aes(xmin = conf.low, xmax = conf.high),
    height   = 0.25
  ) +
  geom_point(size = 3.5) +
  scale_colour_manual(
    values = c("TRUE" = pal_blue, "FALSE" = "grey60"),
    labels = c("TRUE" = "Signifikant (p < 0,05)", "FALSE" = "Nicht signifikant"),
    name   = NULL
  ) +
  scale_x_continuous(
    labels = function(x) paste0(ifelse(x > 0, "+", ""), x, " PP")
  ) +
  labs(
    title    = "Welche Merkmale eines Haushaltstitels\ndie Verausgabung beeinflussen",
    subtitle = "Kontrolliert für Ministerium, Digital-Kategorie und Haushaltsjahr",
    x        = "Effekt in Prozentpunkten",
    y        = NULL
  ) +
  theme_hhc() +
  theme(panel.grid.major.y = element_blank())

Grafik E.5. Effekte auf die Verausgabungsquote (Prozentpunkte) aus OLS-Modell M2, kontrolliert für Ministerium, Digital-Kategorie und Haushaltsjahr. Blau = statistisch signifikant (p < 0,05). Fehlerbalken: 95-%-KI.

Was macht den Unterschied, ob Digitalbudgets tatsächlich ausgegeben werden? Die Grafik E.5. (aus den Ergebnissen von Abschnitt D.4. und D.5.) zeigt die Effekte der Faktoren unserer Regressionsanalyse, bereinigt um Unterschiede zwischen Ministerien, Digital-Kategorien und Haushaltsjahren. Ein Wert von +10 PP bedeutet: Dieser Faktor ist mit einer um 10 Prozentpunkte höheren Ausführungsquote verbunden; ein Titel mit 80 % Quote würde also im Durchschnitt auf 90 % steigen. Punkte rechts der Nulllinie bedeuten höhere, Punkte links niedrigere Verausgabung. Graue Punkte sind statistisch nicht gesichert.

Haushaltspositionen, die bereits seit mehreren Jahren existieren, werden deutlich zuverlässiger abgerufen als neue: Jedes zusätzliche Bestandsjahr ist mit einer um rund 11 Prozentpunkte höheren Ausführungsquote verbunden. Je länger ein Titel im Haushalt steht, desto eingespielter die Prozesse. Auch große Beschaffungsvorhaben über dem EU-Schwellenwert von 140.000 Euro schneiden besser ab: Titel mit EU-Vergabepflicht weisen eine um rund 10 Prozentpunkte höhere Ausführungsquote auf.

Zuwendungen und Investitionen bleiben dagegen systematisch hinter Plan zurück. Im Vergleich zu Personalausgaben, die fast immer vollständig abfließen, ist die Ausführungsquote bei Zuwendungen um rund 17 Prozentpunkte niedriger, bei Investitionstiteln um rund 9 Prozentpunkte. Ob ein Titel explizit Schlagwörter aus dem Koalitionsvertrag trägt, macht dagegen keinen messbaren Unterschied: Der Effekt liegt nahe null und ist statistisch nicht gesichert.

E.6. Fazit

In diesem Kapitel wurde die Verausgabung digitaler Haushaltsmittel mit Regressionsanalysen untersucht. Auf Basis von 3206 Haushaltspositionen aus den Jahren 2019, 2021, 2023 und 2024 wurden ein OLS-Modell (kontinuierliche Verausgabungsquote) und ein Logit-Modell (binäre Vollzugsschwelle) geschätzt, jeweils mit Fixed Effects für Ministerium, Digital-Kategorie und Haushaltsjahr. Durch die bereinigten Schätzwerte aus beiden Modellen lassen sich strukturelle Unterschiede zwischen Ministerien, Kategorien und Jahren isolieren.

  • Ministerien unterscheiden sich erheblich: Bereinigt um alle Faktoren reicht die Verausgabungsquote von 59 % (Bundesrat) bis 108 % (BMBF). Die Mehrheit bewegt sich zwischen 87 % und 97 %.
  • Ausgabenart ist der stärkste Strukturfaktor: Zuwendungen (−17 PP) und Investitionen (−9 PP) werden systematisch schlechter ausgeführt als Personalausgaben. Der Typ des Titels ist wichtiger als das zuständige Ministerium.
  • Ältere Titel werden besser ausgeführt: Jedes zusätzliche Bestandsjahr erhöht die Quote um rund 11 PP. Institutionelle Kontinuität und eingespielte Prozesse machen den Unterschied.
  • Formale Beschaffungspflicht kann möglicherweise helfen: Titel über dem EU-Schwellenwert von 140.000 Euro weisen eine um rund 10 PP höhere Quote auf.
  • COVID hinterließ eine messbare Delle: 2021 liegt auch nach Kontrolle aller übrigen Faktoren 7 PP unter 2019. Eine Erholung in den Jahren 2023/2024 kann beobachtet werden.
  • Digitale Kategorien zeigen große Spannbreite: Bundeswehr (112 %) und Kultur & Zivilgesellschaft (100 %) sind an der Spitze; Unteilbare Ausgaben (75 %), Digitale Wirtschaft (76 %) und Gesundheitswesen (78 %) am Ende.
  • Koalitionsverträge haben keinen Effekt: Ob ein Titel explizit digitalpolitische Leitbegriffe trägt, macht in beiden Modellen keinen messbaren Unterschied.