Name | funnelius JSON |
Version |
0.0.5
JSON |
| download |
home_page | None |
Summary | Funnelius is an open-source Python library designed to analyze and visualize complex, non-linear user funnels. |
upload_time | 2025-09-01 17:15:44 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
funnel
journey
path
graph
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Funnelius
<kbd><img src="images/Screenshot.png" alt="My Image with Gray Border" style="border:2px solid #000;"></kbd>
**Funnelius** is an open-source Python library designed to analyze and visualize complex, non-linear user funnels. Built with Pandas, Graphviz, and Streamlit, it allows data scientists and analysts to easily track user journeys, calculate conversion rates, and identify bottlenecks.
## Prerequisites
Please ensure that you have **graphviz** and **streamlit** installed and these tools can be accessed in your Operation System's path.
## Features
- **Visualize Complex Funnels**: Analyze and visualize non-linear, conditional funnels where the next step depends on previous answers or actions.
- **Conversion Rate Calculation**: Automatically calculates conversion rates at each step of the funnel.
- **Bottleneck Detection**: Uses conditional formatting to highlight steps with low conversion rates or long durations.
- **Comparison**: Ability to compare two funnel data and see differences.
- **Answe Contribution**: Show answer contribution of every step and changes.
- **Filter and Clean Data**: Filters out noise and irrelevant data to focus on the most important routes.
- **Interactive UI**: Powered by Streamlit, providing a GUI to tweak parameters and see changes instantly.
- **PDF Export**: Generate funnel visualizations as PDF files.
## Installation
To install **Funnelius**, use pip:
```bash
pip install funnelius
```
## Usage
Here’s a quick example of how to use Funnelius to analyze a funnel:
1- Import the library:
```python
import funnelius as fa
```
2- Prepare your funnel data in a pandas DataFrame with these structure:
| user_id | action | action_start | answer |
|----------|----------|----------|----------|
| 1 | 1st question | 2025-04-10 12:04:15.00 | Yes |
| 1 | 2nd question | 2025-04-10 12:05:17.00 | No |
Render the funnel analysis:
```python
fa.render(df)
```
Funnelius will process this data and generate a visual funnel with conversion rates, drop-off percentages, and more.
You can pass this optional parameters to fine tune funnel:
- **df:** The input pandas DataFrame containing user journey data with user_id, action, and action_start columns.
- **title:** Filename (without extension) used for exporting the final funnel visualization as a PDF.
- **first_actions_filter:** Optional list of starting actions to include; filters out journeys that begin with other actions.
- **goals:** List of actions that define successful completion of the journey (used to calculate conversion).
- **max_path_num:** Maximum number of unique user paths to display in the graph; 0 means show all.
- **show_drop:** Boolean flag to include or exclude drop-off data from the funnel visualization.
- **show_answer:** Boolean flag to shw/hide answer contribution in the funnel visualization.
- **comparison_df:** The DataFrame containing user journey data that you want to use to compare.
- **gradient:** A list with length 3 that contains gradient color data in RGB points. for example: gradient = [[255,205,205],[255,255,255],[205,255,205]]
- **gradient_metric:** Metric that should be used for condtional formatting. Possible values are: **users**, **conversion-rate**, **percent-of-total** and **duration-median**
- **metrics:** A list of metrics to show in every step. Possible values are: **users**, **conversion-rate**, **percent-of-total** and **duration-median**
### Streamlit GUI
The library includes an interactive user interface powered by Streamlit, allowing you to visualize and tweak funnel parameters.
Run the app python:
```python
import funnelius as f
f.interactive()
```
screenshot:
<kbd><img src="images/Screenshot.png" alt="My Image with Gray Border" style="border:2px solid #000;"></kbd>
## Contributing
I welcome contributions! Feel free to open issues, or submit pull requests to help improve Funnelius.
## License
Funnelius is open-source software licensed under the Apache 2.0 License.
## Contact
For questions or feedback, please reach out via GitHub Issues.
Happy funnel analyzing! 🚀
Raw data
{
"_id": null,
"home_page": null,
"name": "funnelius",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "funnel, journey, path, graph",
"author": null,
"author_email": "Yaseen Esmaeelpour <yaseenes@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/40/6c/2612e254f5c86661adab67bd79a5fa217a547ba8a0f75457cd7c2a4923c6/funnelius-0.0.5.tar.gz",
"platform": null,
"description": "# Funnelius\n\n<kbd><img src=\"images/Screenshot.png\" alt=\"My Image with Gray Border\" style=\"border:2px solid #000;\"></kbd>\n\n**Funnelius** is an open-source Python library designed to analyze and visualize complex, non-linear user funnels. Built with Pandas, Graphviz, and Streamlit, it allows data scientists and analysts to easily track user journeys, calculate conversion rates, and identify bottlenecks.\n\n## Prerequisites\nPlease ensure that you have **graphviz** and **streamlit** installed and these tools can be accessed in your Operation System's path.\n\n## Features\n\n- **Visualize Complex Funnels**: Analyze and visualize non-linear, conditional funnels where the next step depends on previous answers or actions.\n- **Conversion Rate Calculation**: Automatically calculates conversion rates at each step of the funnel.\n- **Bottleneck Detection**: Uses conditional formatting to highlight steps with low conversion rates or long durations.\n- **Comparison**: Ability to compare two funnel data and see differences.\n- **Answe Contribution**: Show answer contribution of every step and changes.\n- **Filter and Clean Data**: Filters out noise and irrelevant data to focus on the most important routes.\n- **Interactive UI**: Powered by Streamlit, providing a GUI to tweak parameters and see changes instantly.\n- **PDF Export**: Generate funnel visualizations as PDF files.\n\n## Installation\n\nTo install **Funnelius**, use pip:\n\n```bash\npip install funnelius\n```\n\n## Usage\n\nHere\u2019s a quick example of how to use Funnelius to analyze a funnel:\n\n1- Import the library:\n\n```python\nimport funnelius as fa\n```\n2- Prepare your funnel data in a pandas DataFrame with these structure:\n\n| user_id | action | action_start | answer |\n|----------|----------|----------|----------|\n| 1 | 1st question | 2025-04-10 12:04:15.00 | Yes | \n| 1 | 2nd question | 2025-04-10 12:05:17.00 | No |\n\nRender the funnel analysis:\n\n```python\nfa.render(df)\n```\n\nFunnelius will process this data and generate a visual funnel with conversion rates, drop-off percentages, and more.\n\nYou can pass this optional parameters to fine tune funnel: \n\n- **df:** The input pandas DataFrame containing user journey data with user_id, action, and action_start columns.\n\n- **title:** Filename (without extension) used for exporting the final funnel visualization as a PDF.\n\n- **first_actions_filter:** Optional list of starting actions to include; filters out journeys that begin with other actions.\n\n- **goals:** List of actions that define successful completion of the journey (used to calculate conversion).\n\n- **max_path_num:** Maximum number of unique user paths to display in the graph; 0 means show all.\n\n- **show_drop:** Boolean flag to include or exclude drop-off data from the funnel visualization.\n\n- **show_answer:** Boolean flag to shw/hide answer contribution in the funnel visualization.\n\n- **comparison_df:** The DataFrame containing user journey data that you want to use to compare.\n\n- **gradient:** A list with length 3 that contains gradient color data in RGB points. for example: gradient = [[255,205,205],[255,255,255],[205,255,205]] \n\n- **gradient_metric:** Metric that should be used for condtional formatting. Possible values are: **users**, **conversion-rate**, **percent-of-total** and **duration-median**\n\n- **metrics:** A list of metrics to show in every step. Possible values are: **users**, **conversion-rate**, **percent-of-total** and **duration-median**\n\n### Streamlit GUI\n\nThe library includes an interactive user interface powered by Streamlit, allowing you to visualize and tweak funnel parameters.\n\nRun the app python:\n\n```python\nimport funnelius as f\nf.interactive()\n```\nscreenshot:\n\n<kbd><img src=\"images/Screenshot.png\" alt=\"My Image with Gray Border\" style=\"border:2px solid #000;\"></kbd>\n\n## Contributing\n\nI welcome contributions! Feel free to open issues, or submit pull requests to help improve Funnelius.\n\n## License\n\nFunnelius is open-source software licensed under the Apache 2.0 License.\n\n\n## Contact\n\nFor questions or feedback, please reach out via GitHub Issues.\n\nHappy funnel analyzing! \ud83d\ude80\n",
"bugtrack_url": null,
"license": null,
"summary": "Funnelius is an open-source Python library designed to analyze and visualize complex, non-linear user funnels.",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/yaseenesmaeelpour/funnelius",
"Issues": "https://github.com/yaseenesmaeelpour/funnelius/issues"
},
"split_keywords": [
"funnel",
" journey",
" path",
" graph"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5c425a65aec5d87e6d40b8f73891b839765db38e0a77bec022f0a63abbfc4bb3",
"md5": "8b53c045eb9f84997a9613d85ae9d2bc",
"sha256": "6bb2cf683cb2a923a9264aa7df7923e88c44fe70fdb14480de7f18ea2023bb5f"
},
"downloads": -1,
"filename": "funnelius-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b53c045eb9f84997a9613d85ae9d2bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 20903,
"upload_time": "2025-09-01T17:15:43",
"upload_time_iso_8601": "2025-09-01T17:15:43.406623Z",
"url": "https://files.pythonhosted.org/packages/5c/42/5a65aec5d87e6d40b8f73891b839765db38e0a77bec022f0a63abbfc4bb3/funnelius-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "406c2612e254f5c86661adab67bd79a5fa217a547ba8a0f75457cd7c2a4923c6",
"md5": "eb0c37a036a28841114d8280e5adcaf6",
"sha256": "0de662a11fe841243a9d906e9ad6d339989f2814edf47f86b3405f03f6002314"
},
"downloads": -1,
"filename": "funnelius-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "eb0c37a036a28841114d8280e5adcaf6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 19234,
"upload_time": "2025-09-01T17:15:44",
"upload_time_iso_8601": "2025-09-01T17:15:44.918508Z",
"url": "https://files.pythonhosted.org/packages/40/6c/2612e254f5c86661adab67bd79a5fa217a547ba8a0f75457cd7c2a4923c6/funnelius-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 17:15:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yaseenesmaeelpour",
"github_project": "funnelius",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "funnelius"
}