Interpretation der Stammdaten
In dieser Dokumentation wird die Interpretation der IDOOH- Stammdaten festgehalten. Sie dient dazu, genau zu beschreiben, wie die in der Oberfläche von mediMACH angezeigten Attribute und Filter aus den Stammdaten abgeleitet wurden.
Basis
Die offizielle Dokumentation findet sich auf der IDOOH-Homepage unter Standards. Hier werden die verbindlichen Standards für die Anlieferung der Stammdaten durch die Vermarkter beschrieben.
Eine leserliche Aufbereitung einiger der in den Stammdaten beschriebenen Tabellen findet sich unter Stammdaten.
Belegungseinheiten
Diese werden im Tab "Belegungseinheiten" definiert.
- ID: Für die eindeutige ID der Belegungseinheit wird ihr Wert in der "bid"-Spalte verwendet.
- Name: Der Wert in der Spalte "bname".
Screens der Belegungseinheit
Die Bestimmung der Screens über die Screenfilter und parent_bid ist beim Einlesen der Stammdaten nicht nötig, da in der Belegungseinheiten-Tabelle Hilfsspalten existieren, in denen die Screens aufgelöst wurden (list_screens_active_[1-4]) - siehe Screenfilter Stammdaten.
Aus diesen Screens leiten sich auch die Objekte ab, an denen diverse Attribute hängen.
AGS-Tabelle
In den Stammdaten befindet sich das Tabellenblatt AGS. Diese Tabelle wird für diverse Informationen benötigt, die am amtlichen Gemeindeschlüssel hängen. Das allgemeine Vorgehen dabei ist:
Ableitung von Geo-Informationen
- Betrachte eine BE, nimm alle Screens der BE.
- Bilde die Menge aller Objekte, in denen mindestens einer der Screens auftrit.
- Nimm die Menge der AGS der Objekte.
- Leite daraus als Vektor alle Kombis aus Bundesland-, Nielsen-, Regierungsbezirk-, Stadt-, Ortsgrößen ab.
- Schreib alle Konfigurationen an die BE.
Die AGS-Tabelle wird von IDOOH zur Verfügung gestellt. Sie wird einmal im Jahr aktualisiert (jeweils zum 1. Juli) und ist danach für ein Jahr gültig (unabhängig von den laufenden Veränderungen von AGS), um so eine Stabilität bei der Kampagnenplanung zu gewährleisten. Für die Planungen wird die neue AGS ab dem September des jeweiligen Jahres verwendet. Die AGS Tabelle enthält auch historische AGS, so dass Veränderungen leicht über ein Matching der historischen AGS erfolgen können (siehe Feedback vom 6.2.2025).
Filter
Vermarkter
Die VermarkterID ("publisher_id") ist ein Pflichtfeld der Belegungseinheiten. Der Vermarkter wird nur hierüber bestimmt. Alternative Wege bei fehlender Angabe (über z.B. den Publisher des Objektes) werden nicht verfolgt.
Bundesland
Die Bundesländer einer Belegungseinheit werden über die Objekte der Screens bestimmt (siehe Ableitung von Geo-Informationen).
Nielsengebiet
Das Nielsengebiet ist in den Stammdaten nicht enthalten. Es wird beim Einlesen der Stammdaten über den Namen des Bundeslandes entsprechend der offiziellen Zuordnung (Wikipedia) gesetzt.
Stadt
Die Bestimmung des Objektes und seiner zugehörigen AGS erfolgt (siehe Ableitung von Geo-Informationen) über die Screens. Der Name der Stadt wird aus der Spalte "Gemeindename in Systemen" der AGS-Tabelle genommen (die Angabe der Stadt in der "city"-Spalte der Objekte wird ignoriert).
Ortsklassengrößen
Die Benennung der Ortsgrößen erfolgt über das Tabellenblatt "city size" in den Stammdaten.
Die Bestimmung der Ortsgröße erfolgt über den Wert in der Spalte "Einwohnerzahl" des AGS-Tabellenblattes. Dies wird für die Zuordung der Städte in die jeweilige Klasse genutzt.
Postleitzahl (PLZ)
Über die Spalte "postcode5" im Tabellenblatt "Objektliste".
Venues
Die Venues sind im Tabellenblatt "Venue Taxonomy" definiert.
Die Bestimmung der Venue eines Screens erfolgt über die Spalte "zone_id" in der Screenliste. Die ersten beiden Stellen bestimmen die ersten beiden Level des Venue. Wenn die dritte Stelle ein Zahl (und kein Buchstabe) ist, wird sie auf ein entsprechendes Venue Level 3 gemappt.
Zusätzlich werden die "venue_id_screen" im Tabellenblatt "Screenliste" oder die "venue_id_object" im Tabellenblatt "Objektliste" betrachtet, um die Venue-Levels 3-4 zu bestimmen. Diese Ergänzung erfolgt nur, wenn die venue_id nicht im Widerspruch zur zone_id steht.
Vermarkterversion
Für die Ansicht und Filterung von Objekten und Screen werden einige zusätzliche Informationen aufbereitet.
- Screen-ID => Spalte "screen_id" im Tabellenblatt "Screenliste"
- Name des Screens => Spalte "screen_name_publisher" im Tabellenblatt "Screenliste"
- Object-ID => Spalte "object_id" im Tabellenblatt "Screenliste"
- Name des Objektes => Spalte "object_name_publisher" im Tabellenblatt "Objektliste"
Preise
Tabelle Belegungseinheiten
Preisspalten
Belegungseinheiten, die selber keine Parents sind, müssen eines der folgenden Kriterien erfüllen
- Die Spalten price_q123 und price_q4 enthalten Preise
- Die Spalten cpm_q123 und cpm_q4 enthalten Preise
- Die Spalte pricing_table_id enthält einen Verweis auf die Tabelle Pricing Tables
Problem 1 - BEs ohne Preise
Fehlende Preise
Es gibt Belegungseinheiten, die kein Parents sind und trotzdem keines der oberen Kriterien erfüllen.
| excel_index | bid |
|---|---|
| 12 | 50000011 |
| 13 | 50000012 |
| 15 | 50000014 |
Die gesamte Liste kann hier heruntergeladen werden.
Spalte pricing_table_id
Diese Spalte enthält einen Verweis auf die Tabelle Pricing Tables, wenn die Preise nicht direkt angegeben sind.
Problem 2 - Fehlende Pricing-Tables
Fehlende IDs in Pricing Tables
Es gibt einige IDs in der Spalte pricing_table_id, die nicht in der Tabelle Pricing Tables stehen.
| excel_index | bid | pricing_table_id |
|---|---|---|
| 5002 | 50005001 | 600000140 |
| 5003 | 50005002 | 600000114 |
| 5004 | 50005003 | 600000140 |
Die gesamte Liste kann hier heruntergeladen werden.
Tabelle Pricing Tables
Enthält die Preise für einzelne Ausspielungseinstellungen.
Preisspalten
Einträge in dieser Tabelle müssen eines der folgenden Kriterien erfüllen
- Die Spalten price_q123 und price_q4 enthalten Preise
- Die Spalten cpm_q123 und cpm_q4 enthalten Preise
Problem 3 - Fehlende Preise in Pricing-Tables
Fehlende Preise
Es gibt einige Einträge, die keine der oben aufgeführten Kriterien erfüllen.
| excel_index | pricing_table_id |
|---|---|
| 27 | 60000001 |
| 59 | 60000001 |
| 91 | 60000001 |
Die gesamte Liste kann hier heruntergeladen werden.
Ausspielungsspalten
Die Spalten playouts_per_hour, spot_length, weekday_id und daypart_id bilden eine Kombination, für die die Preise gelten. Alle Spalten müssen einen Wert enthalten.
Problem 4 - Fehlende Angaben zu einem Preiseintrag
Fehlende Werte
Es fehlen bei einigen Einträgen Werte in den Ausspielungsspalten.
| excel_index | pricing_table_id | spot_length | playouts_per_hour | weekday_id | daypart_id |
|---|---|---|---|---|---|
| 536 | 60000009 | ||||
| 537 | 60000010 | ||||
| 1084 | 60000022 | 10 | 1 | 1,2,3,4,5,12 |
Die gesamte Liste kann hier heruntergeladen werden.
Problem 5 - Widersprüchliche Preise
Doppelte Einträge mit unterschiedlichen Preisen
Für einige pricing_table_id's existieren doppelte Kombinationen mit unterschiedlichen Preisen.
| excel_index | pricing_table_id | spot_length | playouts_per_hour | weekday_id | daypart_id | price_q123 | price_q4 | cpm_q123 | cpm_q4 |
|---|---|---|---|---|---|---|---|---|---|
| 1411 | 60000040 | 10 | 12 | 11 | AX | 6.2 | 6.2 | ||
| 1412 | 60000040 | 10 | 12 | 11 | AX | 8 | 8 | ||
| 1417 | 60000040 | 10 | 12 | 4 | AX | 10.85 | 10.85 | ||
| 1418 | 60000040 | 10 | 12 | 4 | AX | 14 | 14 |
Die gesamte Liste kann hier heruntergeladen werden.
Spalte weekday_id
Diese Spalte enthält die IDs der Wochentage, für die die Preise gelten.
Problem 6 - Unbekannte Wochentage
Fehlende Referenz
In einigen Zeilen enthält die Spalte die ID "30". In der Tabelle day of week gibt es keinen Eintrag mit dieser ID.
| excel_index | pricing_table_id | weekday_id |
|---|---|---|
| 850 | 60000014 | 30 |
| 851 | 60000014 | 30 |
| 852 | 60000014 | 30 |
Die gesamte Liste kann hier heruntergeladen werden.