Forschung

Änderungstempo im Bundesrecht: eine Zählung in Änderungstagen

Veröffentlicht am 30.08.2026 · nu:legal Research

Ein Änderungstag ist ein Kalendertag, an dem sich der Text mindestens einer Norm einer Vorschrift von der zuvor gespeicherten Fassung unterschied. Seit dem 10. Juni 2019 hat sich nach dieser Kennzahl kein Gesetz im Korpus von nu:legal an so vielen Tagen geändert wie das SGB V: 25 Änderungstage, vor dem EnWG 2005 mit 17 und dem EStG mit 13. Die gesamte Spitze der Rangliste ist Bundesrecht. Aufschlussreicher als die Rangliste selbst ist der Weg dorthin: die naheliegende Zählung der Textfassungen misst etwas anderes, als sie verspricht, und erst die Umstellung auf Änderungstage macht die Rangliste belastbar.

Die Rangliste

Der Datenbestand von nu:legal umfasst zum Stichtag 20. August 2026 insgesamt 9.740 Gesetze und Verordnungen, davon 7.850 auf Bundesebene, 1.885 aus Brandenburg und 5 unter dem Ebenenkürzel INT. Sie zerfallen in 213.186 Einzelnormen mit zusammen 220.777 Textfassungen. Eine Fassung ist dabei ein gespeicherter Textstand einer einzelnen Norm; ändert sich der Text, entsteht eine neue Fassung mit einem Beobachtungsdatum.

Änderungstage im Sinne des ersten Satzes werden ab dem 10. Juni 2019 gezählt, dem Tag des Basisimports, und nur für Fassungen, die nicht die erste ihrer Norm sind. Nach dieser Kennzahl führen die folgenden zwölf Vorschriften:

VorschriftRechtsetzungsebeneAusfertigungÄnderungstageberührte Fassungenletzte Änderung
SGB 5BUND20.12.1988253311.08.2026
EnWG 2005BUND07.07.2005172013.04.2025
EStGBUND16.10.1934131910.07.2025
IfSGBUND20.07.2000121323.08.2024
AZRG-DVBUND17.05.1995121224.06.2026
BGBBUND18.08.1896106010.07.2026
FeV 2010BUND13.12.2010101419.09.2025
BWO 1985BUND28.08.198591817.07.2026
BImSchGBUND15.03.197491514.03.2026
AufenthG 2004BUND30.07.200491223.07.2025
SGB 11BUND26.05.199481324.04.2026
SGB 6BUND18.12.198981314.08.2026

Die Tabellen und der Anhang geben die Kurzbezeichnungen in der Schreibweise der Datenbank wieder, etwa SGB 5 für das SGB V, und Datumsangaben in numerischer Form; der Fließtext verwendet die amtliche Zitierweise und die ausgeschriebene Datumsform.

Zwei Messwerte tragen diese Rangliste und werden weiter unten hergeleitet: von den 1.879 Folgefassungen des Bundesrechts sind 194 (10,3 %) nach Normalisierung der Leerzeichen zeichengleich mit ihrer Vorgängerfassung, also bloße Scheinfassungen; von den 142 Änderungstagen der zwölf Vorschriften oben tragen dagegen 136 mindestens eine Norm mit echtem Textunterschied.

Alle zwölf Vorschriften gehören dem Bundesrecht an. Neun davon sind formelle Gesetze, drei sind Rechtsverordnungen: die AZRG-DV (Verordnung zur Durchführung des Gesetzes über das Ausländerzentralregister), die FeV 2010 (Fahrerlaubnis-Verordnung) und die BWO 1985 (Bundeswahlordnung). Das Sozialrecht ist mit SGB V, SGB XI und SGB VI dreifach vertreten; daneben stehen Zivilrecht (BGB), Steuerrecht (EStG), Energierecht (EnWG 2005), Infektionsschutzrecht (IfSG), Immissionsschutzrecht (BImSchG), Ausländerrecht (AufenthG 2004), Straßenverkehrsrecht (FeV 2010), Wahlrecht (BWO 1985) und Registerrecht (AZRG-DV). Insgesamt haben 655 Bundesvorschriften und 311 brandenburgische Vorschriften mindestens einen Änderungstag.

Der Kontrast zwischen BGB und SGB V zeigt, was die Kennzahl misst. Das BGB hat mit 60 berührten Fassungen mehr als jede andere Vorschrift der Liste, aber nur 10 Änderungstage. Wenn das BGB angefasst wird, werden viele Normen auf einmal angefasst. Das SGB V wird dagegen oft angefasst: 25 Änderungstage bei 33 berührten Fassungen, also meist nur eine oder wenige Normen je Tag. Wer nach Fassungen ränge, sähe das BGB weit vorn und läse daraus ein Änderungstempo ab, das es so nicht gibt. Das ist der Unterschied zwischen „viele Paragraphen auf einmal“ und „oft“.

Warum Fassungszählungen in die Irre führen

Die naheliegende Kennzahl für Änderungstempo wäre die Zahl der Fassungen je Vorschrift. Sie scheitert an zwei Eigenschaften der Datenerhebung, die man kennen muss, um die Zahlen richtig zu lesen.

Erstens ist das Datum einer Fassung, in der Datenbank die Spalte valid_from, ein Beobachtungsdatum. Es bezeichnet den Tag, an dem der Ingest, der automatisierte Import aus der Quelle, den Text erstmals abweichend gesehen hat. Es ist kein Inkrafttretensdatum und keine amtliche Zählung von Änderungsgesetzen. Der Basisimport macht das unübersehbar: 116.590 der 220.777 Fassungen tragen das Datum 10. Juni 2019, und jede einzelne davon ist die erste Fassung ihrer Norm. Würde man erste Fassungen mitzählen, ränge man Vorschriften schlicht danach, wie viele Paragraphen sie haben. Deshalb beginnt die Zählung nach dem 10. Juni 2019 und schließt Erstfassungen aus.

Zweitens entsteht eine neue Fassung immer dann, wenn der Inhaltshash über Überschrift und Text von der Vorgängerfassung abweicht, und dieser Hash normalisiert keine Leerzeichen. Ein neuer Satzspiegel der Quelle oder eine Parseränderung eröffnet deshalb eine Fassung genauso wie ein Änderungsgesetz. Wie groß dieser Effekt ist, lässt sich messen: von allen 1.879 Folgefassungen des Bundesrechts unterscheiden sich 194, also 10,3 %, nach Normalisierung der Leerzeichen in keinem einzigen Zeichen von ihrer Vorgängerfassung. Das sind Scheinfassungen, deren einziger Unterschied im Weißraum liegt. Auch in der Restmenge finden sich Fälle, die keine Rechtsänderung sind: ein gerades Anführungszeichen wurde durch ein typografisches ersetzt, ein Punkt wurde zu einem Leerzeichen, eine Inhaltsübersicht wurde umsortiert, und ein Tippfehler wurde korrigiert, bei dem der Buchstabe l zum Buchstaben i wurde.

Es gibt keine billige Spalte in der Datenbank, die eine echte Rechtsänderung von einer solchen Neubeobachtung trennt. Man könnte versuchen, die Scheinfassungen herauszufiltern, aber jeder Filter zieht eine Grenze, die er nicht begründen kann: die Normalisierung der Leerzeichen erwischt die 194 exakt identischen Fälle, nicht aber das getauschte Anführungszeichen oder den Tippfehler.

Änderungstage statt Fassungen

Deshalb wurde nicht gefiltert, sondern die Kennzahl gewechselt. Ein Änderungstag zählt nicht, wie viele Normen sich geändert haben, sondern an wie vielen verschiedenen Tagen sich überhaupt etwas geändert hat. Das hat eine entscheidende Eigenschaft: eine Massen-Neubeobachtung, etwa weil die Quelle eine Vorschrift komplett neu gesetzt hat oder der Parser sich geändert hat, fällt auf sehr wenige Kalendertage, statt mit jeder berührten Norm einzeln zu Buche zu schlagen. Eine neu gesetzte Vorschrift kostet damit einen oder wenige Punkte in der Rangliste, eine tatsächlich häufig geänderte sammelt über die Jahre Tag um Tag. Der Fehler verschwindet nicht, aber er wird von einem Faktor, der die Rangliste dominieren kann, zu einem additiven Rauschen von wenigen Punkten.

Ob die Kennzahl trägt, lässt sich an den Daten selbst prüfen, und zwar zweifach.

Erster Beleg: die Änderungstage der Spitzengruppe bestehen die Textprobe. Über die zwölf Vorschriften der Rangliste gibt es insgesamt 142 Änderungstage; diese Zahl ergibt sich als Summe der Spalte Änderungstage der Tabelle oben. Davon tragen 136 mindestens eine Norm, deren Text sich nach Normalisierung der Leerzeichen wirklich von der Vorgängerfassung unterscheidet. Die Aufschlüsselung:

VorschriftÄnderungstagedavon mit Textunterschied
SGB 52523
EnWG 20051715
EStG1313
IfSG1212
AZRG-DV1212
BGB109
FeV 20101010
BWO 198598
BImSchG99
AufenthG 200499
SGB 1188
SGB 688
Summe142136

Die Rangliste besteht also ganz überwiegend aus Tagen mit substantiellen Textunterschieden, nicht aus Formatierungsartefakten.

Zweiter Beleg: die Kennzahl hält eine bekannte Störung von selbst aus der Rangliste heraus. Die „Änderungsgeschichte“ des brandenburgischen Bestandes trägt ein Muster, das keine Gesetzgebung erzeugt: alle brandenburgischen Änderungstage liegen auf genau drei Kalendertagen, dem 30. Juli 2026 (14 Vorschriften, 765 Fassungen), dem 1. August 2026 (296 Vorschriften, 4.855 Fassungen) und dem 2. August 2026 (18 Vorschriften, 92 Fassungen). Ein Gesetzgeber ändert nicht an drei Tagen 311 Vorschriften und sonst nie. Gemessen ist damit die zeitliche Ballung, nicht ihre Ursache; die naheliegende Erklärung ist eine Neuverarbeitung der Quelle durch den Crawler, und der Text behauptet hier nicht mehr, als die Ballung hergibt. Nach Fassungen gezählt würde dieser Bestand die Rangliste fluten. Nach Änderungstagen gezählt kommt keine brandenburgische Vorschrift auf mehr als zwei Änderungstage. Jede Vorschrift im Korpus mit drei oder mehr Änderungstagen gehört dem Bundesrecht an, das sind 100 Vorschriften. Die Kennzahl braucht dafür keinen Filter nach Rechtsetzungsebene; die Neuauswertung kollabiert von allein auf ihre wenigen Tage.

Methode

Datengrundlage ist die Produktionsdatenbank von nu:legal, gelesen am Stichtag 20. August 2026. Der Korpus umfasst 9.740 Gesetze und Verordnungen (7.850 BUND, 1.885 Brandenburg, 5 INT), 213.186 Normen und 220.777 Fassungen.

Gemessen wurde je Vorschrift die Zahl der verschiedenen Kalendertage, an denen mindestens eine ihrer Normen eine Folgefassung erhalten hat, also eine Fassung, die nicht die erste ihrer Norm ist, mit Beobachtungsdatum nach dem 10. Juni 2019. Der 10. Juni 2019 ist der Tag des Basisimports: 116.590 Fassungen tragen dieses Datum, und alle sind Erstfassungen ihrer Norm. Die Spalte „berührte Fassungen“ summiert je Änderungstag die Zahl der an diesem Tag berührten Normen.

Ausdrücklich nicht gemessen wurden: die amtliche Zahl der Änderungsgesetze, Inkrafttretensdaten, der Umfang der einzelnen Änderung und alles, was vor dem 10. Juni 2019 geschah. Die Prüfziffern (194 Scheinfassungen, 136 von 142 Änderungstagen mit substantiellem Textunterschied) beruhen auf einem Textvergleich nach Normalisierung der Leerzeichen, also nach Ersetzung jeder Folge von Leerzeichen, Umbrüchen und Tabulatoren durch ein einzelnes Leerzeichen.

Was diese Zahlen nicht sagen

Änderungstage sind keine Änderungsgesetze. Wer die amtliche Zahl der Änderungen des SGB V braucht, findet sie hier nicht. Ein Beobachtungstag kann mehrere Änderungsgesetze bündeln, wenn der Ingest sie am selben Tag zum ersten Mal sieht. Die Zahl ist also auch nach oben keine exakte Zählung.

Die Grundlinie 10. Juni 2019 bedeutet: alles, was vor diesem Tag geschah, ist unsichtbar. Das EStG von 1934 ist nicht seit 1934 dreizehnmal geändert worden, sondern dreizehnmal seit Mitte 2019 beobachtet worden. Die Ranglistenwerte sind Beobachtungszahlen über gut sieben Jahre, keine Lebensbilanzen der Vorschriften.

Der Landesbestand ist nur Brandenburg, und er ist zu dünn und zu jung, um in dieser Rangliste etwas zu bedeuten. Dass die gesamte Spitze Bundesrecht ist, sagt deshalb nichts über das Änderungstempo von Landesrecht insgesamt. Der Artikel behauptet nichts über Landesrecht.

Schließlich die Textprobe selbst: 10,3 % der Folgefassungen des Bundesrechts sind nachweislich Scheinfassungen. Für die restlichen 89,7 % ist damit nicht bewiesen, dass jede eine Rechtsänderung ist; bewiesen ist nur, dass sich der Text unterscheidet. Die 136 von 142 Änderungstagen der Spitzengruppe sind in diesem Sinne eine Untergrenze der Datenqualität, keine Garantie, dass hinter jedem Tag ein Änderungsgesetz steht.

Anhang: Abfragen

Alle Abfragen wurden am 20. August 2026 gegen die Produktionsdatenbank von nu:legal ausgeführt (read-only). Im Anhang gilt für Datumsangaben die numerische Schreibweise der Datenbank.

Korpuszahlen. Ergebnis: 9.740 Vorschriften (7.850 BUND, 1.885 BB, 5 INT), 213.186 Normen, 220.777 Fassungen (Messdatum 20.08.2026).

sql
select jurisdiction, count(*)::int laws from law group by 1 order by 2 desc;
-- BUND 7850 | BB 1885 | INT 5   (zusammen 9740)
select count(*)::int norms from norm;            -- 213186
select count(*)::int versions from norm_version; -- 220777

Rangliste nach Änderungstagen. Ergebnis: die zwölf Zeilen der Tabelle oben (Messdatum 20.08.2026).

sql
-- Rangliste nach Änderungstagen (Grundlinie 2019-06-10)
with seq as (
  select nv.norm_id, nv.valid_from, n.law_id,
         row_number() over (partition by nv.norm_id order by nv.valid_from) rn
  from norm_version nv join norm n on n.id = nv.norm_id),
ch as (select law_id, valid_from d, count(distinct norm_id) touched
       from seq where rn > 1 and valid_from > date '2019-06-10' group by 1, 2)
select l.jurabk, l.jurisdiction, l.status, l.ausfertigung_datum,
       count(*)::int days, sum(ch.touched)::int versions, max(ch.d) last_change
from ch join law l on l.id = ch.law_id
group by 1, 2, 3, 4
order by days desc, versions desc, l.jurabk
limit 12;
-- (Spalte status im Abdruck weggelassen)
-- SGB 5         | BUND | 1988-12-20 | 25 | 33 | 2026-08-11
-- EnWG 2005     | BUND | 2005-07-07 | 17 | 20 | 2025-04-13
-- EStG          | BUND | 1934-10-16 | 13 | 19 | 2025-07-10
-- IfSG          | BUND | 2000-07-20 | 12 | 13 | 2024-08-23
-- AZRG-DV       | BUND | 1995-05-17 | 12 | 12 | 2026-06-24
-- BGB           | BUND | 1896-08-18 | 10 | 60 | 2026-07-10
-- FeV 2010      | BUND | 2010-12-13 | 10 | 14 | 2025-09-19
-- BWO 1985      | BUND | 1985-08-28 |  9 | 18 | 2026-07-17
-- BImSchG       | BUND | 1974-03-15 |  9 | 15 | 2026-03-14
-- AufenthG 2004 | BUND | 2004-07-30 |  9 | 12 | 2025-07-23
-- SGB 11        | BUND | 1994-05-26 |  8 | 13 | 2026-04-24
-- SGB 6         | BUND | 1989-12-18 |  8 | 13 | 2026-08-14

Scheinfassungen im Bundesrecht. Ergebnis: 1.879 Folgefassungen, davon 194 nach Normalisierung der Leerzeichen identisch mit der Vorgängerfassung (Messdatum 20.08.2026).

sql
-- Scheinfassungen: identisch nach Normalisierung der Leerzeichen
with v as (
  select nv.norm_id, nv.valid_from, nv.text_plain,
         row_number() over (partition by nv.norm_id order by nv.valid_from) rn,
         lag(nv.text_plain) over (partition by nv.norm_id order by nv.valid_from) prev
  from norm_version nv join norm n on n.id=nv.norm_id join law l on l.id=n.law_id
  where l.jurisdiction='BUND')
select count(*)::int nonfirst,
       count(*) filter (where regexp_replace(coalesce(text_plain,''),'\s+',' ','g')
                            = regexp_replace(coalesce(prev,''),'\s+',' ','g'))::int identical
from v where rn>1;
-- 1879 | 194

Der Basisimport. Ergebnis: 220.777 Fassungen insgesamt, davon 116.590 mit Datum 10.06.2019, und alle 116.590 sind Erstfassungen ihrer Norm (Messdatum 20.08.2026).

sql
-- Der Basisimport: 116.590 Fassungen am 10.06.2019, alle Erstfassungen
select count(*)::int total_versions,
       count(*) filter (where valid_from = date '2019-06-10')::int baseline_day,
       (select count(*) from (select norm_id, min(valid_from) mv
                              from norm_version group by 1) t
        where t.mv = date '2019-06-10')::int baseline_is_first
from norm_version;
-- 220777 | 116590 | 116590

Vorschriften mit mindestens einem Änderungstag. Ergebnis: 655 BUND (Maximum 25 Tage) und 311 BB (Maximum 2 Tage) (Messdatum 20.08.2026).

sql
with seq as (select nv.norm_id, nv.valid_from, n.law_id,
       row_number() over (partition by nv.norm_id order by nv.valid_from) rn
       from norm_version nv join norm n on n.id=nv.norm_id),
ch as (select law_id, valid_from d from seq
       where rn>1 and valid_from > date '2019-06-10' group by 1,2)
select l.jurisdiction, count(distinct t.law_id)::int laws, max(t.days)::int max_days
from (select law_id, count(*) days from ch group by 1) t
join law l on l.id=t.law_id group by 1 order by 2 desc;
-- BUND | 655 | 25
-- BB   | 311 |  2

Textprobe der Spitzengruppe. Ergebnis: 142 Änderungstage, davon 136 mit mindestens einer Norm mit echtem Textunterschied nach Normalisierung der Leerzeichen (Messdatum 20.08.2026).

sql
with v as (
  select nv.norm_id, nv.valid_from, n.law_id,
         row_number() over (partition by nv.norm_id order by nv.valid_from) rn,
         regexp_replace(coalesce(nv.text_plain,''),'\s+',' ','g') cur,
         regexp_replace(coalesce(lag(nv.text_plain) over
           (partition by nv.norm_id order by nv.valid_from),''),'\s+',' ','g') prv
  from norm_version nv join norm n on n.id=nv.norm_id),
ch as (select law_id, valid_from d, bool_or(cur <> prv) real_change
       from v where rn>1 and valid_from > date '2019-06-10' group by 1,2),
top as (select law_id, count(*) days from ch group by 1 order by days desc limit 12)
select l.jurabk, t.days, count(*) filter (where ch.real_change)::int real_days
from top t join law l on l.id=t.law_id join ch on ch.law_id=t.law_id
group by 1,2 order by 2 desc, 1;
-- SGB 5 25/23, EnWG 2005 17/15, EStG 13/13, AZRG-DV 12/12, IfSG 12/12,
-- BGB 10/9, FeV 2010 10/10, AufenthG 2004 9/9, BImSchG 9/9, BWO 1985 9/8,
-- SGB 11 8/8, SGB 6 8/8   (Summen: 142 Tage, davon 136 mit Textunterschied)

Rechtsetzungsebene der Vielgeänderten. Ergebnis: genau eine Zeile, BUND mit 100 Vorschriften und maximal 25 Änderungstagen; keine Vorschrift einer anderen Rechtsetzungsebene erreicht drei Änderungstage (Messdatum 20.08.2026).

sql
-- Jede Vorschrift mit >= 3 Änderungstagen ist Bundesrecht
with seq as (select nv.norm_id, nv.valid_from, n.law_id,
       row_number() over (partition by nv.norm_id order by nv.valid_from) rn
       from norm_version nv join norm n on n.id=nv.norm_id),
ch as (select law_id, valid_from d from seq
       where rn>1 and valid_from > date '2019-06-10' group by 1,2)
select l.jurisdiction, count(*)::int laws, max(t.days) max_days
from (select law_id, count(*) days from ch group by 1) t
join law l on l.id=t.law_id where t.days >= 3 group by 1 order by 2 desc;
-- BUND | 100 | 25   (einzige Zeile)

Die brandenburgische Neuauswertung. Ergebnis: alle brandenburgischen Änderungstage liegen auf drei Kalendertagen (Messdatum 20.08.2026).

sql
-- Brandenburg: alle Änderungstage liegen auf drei Kalendertagen
with seq as (select nv.norm_id, nv.valid_from, n.law_id,
       row_number() over (partition by nv.norm_id order by nv.valid_from) rn
       from norm_version nv join norm n on n.id=nv.norm_id
       join law l on l.id=n.law_id where l.jurisdiction='BB')
select valid_from d, count(distinct law_id)::int laws, count(*)::int versions
from seq where rn>1 and valid_from > date '2019-06-10'
group by 1 order by 2 desc;
-- 2026-08-01 | 296 | 4855
-- 2026-08-02 |  18 |   92
-- 2026-07-30 |  14 |  765

Zitiervorschlag

nu:legal Research, „Änderungstempo im Bundesrecht: eine Zählung in Änderungstagen“, nu:legal Deutsches Recht, 30.08.2026, recht.nulegal.eu/forschung/aenderungstempo. Nulegal GmbH.

Download

PDFHTMLMarkdown

Dieser Artikel als Datei, mit Zitiervorschlag und Quellenangabe.

Dieser Artikel wurde maschinell verfasst und vor der Veröffentlichung fachlich gegengelesen. Jede Zahl ist gegen den Bestand geprüft; die Abfragen stehen im Anhang. Der Text ist Information, keine Rechtsberatung. Nach der Veröffentlichung wird er nicht mehr verändert; Korrekturen erscheinen als datierte Hinweise.