Об этом проекте

Retentioneering — это Python‑based, открытый toolkit, предназначенный для воспроизводимой и аудитируемой аналитики на данных clickstream и event‑log. Он заменяет ad‑hoc скрипты проверенными аналитическими примитивами и переиспользуемыми рабочими процессами, помогая аналитикам, данным учёным и AI‑агентам исследовать пользовательские пути, обнаруживать поведенческие сегменты, оценивать эксперименты и перепроверять результаты. Ключевые компоненты: - **Eventstream**: объект, поддерживаемый DuckDB, который принимает сырые данные событий из pandas DataFrames, файлов CSV/TSV/Parquet или экспорта баз данных. Он поддерживает фильтрацию, сессионирование, схлопывание событий, создание синтетических событий и другие цепочечные процессоры, всегда возвращая новый неизменяемый поток. - **Интерактивные виджеты**: созданные с использованием anywidget, они отображаются непосредственно в Jupyter, Colab, VS Code и т.д. Виджеты включают Transition Graph, Step Matrix, Step Sankey, Funnel, Segment Overview и Cluster Analysis, все с режимом diff для сравнения когорт. - **Процессоры данных**: методы фильтрации событий, разделения сессий, добавления маркеров оттока, парсинга URL, извлечения состояния жизненного цикла, выборки и др., обеспечивающие многорозрешающий анализ от взаимодействий длительностью в секунды до путешествий на месяцы. - **MCP‑сервер**: предоставляет доступ к Eventstream для Claude или любого клиента LLM, совместимого с MCP. Агенты могут запускать анализы, генерировать вкладки отчётов и экспортировать проверенные интерактивные HTML‑отчёты, где каждая метрика связана с исходными данными. - **Headless API**: у каждого виджета есть counterpart только с данными (например, `transition_graph_data`, `funnel_data`) для программного использования. Установка проста при использовании Python 3.10+: pip install retentioneering Быстрый старт загружает CSV с тремя столбцами (user_id, event, timestamp), создаёт `Eventstream` и вызывает `stream.transition_graph()` для отображения интерактивного графика. В комплекте с toolkit поставляется синтетический набор данных электронной коммерции для экспериментов, а все визуализации можно экспортировать в виде делимых HTML‑отчётов. Исходные данные никогда не покидают локальную среду; опциональная телеметрия может быть отключена. Retentioneering 5.0 — это полная переработка, которая заменяет предыдущий движок pandas на более быстрый бэкенд DuckDB и современные виджеты anywidget. Документация, примеры и сообщество в Discord/Telegram доступны по адресу https://retentioneering.com/docs. Проект лицензирован под Apache‑2.0, что поощряет свободное использование, модификацию и коммерческое распространение основной библиотеки. Вклад приветствуется через issues и pull requests на GitHub.