⚙️ System wird vorbereitet…
Suchindex und Recommender werden beim Start trainiert. Einen Moment bitte.
0 % 0.0 s
Suchindex laden (BM25 + Vektoren)
Recommender trainieren (FP-Growth, CF, Regeln)
Das Training dauert üblicherweise ein bis zwei Minuten.

🔍 Katalog-Suche & Agent

🤖 Transkript-Agent

Füge ein Transkript oder eine Raumbeschreibung ein. Der Agent extrahiert Artikel, sucht im Katalog und bewertet die Ergebnisse.

ℹ️ Wie funktioniert dieser Rechnungs-Test? — was er macht & was du tun kannst

🎯 Was das ist

Ein „Leave-One-Out"-Test für das Empfehlungs-System an echten, historischen Rechnungen. Du tust so, als hättest du eine Position auf der Rechnung vergessen — das System versucht sie aus den übrigen Positionen vorherzusagen. So siehst du, ob es das fehlende Item gefunden hätte und auf welchem Rang.

🧠 Wie das System empfiehlt

Artikel kommen aus zwei Quellen, die per Reciprocal Rank Fusion kombiniert werden:

  • FP-Growth Assoziationsregeln — „Artikel, die in Rechnungen häufig zusammen vorkommen" (z. B. {A, B} → C). Liefert Confidence & Lift.
  • Item-Item Collaborative Filtering — Artikel aus ähnlichen Rechnungen (Cosine-Ähnlichkeit über die Rechnung×Artikel-Matrix).

Arbeiten (va.number) werden aus den Artikeln der Rechnung vorhergesagt: welche Arbeit historisch mit diesen Artikeln verrechnet wurde.

🧪 Was beim Klick passiert

  • Artikel anklicken: das Item wird „entfernt", die übrigen Artikel gehen ins Modell → Top-20-Vorhersage → wir suchen den Rang des entfernten Artikels.
  • Arbeit anklicken: alle Artikel der Rechnung gehen ins Modell → wahrscheinlichste Arbeiten → wir suchen den Rang dieser Arbeit.

📊 Die Bewertung (Top-k)

Der gefundene Rang wird in Stufen eingeteilt:

Rang ≤ 3 · Top 3 Top 5 Top 10 Top 20 nicht in Top 20

⚖️ Zwei Modi — wichtig!

  • In-sample (Standard): nutzt das laufende Modell. Diese Rechnung war im Training → Ränge sind optimistisch („Bestfall").
  • Ehrlich (held-out): Button „⚖️ Ehrlich nachrechnen" trainiert das Modell ohne diese Rechnung neu → realistische Ränge. Erster Klick dauert ~1 Min.
So nutzt du es: 1 · Rechnung links wählen 2 · Artikel/Arbeit anklicken 3 · Rang & Vorhersage rechts ansehen 4 · optional „Ehrlich nachrechnen"
⚙️ Technik: gleiche Engine wie die Empfehlungen in der Artikelsuche (FP-Growth + Item-Item-CF, via RRF fusioniert). Strenge Gesamt-Genauigkeit (Recall@k über einen 80/20-Split) wird offline im Notebook gemessen — dieser Tab dient der visuellen Einzelfall-Prüfung.
Rechnungs-Empfehlungs-Test
Wähle links eine Rechnung. Klicke dann auf einen Artikel oder eine Arbeit, um zu sehen, ob der Recommender ihn zurückschlägt — und auf welchem Rang (Top 3 / 5 / 10 / 20).
ℹ️ Artikel-Kombinationen — welche Artikel werden zusammen gebraucht?

🎯 Was das zeigt

Wähle einen Artikel — die Liste zeigt die Artikel, die in den gleichen Rechnungen am häufigsten zusammen mit ihm vorkamen. Also: „Wer diesen Artikel verbaut, braucht meistens auch …".

🧠 Wie es gemessen wird

  • Confidence — Anteil der Rechnungen mit dem Anker-Artikel, die auch den Co-Artikel enthalten.
  • Lift — wie viel häufiger das Paar zusammen auftritt als bei reinem Zufall (> 1 = echter Zusammenhang).
  • n = a/b — a gemeinsame Rechnungen, b Rechnungen mit dem Co-Artikel insgesamt.

🛠️ Was du tun kannst

1 · Artikel suchen 2 · Treffer auswählen 3 · „Anzahl" einstellen (5–50)

Sortiert nach Confidence. Niedrige Evidenz (wenige gemeinsame Rechnungen) ist mit „wenig Evidenz" markiert — den Lift dann mit Vorsicht lesen.

⚙️ Datengrundlage: Ko-Vorkommen über alle historischen Rechnungen (min. 3 gemeinsame Rechnungen). Quelle ist der Drilldown /recommend/article-details — dieselbe Statistik wie im „Arbeiten"-Modus der Artikelsuche.
Artikel-Kombinationen
Suche links einen Artikel und wähle ihn aus, um die häufigsten Kombinationen zu sehen.
ℹ️ Artikel → Arbeiten — welche Arbeiten wurden mit diesem Artikel gemacht?

🎯 Was das zeigt

Wähle einen Artikel — die Liste zeigt die Arbeiten (va.number), die historisch am häufigsten zusammen mit diesem Artikel abgerechnet wurden. Also: „Wenn dieser Artikel verbaut wird, welche Arbeit fällt dann typischerweise an?".

🧠 Wie es gemessen wird

  • Confidence — Anteil der Rechnungen mit dem Artikel, in denen diese Arbeit vorkam.
  • Preis — Median, wenn dieser Artikel mit dieser Arbeit verrechnet wurde (sonst globaler Median der Arbeit).
  • n — Anzahl gemeinsamer Rechnungen.

🛠️ Was du tun kannst

1 · Artikel suchen 2 · Treffer auswählen 3 · „Anzahl" einstellen (5–50)

Hat ein Artikel keine Rechnungs-Historie, greift der Recommender auf die Standard-Arbeiten aus dem Katalog zurück (Catalog-Fallback).

⚙️ Datengrundlage: Ko-Vorkommen Artikel→va.number über alle historischen Rechnungen. Quelle ist derselbe Drilldown /recommend/article-details wie bei den Artikel-Kombinationen.
Artikel → Arbeiten
Suche links einen Artikel und wähle ihn aus, um die typischen Arbeiten zu sehen.
ℹ️ FP-Growth Regeln — alle gemachten Assoziationsregeln durchsuchen

🌳 Was das zeigt

Der Recommender lernt beim Start aus allen historischen Rechnungen „WENN → DANN"-Regeln: Wenn bestimmte Artikel zusammen auf einer Rechnung stehen, kommt dann typischerweise ein weiterer dazu.

WENN Steckdose + Bewegungsmelder    DANN Schalter/Taster
Der WENN-Teil heißt fachlich Antecedent (kann mehrere Artikel sein), der DANN-Teil Consequent (immer genau ein Artikel).

📊 Die drei Kennzahlen

  • Support — wie häufig die ganze Kombination (WENN + DANN) auf Rechnungen vorkommt. Hoch = oft gesehen, verlässlich.
  • Confidencewenn der WENN-Teil da ist, wie oft folgt dann der DANN-Artikel? (Trefferquote, 100% = immer).
  • Lift — wie viel wahrscheinlicher wird der DANN-Artikel durch den WENN-Teil. >1 = echte Verbindung, =1 = Zufall.

🌲 Empfehlungs-Baum

1 · Start-Artikel suchen & wählen 2 · Baum zeigt nächste Artikel 3 · Vorschlag (+) klicken → Korb wächst 4 · Tiefer & tiefer aufbauen

Der Baum bildet ab, wie eine Rechnung real entsteht — Artikel für Artikel. Du startest mit einem Artikel; der Recommender zeigt die wahrscheinlichsten nächsten Artikel (Kanten-Beschriftung = Confidence). Klick auf einen Vorschlag (+) legt ihn in den Korb und der Baum wächst eine Ebene weiter. So baust du Schritt für Schritt eine komplette Artikel-Kette auf. Die Filter (Conf/Lift) und die Regel-Tabelle unten erkunden parallel die zugrundeliegenden Regeln.

⚙️ Quelle: GET /recommend/fp-growth-rules — liefert alle gemachten Regeln mit Antecedent/Consequent-Metadaten.
🌲 Start-Artikel:
Top-K Vorschläge:
💡 Beispiele: lädt…
Wähle oben einen Start-Artikel — der Baum zeigt dann, welche Artikel typischerweise als Nächstes dazukommen.
WENN (diese Artikel) → DANN (dieser Artikel) Support ↕ Confidence ↕ Lift ↕
ℹ️ FP-Tree — die echte Datenstruktur des Algorithmus

🌲 Was das zeigt

Der FP-Tree (Frequent-Pattern-Tree) ist die interne Datenstruktur, mit der FP-Growth arbeitet: ein Präfix-Baum, in dem jeder Pfad von der Wurzel ein (nach Häufigkeit sortiertes) Rechnungs-Muster ist. Rechnungen mit gemeinsamem Anfang teilen sich denselben Ast — so wird die Datenbank kompakt komprimiert.

🔢 Knoten

  • Jeder Knoten = ein Artikel + seine Häufigkeit (in wie vielen Rechnungen dieser Pfad vorkommt).
  • Knoten nahe der Wurzel = häufigste Artikel (z.B. Standard-Material).
  • Tiefe Pfade = typische Artikel-Reihenfolgen in Rechnungen.

🛠️ Bedienung

1 · Min-Support einstellen 2 · Optional: ab Artikel verwurzeln 3 · Knoten klicken → auf/zuklappen

Min-Support blendet seltene Artikel aus (höher = übersichtlicher). Mit einem Wurzel-Artikel siehst du den „conditional FP-Tree": nur Rechnungen mit diesem Artikel, ab ihm nach unten. Knoten mit Kindern lassen sich per Klick auf-/zuklappen; Knotengröße = Häufigkeit.

⚙️ Quelle: GET /recommend/fp-tree — baut den Präfix-Baum live aus den Transaktionen (mlxtend gibt seinen eigenen Tree nicht her). Pruning: min_support_count, max_depth, max_children_per_node.
💡 Beispiel-Wurzeln: lädt…
Klicke auf „Baum bauen" um den FP-Tree zu erzeugen.