Oktober 2025Stichtag 31.10.2025angehalten
Im Oktober 2025 fehlt jedes fünfte Beschäftigungsverhältnis aus dem September 2025, zusammen 78.949. Deshalb ist der Monat angehalten.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten,
p.details,
ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL
AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen
FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id
WHERE p.lauf_id = 112 AND p.regel_id = 187 AND p.ebene = 'lieferung';
-- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde:
WITH basis AS (
SELECT DISTINCT v.vvh_id FROM bereinigt.abschnitt v
WHERE v.lieferung = '2025-09' AND v.regelsatz = 'v1' AND v.herkunft = 'geliefert'
AND v.beginn <= '2025-09-30'::date AND (v.ende IS NULL OR v.ende >= '2025-09-30'::date)
),
fehlt AS (
SELECT b.vvh_id FROM basis b
WHERE NOT EXISTS (SELECT 1 FROM bereinigt.abschnitt a
WHERE a.lieferung = '2025-10' AND a.regelsatz = 'v1' AND a.herkunft = 'geliefert'
AND a.vvh_id = b.vvh_id)
)
SELECT (SELECT count(*) FROM basis) AS basis, (SELECT count(*) FROM fehlt) AS n,
coalesce((SELECT jsonb_agg(vvh_id ORDER BY vvh_id)
FROM (SELECT vvh_id FROM fehlt ORDER BY vvh_id LIMIT 5) x), '[]'::jsonb) AS beispieleBeleg
- Tabelle
- meta.lauf
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT lieferung, gezaehlt - fortgeschrieben AS aus_der_lieferung, fortgeschrieben AS uebernommen,
gezaehlt AS bestand_am_stichtag, gelesen, nicht_gezaehlt, ausgeschlossen, ergebnis_status
FROM meta.lauf
WHERE id = 112;Übernommen sind nur die 77.746, die laut Lieferung September 2025 am Stichtag noch bestanden. Die übrigen 1.203 endeten schon vorher und zählen nicht.
Wartet auf Antwort der Fachabteilung (Rückfrage R3).
11 Prüfungen auffällig, 3 halten den Monat an.
Fehler in den Daten · 7 Prüfungen
Die Ursache ist bekannt, eine feste Regel behandelt sie.
Die Lieferung hat deutlich weniger Zeilen als die vorige.89.026
345.078 / 434.104 Zeilen gegen September 2025 (-20,5 %)
erklärt, Datenproblem, hält den Monat an
Was wir tun: Der Monat ist angehalten, bis die Fachabteilung Rückfrage R3 beantwortet.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 188 AND p.ebene = 'lieferung'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: SELECT (SELECT count(*) FROM roh.lieferung WHERE lieferung = '2025-10') AS aktuell, (SELECT count(*) FROM roh.lieferung WHERE lieferung = '2025-09') AS vormonatDer Bestand am Stichtag weicht um mehr als 5 % vom Vormonat ab.81.046
313.154 gegen 394.200 in September 2025 (-20,6 %)
erklärt, Datenproblem, hält den Monat an
Was wir tun: Der Monat ist angehalten, bis die Fachabteilung Rückfrage R3 beantwortet.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 186 AND p.ebene = 'lieferung'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: SELECT (SELECT count(DISTINCT vvh_id) FROM bereinigt.abschnitt WHERE lieferung = '2025-10' AND regelsatz = 'v1' AND herkunft = 'geliefert' AND beginn <= '2025-10-31'::date AND (ende IS NULL OR ende >= '2025-10-31'::date))::bigint AS aktuell, (SELECT gezaehlt - fortgeschrieben FROM meta.lauf WHERE id = 111) AS vormonatBeschäftigungsverhältnisse, die im Vormonat noch liefen, fehlen in der Lieferung ganz.78.949
78.949 von 394.200 Beschäftigungsverhältnissen des Vormonats fehlen (20,0 %)
erklärt, Datenproblem, hält den Monat an
Was wir tun: Der Monat ist angehalten, bis die Fachabteilung Rückfrage R3 beantwortet.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 187 AND p.ebene = 'lieferung'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: WITH basis AS ( SELECT DISTINCT v.vvh_id FROM bereinigt.abschnitt v WHERE v.lieferung = '2025-09' AND v.regelsatz = 'v1' AND v.herkunft = 'geliefert' AND v.beginn <= '2025-09-30'::date AND (v.ende IS NULL OR v.ende >= '2025-09-30'::date) ), fehlt AS ( SELECT b.vvh_id FROM basis b WHERE NOT EXISTS (SELECT 1 FROM bereinigt.abschnitt a WHERE a.lieferung = '2025-10' AND a.regelsatz = 'v1' AND a.herkunft = 'geliefert' AND a.vvh_id = b.vvh_id) ) SELECT (SELECT count(*) FROM basis) AS basis, (SELECT count(*) FROM fehlt) AS n, coalesce((SELECT jsonb_agg(vvh_id ORDER BY vvh_id) FROM (SELECT vvh_id FROM fehlt ORDER BY vvh_id LIMIT 5) x), '[]'::jsonb) AS beispieleBei 1.980 Beschäftigungsverhältnissen fehlt die Branche oder das Bundesland. Sie zählen unter „unbekannt“.1.980
erklärt, Datenproblem
Was wir tun: Unbekannt (UNB bzw. 0), Zeile zählt.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 181 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT vvh_id, 1 AS gewicht FROM _bestand WHERE korrekturen && '{Q02_leer_unbekannt}'::text[]) SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM tBei 391 Beschäftigungsverhältnissen steht im Geburtsdatum der Monat 13. Wir nehmen das Geburtsjahr und einen Ersatztag als Geburtstag.391
erklärt, Datenproblem
Was wir tun: Geburtstag unbekannt: 1. Juli des Geburtsjahres als Ersatztag, Alter in vollendeten Jahren am Stichtag.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 175 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT vvh_id, 1 AS gewicht FROM _bestand WHERE geburtsdatum_status = 'monat_13') SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM t50 Beschäftigungsverhältnisse tragen noch einen alten Branchencode aus ÖNACE 2003. Wir zählen sie zur Herstellung von Waren (Abschnitt C).50
erklärt, Datenproblem
Was wir tun: Zugeordnet zu C (Umsteiger ÖNACE 2003 zu 2008)
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 182 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT vvh_id, 1 AS gewicht FROM _bestand WHERE korrekturen && '{Q01_oenace_2003_unterabschnitte}'::text[]) SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM t10 Beschäftigungsverhältnisse haben ein Alter, das nicht stimmen kann. Sie zählen mit dem Alter „unbekannt“.10
erklärt, Datenproblem
Was wir tun: Alter unbekannt (-1), Beschäftigungsverhältnis zählt.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 177 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT vvh_id, 1 AS gewicht FROM _bestand WHERE alter_roh > 110 OR alter_roh < 0) SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM t
Kein Fehler: echt oder üblich · 2 Prüfungen
Ungewohnt, aber echt oder üblich, etwa Saison oder Nachmeldungen. Zählt mit und wird vermerkt.
248 Beschäftigungsverhältnisse gehören Menschen ab 75 Jahren. Das ist echt, sie zählen in der Gruppe „75 und mehr“.248
erklärt, plausibel
Was wir tun: Gezählt, Zeile 75 und mehr.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 178 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT vvh_id, 1 AS gewicht FROM _bestand WHERE alter_roh BETWEEN 75 AND 110) SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM t2 Gruppen mit mindestens 500 Beschäftigungsverhältnissen haben sich gegenüber dem Vormonat um mehr als 3 % verändert.2
2 Zellen (0 ohne Saisonerklärung): oenace A -13,73 %, oenace I -9,22 %
erklärt, plausibel
Was wir tun: Nichts zu tun, das ist die übliche Saison (Land- und Forstwirtschaft, Bau, Beherbergung und Gastronomie; Salzburg, Tirol, Vorarlberg).
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 185 AND p.ebene = 'aggregat'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- Gliederung qualifikation WITH vm AS ( SELECT "qualifikation"::text AS code, sum(wert)::bigint AS n FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-09-30'::date AND variable = 'Beschaeftigungsverhaeltnisse' GROUP BY 1 ), akt AS (SELECT "qualifikation"::text AS code, sum(wert)::bigint AS n FROM (SELECT * FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-10-31'::date AND variable = 'Beschaeftigungsverhaeltnisse') AS z GROUP BY 1) SELECT coalesce(vm.code, akt.code) AS code, coalesce(vm.n, 0) AS vormonat, coalesce(akt.n, 0) AS aktuell FROM vm FULL JOIN akt ON akt.code = vm.code ORDER BY coalesce(vm.code, akt.code) COLLATE "C"; -- Gliederung region WITH vm AS ( SELECT "region"::text AS code, sum(wert)::bigint AS n FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-09-30'::date AND variable = 'Beschaeftigungsverhaeltnisse' GROUP BY 1 ), akt AS (SELECT "region"::text AS code, sum(wert)::bigint AS n FROM (SELECT * FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-10-31'::date AND variable = 'Beschaeftigungsverhaeltnisse') AS z GROUP BY 1) SELECT coalesce(vm.code, akt.code) AS code, coalesce(vm.n, 0) AS vormonat, coalesce(akt.n, 0) AS aktuell FROM vm FULL JOIN akt ON akt.code = vm.code ORDER BY coalesce(vm.code, akt.code) COLLATE "C"; -- Gliederung oenace WITH vm AS ( SELECT "oenace"::text AS code, sum(wert)::bigint AS n FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-09-30'::date AND variable = 'Beschaeftigungsverhaeltnisse' GROUP BY 1 ), akt AS (SELECT "oenace"::text AS code, sum(wert)::bigint AS n FROM (SELECT * FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-10-31'::date AND variable = 'Beschaeftigungsverhaeltnisse') AS z GROUP BY 1) SELECT coalesce(vm.code, akt.code) AS code, coalesce(vm.n, 0) AS vormonat, coalesce(akt.n, 0) AS aktuell FROM vm FULL JOIN akt ON akt.code = vm.code ORDER BY coalesce(vm.code, akt.code) COLLATE "C"; -- Gliederung geschlecht WITH vm AS ( SELECT "geschlecht"::text AS code, sum(wert)::bigint AS n FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-09-30'::date AND variable = 'Beschaeftigungsverhaeltnisse' GROUP BY 1 ), akt AS (SELECT "geschlecht"::text AS code, sum(wert)::bigint AS n FROM (SELECT * FROM stat.stat_beschaeftigte WHERE regelsatz = 'v1' AND regelstand = 'c3ecc447f8384fea' AND zeitraum_art = 'Stichtag' AND zeitraum_bis = '2025-10-31'::date AND variable = 'Beschaeftigungsverhaeltnisse') AS z GROUP BY 1) SELECT coalesce(vm.code, akt.code) AS code, coalesce(vm.n, 0) AS vormonat, coalesce(akt.n, 0) AS aktuell FROM vm FULL JOIN akt ON akt.code = vm.code ORDER BY coalesce(vm.code, akt.code) COLLATE "C"
Noch nicht erklärt · 2 Prüfungen
Das Programm rät nicht, ein Mensch muss es klären.
Frühere Monate sehen in dieser Lieferung anders aus. Das steht unten als Revisionsbedarf, veröffentlichte Zahlen bleiben.5.561
August 2025: -4410 (1,1 %), September 2025: -1151 (0,3 %)
nicht erklärbar
Was wir tun: Der Unterschied steht als Revisionsbedarf im Bericht. Die Fachabteilung soll das klären.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 194 AND p.ebene = 'lieferung'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: SELECT berichtsmonat, veroeffentlicht, aktuell, differenz FROM meta.revision WHERE lauf_id = 112 AND gliederung = 'insgesamt' ORDER BY berichtsmonat280 neue Beschäftigungsverhältnisse gehören Personen, die schon ein gleiches Beschäftigungsverhältnis haben. Sie zählen, die Fachabteilung soll das klären.280
nicht erklärbar, wartet auf Antwort der Fachabteilung (R8)
Was wir tun: Sie sind markiert und zählen mit, denn gezählt werden Beschäftigungsverhältnisse, nicht Personen. Die Fachabteilung soll klären, ob es doppelte Meldungen sind.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, p.anzahl, p.umfang, coalesce(p.einstufung, 'nicht-erklaerbar') AS einstufung, p.massnahme, p.anhalten, p.details, ARRAY(SELECT q.nr FROM meta.rueckfrage q WHERE q.antwort IS NULL AND (q.nr = p.details ->> 'rueckfrage' OR q.regel_name = r.name)) AS offene_rueckfragen FROM meta.pruefung_treffer p JOIN meta.regel r ON r.id = p.regel_id WHERE p.lauf_id = 112 AND p.regel_id = 190 AND p.ebene = 'satz'; -- Prüfabfrage der Regel, mit der die Anzahl gerechnet wurde: -- _bestand: Verhältnisse am Stichtag nach Abschnittswahl (statagent.zaehlung) im Lauf 112 WITH t AS (SELECT b.vvh_id, 1 AS gewicht FROM _bestand b WHERE b.beginn BETWEEN '2025-10-01'::date AND '2025-10-31'::date AND b.person_id IS NOT NULL AND EXISTS (SELECT 1 FROM _bestand z WHERE z.person_id = b.person_id AND z.vvh_id <> b.vvh_id AND z.qualifikation = b.qualifikation AND z.oenace = b.oenace AND z.bundesland = b.bundesland)) SELECT coalesce(sum(gewicht), 0)::bigint AS n, coalesce((SELECT jsonb_agg(v ORDER BY v) FROM (SELECT DISTINCT vvh_id AS v FROM t ORDER BY 1 LIMIT 5) b), '[]'::jsonb) AS beispiele FROM t
Überblick
345.078 gelesene Zeilen = 313.154 gezählt + 31.924 nicht gezählt + 0 ausgeschlossen.
Beleg
- Tabelle
- meta.lauf
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT lieferung, gelesen, gezaehlt - fortgeschrieben AS gezaehlt_aus_lieferung,
nicht_gezaehlt, ausgeschlossen, fortgeschrieben
FROM meta.lauf
WHERE id = 112;Bundesländer
| Bundesland | Beschäftigungsverhältnisse |
|---|---|
| Wien | 92.480 |
| Oberösterreich | 68.053 |
| Niederösterreich | 64.733 |
| Steiermark | 53.725 |
| Tirol | 34.219 |
| Salzburg | 26.237 |
| Kärnten | 21.668 |
| Vorarlberg | 16.624 |
| Burgenland | 11.181 |
| unbekannt | 1.980 |
| Österreich gesamt | 390.900 |
- Wien92.480
- Oberösterreich68.053
- Niederösterreich64.733
- Steiermark53.725
- Tirol34.219
- Salzburg26.237
- Kärnten21.668
- Vorarlberg16.624
- Burgenland11.181
- unbekannt1.980
- Österreich gesamt390.900
Beleg
- Tabelle
- stat.stat_beschaeftigte
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT s.region, k.bezeichnung, sum(s.wert) AS beschaeftigungsverhaeltnisse FROM stat.stat_beschaeftigte s LEFT JOIN stat.klass_region k ON k.code = s.region AND k.ebene = 'bundesland' AND k.gueltig_von <= s.zeitraum_bis AND (k.gueltig_bis IS NULL OR k.gueltig_bis >= s.zeitraum_bis) WHERE s.regelsatz = 'v1' AND s.regelstand = 'c3ecc447f8384fea' AND s.zeitraum_art = 'Stichtag' AND s.variable = 'Beschaeftigungsverhaeltnisse' AND s.zeitraum_bis BETWEEN '2025-10-01' AND '2025-10-31' GROUP BY ROLLUP ((s.region, k.bezeichnung)) ORDER BY grouping(s.region), s.region = '0', 3 DESC;
Gleiche Daten, gleiche Zahlen
Dieselben Daten und Regeln ergeben dieselben Zahlen: 3 Läufe mit diesen Regeln, alle mit demselben Ergebnis-Hash 3077fc2f.
Beleg
- Tabelle
- meta.lauf
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT count(*) AS laeufe, count(DISTINCT ergebnis_hash) AS hashes, min(ergebnis_hash) AS ergebnis_hash
FROM meta.lauf
WHERE lieferung = '2025-10' AND regelsatz = 'v1'
AND regelstand = 'c3ecc447f8384fea' AND status IN ('fertig', 'unveraendert');5 Rückfragen betreffen diesen Monat, 5 offen.
R1Geburtsmonat 13 im Geburtsdatumoffen
Mit welchem Tag sollen wir bei Geburtsmonat 13 rechnen: mit dem 1. Juli, mit dem 1. Jänner oder nur mit der Differenz der Jahre?
Unser Vorschlag: Wir lesen Monat 13 als „Monat unbekannt“ und rechnen mit dem 1. Juli des Geburtsjahres, also der Jahresmitte. Das ist die beste Schätzung, wenn nur das Jahr bekannt ist, und für August 2024 ergibt es genau die Zahlen des Beispielberichts. Einen Unterschied macht die Wahl nur in Berichtsmonaten von Jänner bis Juni. Wollt ihr anders rechnen, etwa nur mit der Differenz der Jahre, stellen wir einen Wert der Regel um. Die Fälle stehen jeden Monat im Qualitätsbericht.
R3Teil-Lieferung Oktober 2025: rund ein Fünftel fehltoffen
Kommt für Oktober 2025 eine vollständige Nachlieferung, oder dürfen wir die fehlenden Beschäftigungsverhältnisse wie beschrieben aus Lieferung September 2025 fortschreiben?
Unser Vorschlag: Wir übernehmen die fehlenden Beschäftigungsverhältnisse einmalig aus Lieferung September 2025, wenn sie dort am 31.10.2025 noch gültig sind (wir schreiben sie fort). Spätere Lieferungen nutzen wir nicht, weil jeder Monat nur aus seiner eigenen und früheren Lieferungen gerechnet wird. So geht kein Beschäftigungsverhältnis verloren, und der Fehler bleibt klein: Mit Fortschreibung zählen wir 390.900 Beschäftigungsverhältnisse, Lieferung November 2025 nennt für denselben Tag 391.243. Der Qualitätsbericht zeigt gelieferte und fortgeschriebene Beschäftigungsverhältnisse getrennt, der Lauf hält an, bis ein Mensch freigibt, und der Monat bleibt vorläufig. Auch die Ministeriums-Lieferung rechnet August 2025 aus Lieferung September 2025 und nicht aus der Teil-Lieferung: Das ergibt 32.741 Personen, aus der Teil-Lieferung wären es 32.667.
R6Obergrenze für ein glaubwürdiges Alteroffen
Ab welchem Alter sollen wir ein Geburtsdatum als Fehler werten?
Unser Vorschlag: Ein Alter über 110 Jahre halten wir für einen Fehler im Geburtsdatum; es steht unter „Alter unbekannt“, das Beschäftigungsverhältnis zählt trotzdem mit. Zwischen 78 und 116 Jahren gibt es in keiner Lieferung einen Fall, deshalb ergibt jede Grenze in diesem Bereich dieselben Zahlen. Eine Grenze bei 74 würde dagegen echte 75-Jährige wegrechnen, 62 bis 310 je Monat. Dieselbe Grenze gilt für das Geburtsjahr in der Ministeriums-Lieferung.
R8Kurze Zweitmeldungen derselben Personoffen
Sind das echte zweite Beschäftigungsverhältnisse oder doppelte Meldungen, die wir nicht zählen sollen?
Unser Vorschlag: Wir zählen sie mit, denn gezählt werden Beschäftigungsverhältnisse und nicht Personen, und auch der Beispielbericht zählt sie. Im Qualitätsbericht sind sie gekennzeichnet und als „nicht erklärbar“ eingestuft, bis ihr antwortet. Ausschließen könnten wir sie nur mit Wissen aus der nächsten Lieferung, und die darf ein Monat nicht nutzen.
R10Große Gruppen springen ohne Saisongrund um mehr als 3 %offen
Kennt ihr für diese Sprünge eine Ursache in den Meldungen der Dienstgeber?
Unser Vorschlag: Wir zählen die Beschäftigungsverhältnisse so, wie sie geliefert sind, und kennzeichnen jeden Sprung im Qualitätsbericht mit Gruppe, Monat und Prozent als „nicht erklärbar“. Ohne eure Auskunft wäre jede Korrektur ein Eingriff in eine Entwicklung, die echt sein kann.
Beleg
- Tabelle
- meta.rueckfrage
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT q.nr, q.titel, q.lieferungen, q.antwort IS NOT NULL AS beantwortet
FROM meta.rueckfrage q
WHERE strpos(q.lieferungen, 'lieferung_2025-10') > 0
OR (q.lieferungen ~* '\malle\M' AND q.ab_lieferung <= '2025-10')
OR q.nr IN (SELECT t.details ->> 'rueckfrage' FROM meta.pruefung_treffer t
WHERE t.lauf_id = 112 AND t.anzahl > 0)
OR q.regel_name IN (SELECT r.name FROM meta.pruefung_treffer t JOIN meta.regel r ON r.id = t.regel_id
WHERE t.lauf_id = 112 AND t.anzahl > 0)
ORDER BY length(q.nr), q.nr;6 Annahmen gelten in diesem Monat, jede als Regel umgesetzt.
Für Oktober 2025 fehlen rund 79.000 Beschäftigungsverhältnisse. Wir übernehmen sie einmal aus der September-Lieferung und lassen den Monat vorläufig, bis die Fachabteilung antwortet.77.746
Betrifft in diesem Monat 77.746 Zeilen.
Begründung: So geht kein Beschäftigungsverhältnis verloren, und wir nutzen nur eine frühere Lieferung. Die November-Lieferung zeigt später, wie weit die Übernahme danebenlag.
Gehört zu Rückfrage R3.
Beleg
- Tabelle
- meta.regel_wirkung
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, r.beschreibung, sum(w.saetze) AS saetze FROM meta.regel_wirkung w JOIN meta.regel r ON r.id = w.regel_id WHERE w.lauf_id = 112 AND r.name = 'E07_fortschreibung_lieferausfall' GROUP BY r.name, r.beschreibung;
Kurze Zweitmeldungen derselben Person zählen als eigenes Beschäftigungsverhältnis. Wir kennzeichnen sie, bis die Fachabteilung antwortet.280
Betrifft in diesem Monat 280 Beschäftigungsverhältnisse, so viele findet die Prüfung.
Begründung: Die Statistik zählt Beschäftigungsverhältnisse, nicht Personen. So geht nichts verloren, und die Fälle bleiben sichtbar.
Gehört zu Rückfrage R8.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, sum(t.anzahl) AS beschaeftigungsverhaeltnisse FROM meta.pruefung_treffer t JOIN meta.regel r ON r.id = t.regel_id WHERE t.lauf_id = 112 AND r.name = 'P19_phantom_doppelmeldung' AND t.ebene = 'satz' GROUP BY r.name;
Alte Branchencodes aus ÖNACE 2003 (DA bis DN) zählen zur Herstellung von Waren (Abschnitt C), in den Tabellen und in der Lieferung an das Ministerium gleich.50
Betrifft in diesem Monat 50 Zeilen.
Begründung: Der Beispielbericht des Veranstalters zählt sie ebenso zu C. Dieselbe Person soll nicht an einer Stelle zu C zählen und an der anderen nicht.
Beleg
- Tabelle
- meta.regel_wirkung
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, r.beschreibung, sum(w.saetze) AS saetze FROM meta.regel_wirkung w JOIN meta.regel r ON r.id = w.regel_id WHERE w.lauf_id = 112 AND r.name = 'Q01_oenace_2003_unterabschnitte' GROUP BY r.name, r.beschreibung;
Steht im Geburtsdatum der Monat 13, gilt das Geburtsjahr, und als Geburtstag nehmen wir den 1. Juli an.391
Betrifft in diesem Monat 391 Beschäftigungsverhältnisse, so viele findet die Prüfung.
Begründung: So passen die Altersgruppen zum Beispielbericht. Antwortet die Fachabteilung anders, ändern wir nur einen Wert in der Regel.
Gehört zu Rückfrage R1.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, sum(t.anzahl) AS beschaeftigungsverhaeltnisse FROM meta.pruefung_treffer t JOIN meta.regel r ON r.id = t.regel_id WHERE t.lauf_id = 112 AND r.name = 'P04_geburtsdatum_monat_13' AND t.ebene = 'satz' GROUP BY r.name;
Ein Alter über 110 Jahre halten wir für einen Fehler und führen es als „unbekannt“. Ein Alter von 75 bis 110 Jahren ist echt und zählt.10
Betrifft in diesem Monat 10 Beschäftigungsverhältnisse, so viele findet die Prüfung.
Begründung: Im Beispielbericht stehen diese Fälle unter „unbekannt“. Ab September 2024 gibt es echte Beschäftigte über 75, die sollen nicht verschwinden.
Gehört zu Rückfrage R6.
Beleg
- Tabelle
- meta.pruefung_treffer
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, sum(t.anzahl) AS beschaeftigungsverhaeltnisse FROM meta.pruefung_treffer t JOIN meta.regel r ON r.id = t.regel_id WHERE t.lauf_id = 112 AND r.name = 'P06_alter_unplausibel' AND t.ebene = 'satz' GROUP BY r.name;
Hat ein Beschäftigungsverhältnis mehrere Zeitabschnitte, gelten die Merkmale des Abschnitts mit dem spätesten Beginn. Lücken zwischen Abschnitten füllen wir nicht auf.
Betrifft in diesem Monat 0 Zeilen.
Begründung: Die jüngere Meldung ist die aktuellere. Eine feste Reihenfolge macht jeden Lauf wiederholbar, und gefüllte Lücken wären erfundene Beschäftigungstage.
Beleg
- Tabelle
- meta.regel_wirkung
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.name, r.beschreibung, sum(w.saetze) AS saetze FROM meta.regel_wirkung w JOIN meta.regel r ON r.id = w.regel_id WHERE w.lauf_id = 112 AND r.name = 'R1_R3_verhaeltnis_einmal' GROUP BY r.name, r.beschreibung;
Beleg
- Tabelle
- meta.annahme
- Lieferung
- Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
WITH a AS (
SELECT a.*, count(*) OVER (PARTITION BY a.regel_name) AS annahmen_je_regel
FROM meta.annahme a
WHERE a.lieferungen IS NULL OR '2025-10' = ANY (a.lieferungen)
), p AS (
SELECT a.nr, r.name, r.name = a.regel_name AS eigene_regel, sum(t.anzahl) AS anzahl
FROM a
JOIN meta.pruefung_treffer t ON t.lauf_id = 112 AND t.anzahl > 0 AND t.ebene = 'satz'
JOIN meta.regel r ON r.id = t.regel_id AND (r.name = a.regel_name OR t.details ->> 'rueckfrage' = a.rueckfrage)
GROUP BY a.nr, r.name, a.regel_name
), e AS (
SELECT a.*,
(SELECT sum(w.saetze) FROM meta.regel_wirkung w JOIN meta.regel r ON r.id = w.regel_id
WHERE w.lauf_id = 112 AND r.name = a.regel_name) AS regel_saetze,
(SELECT p.anzahl FROM p WHERE p.nr = a.nr AND p.eigene_regel) AS eigene_pruefung,
(SELECT count(*) FROM p WHERE p.nr = a.nr) AS pruefungen,
(SELECT min(p.name) FROM p WHERE p.nr = a.nr) AS pruefung,
(SELECT min(p.anzahl) FROM p WHERE p.nr = a.nr) AS pruefung_anzahl,
EXISTS (SELECT 1 FROM meta.regel r WHERE r.name = a.regel_name AND r.typ = 'pruefung') AS eigene_ist_pruefung
FROM a
)
SELECT e.nr, e.rueckfrage, e.satz, e.begruendung, e.regel_name,
CASE WHEN e.annahmen_je_regel = 1 AND e.regel_saetze IS NOT NULL THEN 'regel'
WHEN e.eigene_pruefung IS NOT NULL OR e.eigene_ist_pruefung OR e.pruefungen = 1 THEN 'pruefung' END AS wirkung_quelle,
CASE WHEN e.annahmen_je_regel = 1 AND e.regel_saetze IS NOT NULL THEN e.regel_name
WHEN e.eigene_pruefung IS NOT NULL OR e.eigene_ist_pruefung THEN e.regel_name
WHEN e.pruefungen = 1 THEN e.pruefung END AS wirkung_regel,
CASE WHEN e.annahmen_je_regel = 1 AND e.regel_saetze IS NOT NULL THEN e.regel_saetze
WHEN e.eigene_pruefung IS NOT NULL THEN e.eigene_pruefung
WHEN e.eigene_ist_pruefung THEN 0
WHEN e.pruefungen = 1 THEN e.pruefung_anzahl END AS wirkung_saetze,
(SELECT q.beleg_sql FROM meta.rueckfrage q WHERE q.nr = e.rueckfrage) AS beleg_sql
FROM e ORDER BY length(e.nr), e.nr;Diese Lieferung zeigt Revisionsbedarf für 2 frühere Monate.
Mit dieser Lieferung wäre August 2025 um 4.410 Beschäftigungsverhältnisse kleiner als bisher gezeigt (389.302 statt 393.712). Die bisher gezeigte Zahl bleibt stehen, weil jeder Monat nur aus seiner eigenen Lieferung gerechnet wird.
Gründe: 4.360 Beschäftigungsverhältnisse sind in der neuen Lieferung nicht mehr enthalten, 655 Beschäftigungsverhältnisse wurden rückwirkend abgemeldet und 605 Beschäftigungsverhältnisse wurden nachgemeldet.
Beleg
- Tabelle
- meta.revision
- Monat
- August 2025 aus Lieferung Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.berichtsmonat, r.veroeffentlicht, r.aktuell, r.differenz, r.status_vorher, u.ursache, u.anzahl, EXISTS (SELECT 1 FROM meta.revision g WHERE g.lauf_id = r.lauf_id AND g.berichtsmonat = r.berichtsmonat AND g.gliederung <> 'insgesamt' AND g.differenz <> 0) AS umgeschichtet FROM meta.revision r LEFT JOIN meta.revision_ursache u ON u.lauf_id = r.lauf_id AND u.berichtsmonat = r.berichtsmonat WHERE r.lauf_id = 112 AND r.gliederung = 'insgesamt' AND r.berichtsmonat = '2025-08' ORDER BY u.anzahl DESC;Mit dieser Lieferung wäre September 2025 um 1.151 Beschäftigungsverhältnisse kleiner als bisher gezeigt (393.049 statt 394.200). Die bisher gezeigte Zahl bleibt stehen, weil jeder Monat nur aus seiner eigenen Lieferung gerechnet wird.
Gründe: 1.203 Beschäftigungsverhältnisse sind in der neuen Lieferung nicht mehr enthalten, 681 Beschäftigungsverhältnisse wurden nachgemeldet, 629 Beschäftigungsverhältnisse wurden rückwirkend abgemeldet und bei 2 Beschäftigungsverhältnisse hat sich ein Merkmal geändert.
Beleg
- Tabelle
- meta.revision
- Monat
- September 2025 aus Lieferung Oktober 2025
- Regelstand
- c3ecc447f8384fea
- Lauf
- 3077fc2fe68f4a769725317cc054293c32ee07d33f904b98badb093b99b52ca2
- Stand
- vorläufig
SELECT r.berichtsmonat, r.veroeffentlicht, r.aktuell, r.differenz, r.status_vorher, u.ursache, u.anzahl, EXISTS (SELECT 1 FROM meta.revision g WHERE g.lauf_id = r.lauf_id AND g.berichtsmonat = r.berichtsmonat AND g.gliederung <> 'insgesamt' AND g.differenz <> 0) AS umgeschichtet FROM meta.revision r LEFT JOIN meta.revision_ursache u ON u.lauf_id = r.lauf_id AND u.berichtsmonat = r.berichtsmonat WHERE r.lauf_id = 112 AND r.gliederung = 'insgesamt' AND r.berichtsmonat = '2025-09' ORDER BY u.anzahl DESC;