behavioral

Funktionen für Behavioral Analytics nach Vorbild von ClickHouse (sessionize, retention, window_funnel, window_funnel_events, sequence_match, sequence_count, sequence_match_events, sequence_next_node)

Maintainer: tomtom215

Installation und Laden

INSTALL behavioral FROM community;
LOAD behavioral;

Beispiel

-- Session assignment with 30-minute timeout
SELECT ts, sessionize(ts, INTERVAL '30 minutes') OVER (ORDER BY ts) AS session_id
FROM events;
-- Conversion funnel analysis
SELECT user_id, window_funnel(INTERVAL '1 hour', ts,
event = 'view', event = 'cart', event = 'purchase')
FROM events GROUP BY user_id;

Über behavioral

Funktionen für Behavioral Analytics in DuckDB, mit vollständiger ClickHouse-Parität:

  • sessionize: Fensterfunktion, die Sitzungs-IDs anhand von Zeitstempellücken vergibt
  • retention: Kohorten-Retention-Analyse mit booleschen Arrays
  • window_funnel: Verfolgung von Conversion-Funnel-Schritten mit 6 kombinierbaren Modi
  • window_funnel_events: Zeitstempel der besten Funnel-Kette als LIST(TIMESTAMP)
  • sequence_match: Musterabgleich über Ereignissequenzen (NFA-basiert)
  • sequence_count: Zählt nicht überlappende Mustertreffer
  • sequence_match_events: Gibt die Zeitstempel der erfüllten Bedingungen zurück
  • sequence_next_node: Findet den nächsten Ereigniswert nach einem Mustertreffer
  • behavioral_version: Diagnostischer Skalar mit der geladenen Erweiterungsversion

Alle Aggregatfunktionen unterstützen bis zu 32 boolesche Ereignisbedingungen. Ungültige Konfiguration (unbekannte Modi, fehlerhafte Muster, monatsbasierte Intervalle) führt zu aussagekräftigen SQL-Fehlern. Reine Rust-Implementierung ohne unsafe-Code in der Geschäftslogik. Gemessen mit 830 Melem/s (sessionize) und 95 Melem/s (sequence_match) auf handelsüblicher Hardware.

Hinzugefügte Funktionen

function_name function_type description comment examples
behavioral_version scalar NULL NULL
retention aggregate NULL NULL
sequence_count aggregate NULL NULL
sequence_match aggregate NULL NULL
sequence_match_events aggregate NULL NULL
sequence_next_node aggregate NULL NULL
sessionize aggregate NULL NULL
window_funnel aggregate NULL NULL
window_funnel_events aggregate NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

Diese Erweiterung fügt keine Einstellungen hinzu.