DB-Leads verstehenTeil 2 von 13
Die vier Stufen eines Datenbank-Scans
Alles durchforsten, gezielt analysieren, gefiltert ausweisen. Teil 2 der Serie geht die vier Stufen eines Laufs durch, samt der Zähler, an denen man sieht, wofür Geld ausgegeben wurde und wofür nicht.
REOSA-Team · 05.09.2026 · 5 Min. Lesezeit
Der teuerste Fehler bei einem Werkzeug wie diesem wäre, jeden Kontakt an ein Sprachmodell zu geben. Bei 15.000 Adressen wäre das eine vierstellige Rechnung je Lauf, und der größte Teil davon ginge für Kontakte drauf, deren Ergebnis am Ende gar nicht angezeigt würde. Der Grundsatz lautet deshalb: alles durchforsten, gezielt analysieren, gefiltert ausweisen.
Dieser Text geht die vier Stufen durch, in der Reihenfolge, in der ein Lauf sie abarbeitet.
Stufe 0: die Kandidaten#
Die erste Stufe ist eine einzige Datenbankabfrage, index-gestützt, seitenweise über einen Cursor. Sie holt alle nicht archivierten Kontakte des Arbeitsbereichs.
Der Cursor ist wichtiger, als er klingt. Ein Lauf über 15.000 Kontakte mit Verlauf dauert Stunden. Er kann abbrechen, weil ein Hintergrundprozess seine Laufzeit erreicht, weil das CRM eine Zeitüberschreitung meldet oder weil jemand einen neuen Lauf startet. Ohne Cursor beginnt er danach wieder bei null, und ein Lauf, der immer wieder bei null beginnt, kommt nie an. Genau das ist in der Entwicklung passiert und in Teil 6 dieser Serie ausführlich beschrieben.
Stufe 1: der Vorfilter, deterministisch und kostenlos#
Der Vorfilter ist die wichtigste Stufe, weil er über die Kosten entscheidet. Er ist bewusst vollständig deterministisch: keine KI, keine Zufälligkeit, jede Entscheidung nachrechenbar. Vier Prüfungen, in dieser Reihenfolge.
Das Zeitfenster#
Liegt der letzte Kontakt weiter zurück als die eingestellte Zahl von Jahren, wird der Kontakt zurückgestellt. Vorgabe sind fünf Jahre, gerechnet auf den letzten Kontakt, ersatzweise auf das Anlagedatum, wenn nie ein Kontakt stattfand.
Die Entscheidung, das Fenster hier zu ziehen und nicht erst in der Anzeige, hat einen Grund: Ein Kontakt mit letztem Kontakt 2019 ist selten ein sinnvoller Lead, und eine Analyse dafür wäre verbranntes Geld. Die Entscheidung, ihn trotzdem zu lesen und zu zählen, hat den umgekehrten Grund: Würde der Filter schon in Stufe 0 greifen, tauchte der Kontakt in keiner Statistik auf, und niemand im Büro wüsste, wie viel Bestand außerhalb des Fensters liegt.
Ausgeschlossene Kontaktarten#
Ein Büro kann Kontaktarten von der Analyse ausnehmen, etwa Lieferanten, Handwerker oder Kolleginnen. Zwei Details, die beide aus einem gemessenen Fehler stammen:
Gelesen wird die Mehrzahl. onOffice führt die Kontaktart als Mehrfachauswahl, und in einem echten Konto trägt ein Kontakt regelmäßig drei bis fünf davon. Eine ausgeschlossene Art genügt für den Ausschluss.
Verglichen wird gegen die aufgelöste Beschriftung, nicht gegen den gespeicherten Options-Schlüssel. Das klingt nach einer Feinheit und war der Grund für einen der teuersten Fehler des Werkzeugs: 22 von 32 Ausschlüssen trafen nie etwas, weil auf der einen Seite ein Schlüssel und auf der anderen eine Beschriftung stand. Ein Lauf erzeugte daraufhin bezahlte Analysen für 9.339 Kontakte einer Kontaktart, die ausdrücklich ausgeschlossen war. Eine Einstellung, die nichts tut, meldet sich nicht. Sie schweigt, und man verlässt sich auf sie.
Die Frische-Prüfung#
Ist der Zeitstempel der letzten Analyse jünger als die jüngste Aktivität des Kontakts, gibt es nichts Neues zu analysieren. Der Kontakt wird übersprungen und als „nichts Neues" gezählt.
Diese eine Prüfung macht den Unterschied zwischen einem Werkzeug, das man monatlich laufen lässt, und einem, das man einmal ausprobiert. Ohne sie kostet jeder Lauf denselben Betrag wie der erste. Mit ihr kostet der zweite Lauf einen Bruchteil, weil sich in einem Monat nur bei einem kleinen Teil der Kontakte überhaupt etwas getan hat.
Ein ausdrücklich vollständiger Lauf überspringt diese Prüfung und analysiert alles im Fenster neu. Das braucht man nach einer Änderung an den Einstellungen: Wer neue Felder freigeschaltet oder Stichworte ergänzt hat, will die alten Kontakte mit dem neuen Kontext erneut gelesen haben.
Der Stichwort-Boost#
Die Aktivitätstexte werden gegen eine Stichwortliste geprüft, ohne Rücksicht auf Groß- und Kleinschreibung und wortstamm-tolerant. Ein Treffer sortiert den Kandidaten in der Analyse-Reihenfolge nach vorn.
Ein Treffer ist ausdrücklich kein Ausschlusskriterium in die andere Richtung. Ein Kontakt ohne Stichwort wird trotzdem analysiert, denn die Stichwortliste enthält nur, woran jemand gedacht hat. Der Zweck des Werkzeugs ist zu finden, woran niemand gedacht hat. In der Vorgabe stehen unter anderem Folgeauftrag, verkaufen, Erbe, geerbt, Scheidung, Umzug, Bewertung, Marktwert, Alleinauftrag, zu groß und Eigentümer.
Stufe 2: die Analyse#
Erst hier kostet es. Das Modell bekommt drei Dinge: eine Auswahl aus dem Verlauf, die vom Büro freigeschalteten CRM-Felder und das heutige Datum.
Der letzte Punkt klingt banal und war ein echter Defekt. Ein Modell weiß nicht, welcher Tag heute ist. Ohne diese Angabe kann es den Abstand zum letzten Kontakt nicht ausrechnen, und dann entstehen Gesprächseinstiege wie „wir haben Ihre Nachricht bezüglich des Verkaufs der Wohnung Ihrer Mutter erhalten" für einen Kontakt aus dem Jahr 2023. Das liest sich, als hätte das Büro drei Jahre für eine Antwort gebraucht. Heute steht das Datum im Prompt, und bei einer Pause von mehr als einem halben Jahr muss der Einstieg sie ansprechen.
Auch die Auswahl der Aktivitäten hat eine Geschichte. Ursprünglich nahm sie die 40 jüngsten Einträge plus Stichwort-Treffer. Bei einem Kontakt, der seit Jahren im Newsletter-Verteiler steht, sind die 40 jüngsten Einträge Versandzeilen ohne Text, und die eine Mail mit dem Verkaufsgedanken liegt auf Platz 63. Heute sind 15 der 60 Plätze für ältere inhaltsreiche Gespräche reserviert, erkannt an der Textlänge ab 200 Zeichen und am Ausschluss von Massenversand. Bewusst an der Länge festgemacht und nicht am Namen der Aktionsart: Ob ein Konto seinen Serienversand Newsletter, Mailing oder Info-Mail nennt, ist Sache des Kontos.
Stufe 3: Bewertung und Fund#
Die letzte Stufe rechnet deterministisch aus dem Analyse-Ergebnis einen Punktwert und entscheidet, ob daraus ein Fund wird. Kein Modell vergibt Punkte. Das ist eine Prüfbarkeits-Entscheidung: Eine Bewertung, die eine Maschine frei vergibt, lässt sich weder nachrechnen noch gegen das Gleichbehandlungsgesetz absichern.
Ein Fund braucht beides: genug Punkte und mindestens einen Beleg aus dem Verlauf. Fehlt das zweite, bleibt die Einschätzung am Kontakt, wandert aber nicht in die Prüf-Liste. Teil 3 erklärt, warum diese zweite Bedingung nachträglich eingezogen wurde, Teil 4 die Punkte selbst.
Die Zähler eines Laufs#
Ein abgeschlossener Lauf meldet nicht nur, wie viele Funde er erzeugt hat, sondern auch, was er nicht getan hat und warum:
- außerhalb des Zeitfensters, also zurückgestellt wegen Alter,
- ausgeschlossen, also wegen einer Kontaktart,
- nichts Neues, also seit der letzten Analyse unverändert,
- analysiert, also tatsächlich an ein Modell gegeben,
- Funde, also in der Prüf-Liste gelandet.
Diese Aufteilung ist kein Zierrat. Ohne sie sieht ein Lauf, der 12.000 Kontakte sparsam übersprungen hat, genauso aus wie ein Lauf, der abgestürzt ist: In beiden Fällen steht eine kleine Zahl analysierter Kontakte da. Mit den Zählern ist der Unterschied auf einen Blick sichtbar, und das ist die Voraussetzung dafür, den Einstellungen überhaupt zu vertrauen.