Retentioneering Tools is a Python framework to process and analyze clickstreams, event streams, trajectories, and event logs. You can segment users, clients (agents), build ML pipelines to predict agent category or probability of target event based on historical data. With a simulator tool you can resample the data based on fitted Markov model per each behavioral segment to explore scenarios and calculate the elasticity and sensitivity of your target KPIs to changes agent behavior at the event level.
Retentioneering extends Pandas, NetworkX, Scikit-learn for in-depth processing of event sequences data, specifically Retentioneering Tools provides a powerful environment to perform an in-depth analysis of customer journey maps, bringing behavior-driven segmentation of users and machine learning pipelines to product analytics. Retentioneering is also developing customer journey map simulation engines that allow the data scientists to explore the business impact of CJM mutations and optimize product and online marketing.
Product analysts can apply Retentioneering Tools as a Python framework to explore, grow, and optimize the product based on deep analysis of user trajectories. Using Retentioneering you can vectorize clickstream logs and cluster user trajectories to automatically identify common successful or churn patterns. You can explore those patterns using our tools such as graph visualizer, step matrix, multiple clustering, and segmentation engines, and many others.
This repository contains both python library with easy to use utils, but also we provide several demos Python Notebooks and datasets to illustrate how to automate product analytics routines.
All you need to get started with Retentioneering is clickstream log of events from your web-site or app: {user_ID, event_ID, timestamp} (or use provided sample datasets in .csv format). You can vectorize individual user trajectories in dataset and plot all your users logs on 2D map using TSNE or UMAP projection:
data.retention.learn_tsne(plot_type='targets');
Users with similar patterns will appear as close dots at such map. Group of users who do not reach specified target event represent some systematic problem: usage pattern which systematically does not lead to product goals. Next you can segment users based on their behavior in the product.
Obtained user segments can be explored with graph visualizer or step matrixes or clustered again:
(data.retention.filter_cluster(4)
.retention.plot_graph(thresh = 0.05))
Plot reverse step matrix where rows correspond to events and columns show event position in the trajectory. Numbers show fraction of users having corresponding event at corresponding step:
(data.retention.filter_cluster(4)
.retention.get_step_matrix(reverse='neg'))
To explore more features please see the documentation
Firstly, you need to install python and Jupyter. We support only python 3.6 or higher versions. For quick start better to install Anaconda.
- You can install our package using pip:
pip3 install retentioneering
- Or directly from the source:
git clone https://github.com/retentioneering/retentioneering-tools
cd retentioneering-tools
pip3 install .
Explore example notebooks to get started or go through documentation pages:
- First steps Configuration, preparing your data graph basics.
- Step Matrix, Clustering Clustermap, TSNE projections, target events in clustering, cluster graphs.
- Supervised classifier Supervised learning, sklearn-api.
- Analysis Step matrix and clustering.
- Predict application remove
- Packages and Subpackages
- Utils and functions documentation
This is community-driven open source project in active development. Any contributions, new ideas, bug reports, bug fixes, documentation improvements are very welcome.
Feel free to reach out to us: retentioneering[at]gmail.com
Retentioneering now provides several opensource solutions for data-driven product analytics and web analytics. Please checkout this repository for JS library to track the mutations of the website elements: https://github.com/retentioneering/retentioneering-dom-observer
Apps better with math!:) Retentioneering is a research laboratory, analytics methodology and opensource tools founded by Maxim Godzi and Anatoly Zaytsev in 2015. Please feel free to contact us at retentioneeringATgmail.com if you have any questions regarding this rep, or to obtain more tools that we are not able to provide though the public rep.