diff --git a/dev/2026-09-01/basiswert-0.1-kohorten.json b/dev/2026-09-01/basiswert-0.1-kohorten.json new file mode 100644 index 00000000..a030c0a2 --- /dev/null +++ b/dev/2026-09-01/basiswert-0.1-kohorten.json @@ -0,0 +1,245 @@ +{ + "from": "2026-06-01", + "to": "2026-09-21", + "stichtag": "2026-09-21", + "portals": [ + { + "portal": "presseecho", + "label": "Presseecho", + "segments": [ + { + "segment": "gesamt", + "stats": { + "anzahl": 2080, + "min": 10, + "p10": 67, + "p25": 86, + "median": 111, + "p75": 157, + "p90": 214, + "max": 50871, + "mittelwert": 151.8, + "verteilung": { + "0–24": 2, + "25–49": 100, + "50–99": 694, + "100–199": 998, + "200–499": 285, + "500–999": 0, + "1000+": 1 + } + } + }, + { + "segment": "seit Relaunch", + "stats": { + "anzahl": 1804, + "min": 10, + "p10": 76, + "p25": 91, + "median": 112, + "p75": 150, + "p90": 212, + "max": 50871, + "mittelwert": 156.7, + "verteilung": { + "0–24": 1, + "25–49": 10, + "50–99": 629, + "100–199": 943, + "200–499": 220, + "500–999": 0, + "1000+": 1 + } + } + }, + { + "segment": "Altbestand", + "stats": { + "anzahl": 276, + "min": 24, + "p10": 34, + "p25": 43, + "median": 72, + "p75": 196, + "p90": 216, + "max": 496, + "mittelwert": 119.8, + "verteilung": { + "0–24": 1, + "25–49": 90, + "50–99": 65, + "100–199": 55, + "200–499": 65, + "500–999": 0, + "1000+": 0 + } + } + } + ], + "cohorts": [ + { + "alter": "0–6 Tage", + "anzahl": 176, + "median": 75, + "mittelwert": 75.1 + }, + { + "alter": "7–13 Tage", + "anzahl": 177, + "median": 98, + "mittelwert": 98.4 + }, + { + "alter": "14–20 Tage", + "anzahl": 185, + "median": 111, + "mittelwert": 115.3 + }, + { + "alter": "21–27 Tage", + "anzahl": 191, + "median": 109, + "mittelwert": 112.5 + }, + { + "alter": "28–55 Tage", + "anzahl": 703, + "median": 122, + "mittelwert": 133.2 + }, + { + "alter": "56–90 Tage", + "anzahl": 184, + "median": 230, + "mittelwert": 234.4 + }, + { + "alter": "91+ Tage", + "anzahl": 0, + "median": null, + "mittelwert": null + } + ] + }, + { + "portal": "businessportal24", + "label": "Businessportal24", + "segments": [ + { + "segment": "gesamt", + "stats": { + "anzahl": 2140, + "min": 21, + "p10": 116, + "p25": 171, + "median": 260, + "p75": 332, + "p90": 388, + "max": 224830, + "mittelwert": 368.7, + "verteilung": { + "0–24": 1, + "25–49": 31, + "50–99": 109, + "100–199": 539, + "200–499": 1387, + "500–999": 62, + "1000+": 11 + } + } + }, + { + "segment": "seit Relaunch", + "stats": { + "anzahl": 1847, + "min": 21, + "p10": 128, + "p25": 183, + "median": 266, + "p75": 331, + "p90": 376, + "max": 224830, + "mittelwert": 384.2, + "verteilung": { + "0–24": 1, + "25–49": 7, + "50–99": 58, + "100–199": 467, + "200–499": 1282, + "500–999": 29, + "1000+": 3 + } + } + }, + { + "segment": "Altbestand", + "stats": { + "anzahl": 293, + "min": 26, + "p10": 54, + "p25": 97, + "median": 198, + "p75": 377, + "p90": 592, + "max": 1366, + "mittelwert": 271.2, + "verteilung": { + "0–24": 0, + "25–49": 24, + "50–99": 51, + "100–199": 72, + "200–499": 105, + "500–999": 33, + "1000+": 8 + } + } + } + ], + "cohorts": [ + { + "alter": "0–6 Tage", + "anzahl": 181, + "median": 115, + "mittelwert": 120.6 + }, + { + "alter": "7–13 Tage", + "anzahl": 179, + "median": 171, + "mittelwert": 176.4 + }, + { + "alter": "14–20 Tage", + "anzahl": 180, + "median": 217, + "mittelwert": 225.8 + }, + { + "alter": "21–27 Tage", + "anzahl": 190, + "median": 253, + "mittelwert": 254.5 + }, + { + "alter": "28–55 Tage", + "anzahl": 727, + "median": 314, + "mittelwert": 318 + }, + { + "alter": "56–90 Tage", + "anzahl": 194, + "median": 346, + "mittelwert": 344.4 + }, + { + "alter": "91+ Tage", + "anzahl": 0, + "median": null, + "mittelwert": null + } + ] + } + ] +} diff --git a/dev/2026-09-01/basiswerte-block0.md b/dev/2026-09-01/basiswerte-block0.md index 2606ae92..1f852cbe 100644 --- a/dev/2026-09-01/basiswerte-block0.md +++ b/dev/2026-09-01/basiswerte-block0.md @@ -1,7 +1,7 @@ # Basiswerte Block 0 -**Erhoben:** 01.09.2026 auf dem Live-System -**Fenster:** 01.06.2026 bis 01.09.2026 +**Erhoben:** 01.09.2026 auf dem Live-System; Kohorten-Basiswert am 21.09.2026 (Abschnitt „✔ Basiswert 0.1") +**Fenster:** 01.06.2026 bis 01.09.2026 (Kohorten: bis 21.09.2026) **Erhoben mit:** `press-releases:view-distribution`, `press-releases:rejection-rate` Diese Werte sind der Vergleichspunkt für alles, was aus Block 1 folgt. Sie @@ -111,11 +111,49 @@ Verzögerung des Laufs. Seit dem 21.09.2026 zählt der Report das Alter ab dem Stichtag der Erhebung (Feld `stichtag` in der JSON-Ausgabe); ein `--to` in der Vergangenheit lässt die jungen Kohorten leer. -> **Offen (letzter Schritt für 0.1):** einmal mit Stichtag = heute laufen -> lassen, dann steht die Zeile „28–55 Tage" sauber: -> `php artisan press-releases:view-distribution --from=2026-06-01 --json > dev/2026-09-01/basiswert-0.1-kohorten.json` -> (ohne `--to`; auch mit dem Live-Stand vor dem Fix korrekt, weil dann -> Enddatum und Stichtag zusammenfallen). +> ~~**Offen (letzter Schritt für 0.1):** einmal mit Stichtag = heute laufen lassen~~ +> — erledigt, siehe nächster Abschnitt. + +### ✔ Basiswert 0.1 — Kohorte „28–55 Tage", Stichtag 21.09.2026 + +Lauf `press-releases:view-distribution --from=2026-06-01 --json` auf dem +Live-System am 21.09.2026 (Enddatum = Stichtag, Alter und Zähler passen +zusammen; `basiswert-0.1-kohorten.json`). Nur Meldungen seit dem Relaunch. + +| Portal | PMs in der Kohorte | **Median** | Mittelwert | +|---|---|---|---| +| **Presseecho** | 703 | **122** | 133,2 | +| **Businessportal24** | 727 | **314** | 318,0 | + +**Das ist der Vergleichspunkt für Block 1–3.** Nächste Erhebung mit +demselben Befehl (ohne `--to`), Zeile „28–55 Tage", frühestens im +Frühjahr 2027; die Kohorte enthält dann ausschließlich Meldungen, die +unter den Maßnahmen von Block 1 veröffentlicht wurden. + +Die ganze Kurve am Stichtag 21.09.2026: + +| Alter | Presseecho PMs / Median | Businessportal24 PMs / Median | +|---|---|---| +| 0–6 Tage | 176 / 75 | 181 / 115 | +| 7–13 Tage | 177 / 98 | 179 / 171 | +| 14–20 Tage | 185 / 111 | 180 / 217 | +| 21–27 Tage | 191 / 109 | 190 / 253 | +| **28–55 Tage** | **703 / 122** | **727 / 314** | +| 56–90 Tage (= Go-Live-Wochen 20.07.–27.07.) | 184 / 230 | 194 / 346 | + +Lesart: + +- **Businessportal24 sammelt stetig** bis etwa Woche 5 und liegt dann bei + gut 300; Meldungen bekommen dort im ersten Monat rund zweieinhalbmal so + viele Aufrufe wie auf Presseecho. +- **Presseecho ist nach zwei Wochen praktisch fertig** (111 → 109 → 122). + Die 230 der Go-Live-Kohorte sind der Erstcrawl nach dem Umzug, kein + Dauerzustand — der Ausreißer aus der ersten Datei ist damit erklärt. +- Die Fensterwerte der ersten Datei (Median 126 / 303 für 01.06.–01.09.) + lagen genau deshalb höher als der Kohortenwert: sie enthalten die + Go-Live-Wochen zu einem Drittel. +- Für E2 ändert sich nichts: keine Bodensatz-Klasse, Mittelwert nahe am + Median, Portale um den Faktor 2,5 auseinander — Rohzahlen, je Portal. --- diff --git a/dev/2026-09-01/roadmap-2026.md b/dev/2026-09-01/roadmap-2026.md index 5681c0d1..efff1c47 100644 --- a/dev/2026-09-01/roadmap-2026.md +++ b/dev/2026-09-01/roadmap-2026.md @@ -36,7 +36,7 @@ Ohne definierte Konversionspunkte ist keiner der folgenden Blöcke bewertbar. Di | Nr. | Arbeitspaket | Aufwand | Abhängigkeit | |---|---|---|---| -| 0.1 | Basiswert Aufrufzahlen: Median und Verteilung je Portal über die letzten drei Monate — **erhoben 01.09. und 21.09.2026** (`basiswerte-block0.md`); Kohortenzeile „28–55 Tage" braucht noch einen Lauf mit Stichtag = heute | S | keine | +| ~~0.1~~ | Basiswert Aufrufzahlen — **abgeschlossen 21.09.2026**: Kohorte „28–55 Tage" am Stichtag 21.09. = Median **122** (Presseecho, n 703) / **314** (Businessportal24, n 727); Fensterverteilung vom 01.09. und 21.09. in `basiswerte-block0.md` | S | keine | | 0.2 | Basiswert Ablehnungsquote je Quelle (API-Client, direkt), als wiederkehrende Auswertung angelegt | S | keine | | 0.3 | Tabelle `conversion_events` anlegen: Ereignistyp, Firmen-ID, Meldungs-ID, Quelle, Zeitstempel | S | keine | | 0.4 | Herkunftsparameter in allen Mail-Links, gespeichert **auf dem Magic-Link-Token**, nicht in der Session | S | 0.3 | diff --git a/dev/2026-09-01/umsetzung-protokoll.md b/dev/2026-09-01/umsetzung-protokoll.md index 9def30e6..dcc8b67b 100644 --- a/dev/2026-09-01/umsetzung-protokoll.md +++ b/dev/2026-09-01/umsetzung-protokoll.md @@ -2148,7 +2148,8 @@ Befunde und was daraus wurde: Personenbezug" (Aufrufe/Teilen, Abrufe durch Such-, KI- und Feed-Dienste, Konversionsschritte; keine IP, lit. f) plus Frist 395 Tage in Abschnitt 13, auf Hub und beiden Portalen (eine Datei). Text vom Betreiber abgenommen. -- 0.1: Kohortenwerte „28–55 Tage" vom Live-System (Fenster 01.06.–01.09.) +- ~~0.1: Kohortenwerte „28–55 Tage" vom Live-System~~ — **abgeschlossen + 21.09.2026** (Median 122 / 314, Nachtrag Live-Deploy unten). Ursprünglich: einmal erheben und ablegen: `php artisan press-releases:view-distribution --from=2026-06-01 --to=2026-09-01 --json > dev/2026-09-01/basiswert-0.1.json` — **am 21.09.2026 auf dem Live-Server erzeugt**, liegt dort unter `~/pressekonto.com/dev/2026-09-01/basiswert-0.1.json`; ins Repo @@ -2371,8 +2372,24 @@ Beleg, warum der Gesamtmedian kein Basiswert ist). Für die saubere Kohortenzeile fehlt ein Lauf ohne `--to`: `press-releases:view-distribution --from=2026-06-01 --json`. +**Stand 21.09.2026, 17:52 — 0.1 abgeschlossen, Klassifizierung gelaufen:** + +- `press-releases:view-distribution --from=2026-06-01 --json` mit Stichtag + 21.09. (`basiswert-0.1-kohorten.json`): Kohorte „28–55 Tage" **Median + 122 (Presseecho, n 703) / 314 (Businessportal24, n 727)** — der + Basiswert für Block 1–3, eingetragen in `basiswerte-block0.md`. Kurve: + Presseecho nach zwei Wochen flach, Businessportal24 bis Woche 5 + steigend; die Go-Live-Wochen (56–90 Tage: 230 / 346) sind der Erstcrawl + nach dem Umzug. +- `company-memberships:audit --classify --before="2026-09-21 12:49"`: + 58.275 erklärbare Zuordnungen vor dem Deploy zur Umstufung auf `auto` + angezeigt. Die Schlusszeile „… als automatisch (auto) markiert" fehlt + in der übermittelten Ausgabe — falls sie nicht erschienen ist, den + Befehl einfach wiederholen (er fasst nur noch `manual`-Zeilen an). +- `schedule:list`: `billing:expire-grandfathering` 04:15 und + `billing:generate-manual-invoices` 04:30 stehen drin, ebenso + `check-index-status`, `purge-events`, `fetch-bounces`. + **Noch offen auf dem Server:** `.env` `FEED_FETCHES_RECORDED_SINCE` und `CRAWLER_HITS_RECORDED_SINCE` auf `2026-09-21` (dann `config:cache`); -`company-memberships:audit --classify --before=""`; -`livewire:publish --assets`; `queue:restart` + FPM-Neustart; -`schedule:list` auf `billing:expire-grandfathering` (04:15). +`livewire:publish --assets`; `queue:restart` + FPM-Neustart.