Incomplete-Ergebnisse debuggen
How-to · Stand: 2026-09-22
Ein evaluation-result mit status: "incomplete" heißt: Für mindestens eine
anwendbare Regel fehlte der KPI-Wert. Cluster und auditIntensityPercent sind
dann null. Das Ergebnis sagt nicht, welche KPI fehlte — das findest du so
heraus:
1. Anwendbare Regeln auflisten
php artisan kpi:rule:list --scope=supplier
php artisan kpi:rule:list --scope=service
Jede gelistete Regel (Wildcard * oder passender case_type) ist Pflicht für
ihren Scope.
2. Servicefall-Seite prüfen (Payload)
Vergleiche die kpis-Liste des eingegangenen evaluation-request mit den
scope='service'-Regeln. Fehlt ein kpi_key im Payload → Ursache gefunden;
der Fix liegt beim Publisher (Portal).
3. Händler-Seite prüfen (gespeicherte Werte)
Bewertet werden nur aktuelle (nicht abgelöste) Werte:
SELECT kpi_key, value, ingested_at
FROM kpi_values
WHERE supplier_id = :supplierId AND superseded_at IS NULL;
Fehlt dort ein Key, den eine scope='supplier'-Regel verlangt, gibt es drei
typische Ursachen:
| Befund | Ursache | Fix |
|---|---|---|
| Gar keine Zeilen für den Händler | Portal hat für diesen Händler noch nie eine kpi-message publiziert (z. B. neuer Händler) |
KPI-Lieferung für den Händler anstoßen |
| Zeilen vorhanden, aber der Key fehlt | Regel wurde aktiviert, bevor das Portal den Key liefert | Regel entfernen oder Lieferung nachrüsten, siehe Neue KPI aufnehmen |
Key vorhanden, aber alle Zeilen superseded_at IS NOT NULL |
Ingest-Anomalie (aktuelle Zeile wurde abgelöst, ohne dass eine neue kam) | kpi-message für die jüngste Periode erneut publizieren; Ingest-Logs prüfen |
4. Konsum-Kette prüfen
Kommt gar kein Ergebnis (statt eines incomplete), hängt es meist am Transport:
- Läuft der Queue-Worker (
php artisan queue:work rabbitmq)? kpi-message/evaluation-requestin RabbitMQ angestaut?- Validierungsfehler beim Payload landen als Failed Job — Failed-Jobs-Log des
Service prüfen (z. B. Tippfehler im
caseType: nurtechnical_serviceist gültig). EvaluateSupplierloggt jedes publizierte Ergebnis (Pushing evaluation result …) — im Log nachcaseIdsuchen.
Hinweis
Händler-Werte verfallen nicht per Zeitablauf; ein alter, nie abgelöster Wert
bleibt gültig und verursacht kein incomplete. Wenn Bewertungen „plötzlich"
incomplete werden, ist fast immer eine neue Pflicht-Regel oder ein
Publisher-Ausfall die Ursache, nicht das Alter der Daten.