À propos du projet

Retentioneering est une boîte à outils Python open-source conçue pour des analyses reproductibles et auditables sur les données de clickstream et de journaux d'événements. Elle remplace les scripts ad hoc par des primitives analytiques testées et des workflows réutilisables, aidant analystes, data scientists et agents IA à explorer les parcours utilisateurs, découvrir des segments comportementaux, évaluer des expériences et vérifier les résultats. Composants clés : - **Eventstream** : un objet alimenté par DuckDB qui ingère les données brutes d'événements depuis des DataFrames pandas, des fichiers CSV/TSV/Parquet ou des exportations de base de données. Il prend en charge le filtrage, la séquentialisation, l'agrégation d'événements, la création d'événements synthétiques et d'autres processeurs chainables, retournant toujours un nouveau flux immuable. - **Widgets interactifs** : construits avec anywidget, ils s'affichent directement dans Jupyter, Colab, VS Code, etc. Les widgets incluent Transition Graph, Step Matrix, Step Sankey, Funnel, Segment Overview et Cluster Analysis, tous dotés d'un mode diff pour comparer les cohortes. - **Processeurs de données** : méthodes pour filtrer les événements, diviser les sessions, ajouter des marqueurs de désabonnement, analyser les URL, extraire les états du cycle de vie, échantillonner, et plus encore, permettant une analyse multi-résolution allant des interactions de quelques secondes aux parcours de plusieurs mois. - **Serveur MCP** : expose l'Eventstream à Claude ou tout client LLM compatible MCP. Les agents peuvent exécuter des analyses, générer des onglets de rapport et exporter des rapports HTML interactifs validés où chaque métrique renvoie à ses données source. - **APIs headless** : chaque widget possède une contrepartie orientée données uniquement (par ex. `transition_graph_data`, `funnel_data`) pour une consommation programmatique. L'installation est simple avec Python 3.10+ : ```bash pip install retentioneering ``` Un quick start consiste à charger un CSV avec trois colonnes (user_id, event, timestamp), à créer un `Eventstream`, puis à appeler `stream.transition_graph()` pour afficher un graphe interactif. La boîte à outils est livrée avec un jeu de données synthétique de e-commerce pour l'expérimentation, et toutes les visualisations peuvent être exportées en rapports HTML partageables. Les données brutes ne quittent jamais l'environnement local ; le telemetry optionnel peut être désactivé. Retentioneering 5.0 est une réécriture complète qui remplace l'ancien moteur pandas par un backend DuckDB plus rapide et des widgets anywidget modernes. La documentation, les exemples et une communauté Discord/Telegram sont disponibles sur https://retentioneering.com/docs. Le projet est sous licence Apache-2.0, encourageant l'utilisation gratuite, la modification et la distribution commerciale de la bibliothèque principale. Les contributions sont les bienvenues via les issues et pull requests GitHub.