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 timeoutSELECT ts, sessionize(ts, INTERVAL '30 minutes') OVER (ORDER BY ts) AS session_idFROM events;
-- Conversion funnel analysisSELECT 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.