Übersicht
Die Multi-Layer Enrichment Engine ist ein hochentwickeltes System zur intelligenten Anreicherung von Business-Daten. Es verwendet einen mehrstufigen Ansatz, um präzise Kontaktinformationen zu ermitteln und deren Vertrauenswürdigkeit zu bewerten.
Datenfluss durch die Engine
Business Input
→
4-Layer Processing
→
Confidence Scoring
→
Enriched Output
Hauptmerkmale
- Intelligente Layer-Orchestrierung mit automatischem Skip bei ausreichenden Daten
- Confidence Scoring für jedes Datenfeld (high, medium, low, guess)
- Parallele Verarbeitung für optimale Performance
- Fallback-Mechanismen für maximale Datenabdeckung
- Quality Score Berechnung (0-100) für Gesamtbewertung
Die 4 Enrichment Layers
Jede Schicht hat eine spezifische Funktion und arbeitet komplementär zu den anderen:
1. ScrapingLayer 🌐
Direkte Website-Analyse für authentische Daten
- Scraping von Impressum, Kontakt, Über-uns Seiten
- JavaScript-Rendering mit Puppeteer
- Intelligente Navigation zu relevanten Unterseiten
- HTML-Parsing und Content-Extraktion
- Confidence Level: HIGH
2. AISearchLayer 🤖
KI-gestützte Websuche mit Perplexity AI
- Natürlichsprachliche Business-Recherche
- Domain-spezifische Suche für präzise Ergebnisse
- Mehrere AI-Modelle (sonar, sonar-pro, reasoning)
- Verifizierte Quellenangaben
- Confidence Level: HIGH bis MEDIUM
3. PatternLayer 🔍
Musterbasierte Datengenerierung
- E-Mail Pattern Recognition (info@, kontakt@, etc.)
- Branchen-spezifische Muster (z.B. praxis@ für Ärzte)
- Name-basierte E-Mail Generierung
- Validierung gegen bekannte Formate
- Confidence Level: LOW
4. DefaultsLayer 📝
Fallback für garantierte Datenvollständigkeit
- Generische Anreden ("Sehr geehrte Damen und Herren")
- Standard E-Mail Adressen (info@domain)
- Branchen-typische Defaults
- Lokalisierte Inhalte (DE/EN/ES)
- Confidence Level: GUESS
Confidence Scoring System
Jedes angereicherte Datenfeld erhält eine Confidence-Bewertung:
HIGH (80-100)
MEDIUM (50-79)
LOW (20-49)
GUESS (0-19)
Scoring-Faktoren
- Datenquelle: Direkte Website > AI Search > Patterns > Defaults
- Validierung: Format-Checks, Domain-Verifizierung
- Konsistenz: Übereinstimmung über mehrere Quellen
- Aktualität: Zeitstempel der Datenquelle
- Vollständigkeit: Alle relevanten Felder gefüllt
Beispiel Quality Score Berechnung:
E-Mail von Website gefunden: +40 Punkte Kontaktperson identifiziert: +30 Punkte Position angegeben: +10 Punkte Telefonnummer verifiziert: +10 Punkte Zusatzinformationen: +10 Punkte ───────────────────────────────── Gesamt Quality Score: 100/100 ✅
API Referenz
POST
/api/scraper/enrich-contacts
Request Body
{
"businesses": [
{
"name": "Beispiel GmbH",
"website": "https://beispiel.de",
"address": "Hauptstraße 1, 12345 Stadt"
}
],
"options": {
"layers": ["scraping", "ai", "patterns", "defaults"],
"minConfidence": "medium",
"findEmails": true,
"findPhones": true,
"findContacts": true,
"useAI": true
}
}
Response
{
"success": true,
"results": [
{
"name": "Beispiel GmbH",
"email": "info@beispiel.de",
"emailConfidence": "high",
"contactPerson": "Max Mustermann",
"contactConfidence": "high",
"position": "Geschäftsführer",
"phone": "+49 123 456789",
"enrichmentSource": ["scraping", "ai"],
"enrichmentQuality": 95,
"qualityTier": "excellent",
"processingTime": 3247
}
]
}
Optionen
- layers: Array der zu verwendenden Layer (Standard: alle)
- minConfidence: Minimale Confidence ("high", "medium", "low", "guess")
- findEmails: E-Mail-Adressen suchen (Standard: true)
- findPhones: Telefonnummern suchen (Standard: true)
- findContacts: Ansprechpartner suchen (Standard: true)
- useAI: KI-Analyse aktivieren (Standard: true)
Praktische Beispiele
Beispiel 1: Zahnarztpraxen anreichern
// 1. Businesses finden
const businesses = await findBusinesses({
query: "Zahnarzt",
location: "München",
limit: 10
});
// 2. Mit Multi-Layer Engine anreichern
const enriched = await enrichContacts({
businesses: businesses,
options: {
layers: ["scraping", "patterns"], // Nur Scraping und Patterns
minConfidence: "medium"
}
});
Beispiel 2: High-Confidence Only
// Nur hochwertige Daten akzeptieren
const enriched = await enrichContacts({
businesses: businessList,
options: {
layers: ["scraping", "ai"], // Nur Premium-Layer
minConfidence: "high", // Nur HIGH confidence
useAI: true
}
});
Beispiel 3: Performance-Optimiert
// Schnelle Anreicherung mit Patterns
const enriched = await enrichContacts({
businesses: businessList,
options: {
layers: ["patterns", "defaults"], // Schnelle Layer
minConfidence: "guess", // Alle Daten akzeptieren
useAI: false // Keine AI für Speed
}
});
⚠️ Hinweis: Die Layer werden sequenziell verarbeitet. Wenn ein Layer ausreichende Daten mit hoher Confidence findet, werden nachfolgende Layer automatisch übersprungen (Smart Skip Feature).
Performance & Optimierung
Durchschnittliche Verarbeitungszeiten
- ScrapingLayer: 3-10 Sekunden pro Website
- AISearchLayer: 2-5 Sekunden pro Anfrage
- PatternLayer: <100ms (instant)
- DefaultsLayer: <10ms (instant)
Optimierungs-Tipps
- Nutze Layer-Selektion für spezifische Use-Cases
- Setze minConfidence für automatisches Filtering
- Batch-Processing für mehrere Businesses gleichzeitig
- Cache-Nutzung bei wiederholten Anfragen
Multi-Layer Enrichment Engine v2.0 | Teil des Minerva Business Intelligence Toolkit