Sobre o projeto

Retentioneering é um toolkit baseado em Python, de código aberto, projetado para análises reproduzíveis e auditáveis em dados de clickstream e event‑log. Substitui scripts ad‑hoc por primitivas analíticas testadas e fluxos de trabalho reutilizáveis, ajudando analistas, cientistas de dados e agentes de IA a explorar jornadas de usuários, descobrir segmentos comportamentais, avaliar experimentos e verificar resultados cruzados. Principais componentes: - **Eventstream**: objeto respaldado pelo DuckDB que ingere dados de eventos brutos de DataFrames do pandas, arquivos CSV/TSV/Parquet ou exportações de banco de dados. Suporta filtragem, sessionização, colapso de eventos, criação de eventos sintéticos e outros processadores encadeáveis, sempre retornando um novo stream imutável. - **Widgets interativos**: construídos com anywidget, são renderizados diretamente no Jupyter, Colab, VS Code, etc. Os widgets incluem Transition Graph, Step Matrix, Step Sankey, Funnel, Segment Overview e Cluster Analysis, todos com modo diff para comparar coortes. - **Processadores de dados**: métodos para filtrar eventos, dividir sessões, adicionar marcadores de churn, analisar URLs, extrair estado do ciclo de vida, amostragem e mais, permitindo análise multirresolução de interações de segundos a jornadas de meses. - **Servidor MCP**: expõe o Eventstream para o Claude ou qualquer cliente LLM compatível com MCP. Os agentes podem executar análises, gerar abas de relatório e exportar relatórios HTML interativos validados, onde cada métrica remete aos dados de origem. - **APIs headless**: cada widget possui um contrapartida apenas de dados (por exemplo, `transition_graph_data`, `funnel_data`) para consumo programático. Instalação simples com Python 3.10+: pip install retentioneering Um início rápido carrega um CSV com três colunas (user_id, event, timestamp), cria um `Eventstream` e chama `stream.transition_graph()` para exibir um gráfico interativo. O toolkit inclui um conjunto de dados sintético de e‑commerce para experimentação, e todas as visualizações podem ser exportadas como relatórios HTML compartilháveis. Os dados brutos nunca deixam o ambiente local; a telemetria opcional pode ser desativada. Retentioneering 5.0 é uma reescrita do zero que substitui o mecanismo anterior do pandas por um backend DuckDB mais rápido e widgets modernos anywidget. Documentação, exemplos e uma comunidade Discord/Telegram estão disponíveis em https://retentioneering.com/docs. O projeto está licenciado sob Apache‑2.0, incentivando uso gratuito, modificação e distribuição comercial da biblioteca principal. Contribuições são bem‑vindas via issues e pull requests no GitHub.