Zum Inhalt

StatAgent

von Bernhard Götzendorfer · Team OneShotAndy

Ganzer Monat statt Stichtag

„Gezählt wird nicht mehr der Monatsletzte, sondern das ganze Monat.“
Ganzer Auftrag

„Beschäftigt ist, wer im Berichtsmonat jemals beschäftigt war; auch ein einziger Tag mitten im Monat genügt. Ein Beschäftigungsverhältnis zählt, wenn mindestens ein Zeitabschnitt mindestens einen Tag im Berichtsmonat besteht: Beginn höchstens Monatsletzter und Ende leer oder mindestens Monatserster. Zähleinheit bleiben die Versicherungsverhältnisse, jedes zählt im Monat genau einmal. Die Merkmale kommen aus dem letzten Zeitabschnitt des Beschäftigungsverhältnisses im Berichtsmonat, das Alter in vollendeten Jahren am Monatsletzten, gezählt wird weiterhin aus der Lieferung des Berichtsmonats. Die Änderung gilt rückwirkend für die ganze Zeitreihe zusammen mit Auftrag 1, also im Regelsatz v2; Regelsatz v1 bleibt, wie er ist. Der Zeitraum der Zählregel ist also der ganze Monat (Art Monat statt Stichtag), vom Monatsersten bis zum Monatsletzten.“

Änderungsauftrag 2 aus der Aufgabenstellung,

Das ändert sich im Juli 2026

399.027wird zu407.604+8.577

Beschäftigungsverhältnisse nach den alten Regeln und nach den Änderungsaufträgen. Die Tabelle dazu steht unter „Details“.

Beleg
Tabelle
stat.stat_beschaeftigte
Lieferung
Juli 2026
Regelstand
Alte Regeln: c3ecc447f8384fea, Nach den Änderungsaufträgen: 0bfa2c5bdb38c51a
Verweis
Jüngster Monat mit fertigem Lauf in beiden Ständen
-- Alte Regeln
SELECT coalesce(k.beschaeftigungskategorie, s.qualifikation) AS kategorie, s.qualifikation,
       sum(s.wert) AS beschaeftigungsverhaeltnisse
FROM stat.stat_beschaeftigte s
LEFT JOIN stat.klass_qualifikation k ON k.code = s.qualifikation
WHERE s.regelsatz = 'v1' AND s.regelstand = 'c3ecc447f8384fea'
  AND s.variable = 'Beschaeftigungsverhaeltnisse'
  AND s.zeitraum_bis BETWEEN '2026-07-01' AND '2026-07-31'
GROUP BY ROLLUP (1, 2) ORDER BY 1, 2;

-- Nach den Änderungsaufträgen
SELECT coalesce(k.beschaeftigungskategorie, s.qualifikation) AS kategorie, s.qualifikation,
       sum(s.wert) AS beschaeftigungsverhaeltnisse
FROM stat.stat_beschaeftigte s
LEFT JOIN stat.klass_qualifikation k ON k.code = s.qualifikation
WHERE s.regelsatz = 'v2' AND s.regelstand = '0bfa2c5bdb38c51a'
  AND s.variable = 'Beschaeftigungsverhaeltnisse'
  AND s.zeitraum_bis BETWEEN '2026-07-01' AND '2026-07-31'
GROUP BY ROLLUP (1, 2) ORDER BY 1, 2;

Testrechnung für August 2024

Vorgeschlagen vom Datenmanagement-Agenten (Azure gpt-5-4-mini).

Testrechnung für August 2024: Beschäftigungsverhältnisse vorher und nachher
vorhernachher
Angestellte mit Dienstvertrag235.819Angestellte236.980
Angestellte freier Dienstvertrag1.142
Arbeiter mit Dienstvertrag141.331Arbeiter141.741
Arbeiter freier Dienstvertrag382
Beamte13.562Beamte13.563
Gesamt392.236Gesamt392.284
Gesamt ändert sich in diesem Monat um +48.
Beleg
Tabelle
meta.vorschlag
Lieferung
August 2024
Verweis
Testrechnung zu Vorschlag uc3/25, gerechnet und zurückgerollt
Stand
vorläufig
-- Je Gruppe der Lieferung: vorher getrennt (z. B. Dienstvertrag und freier Dienstvertrag), nachher je Kategorie
SELECT coalesce(k.beschaeftigungskategorie, q.code) AS kategorie, q.code AS gruppe,
       q.vorher, q.nachher
FROM meta.vorschlag v
CROSS JOIN LATERAL (
  SELECT coalesce(a.key, b.key) AS code,
         coalesce(a.value::bigint, 0) AS vorher, coalesce(b.value::bigint, 0) AS nachher
  FROM jsonb_each_text(v.probe->'2024-08'->'vorher'->'je_merkmal'->'qualifikation') a
  FULL JOIN jsonb_each_text(v.probe->'2024-08'->'nachher'->'je_merkmal'->'qualifikation') b ON b.key = a.key
) q
LEFT JOIN stat.klass_qualifikation k ON k.code = q.code
WHERE v.id = 25
UNION ALL
SELECT 'Gesamt', NULL, (v.probe->'2024-08'->'vorher'->>'gesamt')::bigint, (v.probe->'2024-08'->'nachher'->>'gesamt')::bigint
FROM meta.vorschlag v WHERE v.id = 25;

Die erste Lieferung enthält kaum Beschäftigungsverhältnisse, die im Monat enden. Deshalb ist der Unterschied hier klein.

Freigabe

freigegeben

Freigegeben von Bernhard Götzendorfer am .

Details

Juli 2026, beide Stände gerechnet

Beschäftigungsverhältnisse Juli 2026 nach den alten Regeln und nach den Änderungsaufträgen
KategorieAlte RegelnNach den ÄnderungsaufträgenUnterschied
Angestellte243.817247.579+3.762
Arbeiter143.076147.736+4.660
Beamte12.13412.289+155
Gesamt399.027407.604+8.577

Der Stand „Nach den Änderungsaufträgen“ enthält auch „Dienstvertrag und freier Dienstvertrag zusammen“. Der Unterschied kommt deshalb nicht nur aus diesem Auftrag.

Beleg
Tabelle
stat.stat_beschaeftigte
Lieferung
Juli 2026
Regelstand
Alte Regeln: c3ecc447f8384fea, Nach den Änderungsaufträgen: 0bfa2c5bdb38c51a
Verweis
Jüngster Monat mit fertigem Lauf in beiden Ständen
-- Alte Regeln
SELECT coalesce(k.beschaeftigungskategorie, s.qualifikation) AS kategorie, s.qualifikation,
       sum(s.wert) AS beschaeftigungsverhaeltnisse
FROM stat.stat_beschaeftigte s
LEFT JOIN stat.klass_qualifikation k ON k.code = s.qualifikation
WHERE s.regelsatz = 'v1' AND s.regelstand = 'c3ecc447f8384fea'
  AND s.variable = 'Beschaeftigungsverhaeltnisse'
  AND s.zeitraum_bis BETWEEN '2026-07-01' AND '2026-07-31'
GROUP BY ROLLUP (1, 2) ORDER BY 1, 2;

-- Nach den Änderungsaufträgen
SELECT coalesce(k.beschaeftigungskategorie, s.qualifikation) AS kategorie, s.qualifikation,
       sum(s.wert) AS beschaeftigungsverhaeltnisse
FROM stat.stat_beschaeftigte s
LEFT JOIN stat.klass_qualifikation k ON k.code = s.qualifikation
WHERE s.regelsatz = 'v2' AND s.regelstand = '0bfa2c5bdb38c51a'
  AND s.variable = 'Beschaeftigungsverhaeltnisse'
  AND s.zeitraum_bis BETWEEN '2026-07-01' AND '2026-07-31'
GROUP BY ROLLUP (1, 2) ORDER BY 1, 2;

Begründung des Agenten

Die gewünschte Umstellung betrifft die Zählregel von der Stichtagslogik auf den ganzen Berichtsmonat, ohne die Zähleinheit zu ändern. Dafür ist eine Änderung der bestehenden Zählregel R2_R4_stichtag_eigene_lieferung ausreichend. Die Abschnittswahl bleibt grundsätzlich als spätester relevanter Abschnitt im Berichtsmonat bestehen; soweit dafür noch eine Präzisierung im Regelsatz nötig ist, sollte das in einem gesonderten Änderungsauftrag erfolgen. Der Wechsel gilt rückwirkend und gehört in Regelsatz v2; v1 bleibt unverändert.

Die Regeländerung

Regeländerung ansehen
Tabelle
meta.vorschlag
Verweis
Vorschlag uc3/25, Regel R2_R4_stichtag_eigene_lieferung (Nach den Änderungsaufträgen)
In der Regel R2_R4_stichtag_eigene_lieferung wird „von“ von „monatsletzter“ auf „monatserster“ geändert. In der Regel R2_R4_stichtag_eigene_lieferung wird „zeitraum_art“ von „Stichtag“ auf „Monat“ geändert.
SELECT typ, regelsatz_basis, regelsatz_ziel, aenderungen
FROM meta.vorschlag
WHERE id = 25;