BI analytics. Boosted.

atoti is a free Python BI analytics platform for Quants, Data Analysts, Data Scientists & Business Users to collaborate better, analyze faster and translate their data into business KPIs

Powered by ActiveViam

atoti highlights


Analyze millions of rows on your laptop and up to several terabytes in the cloud

Create what-if scenarios and compare them side by side

Enable multi-dimensional analysis with OLAP cubes


Visualize data in interactive widgets without coding from Jupyter notebook

Share results with peers and partners

Explore data from atoti’s dashboarding web application or Excel

What users say:

Atoti quotes
Atoti quotes
Great python lib for exploratory data analysis, kinda your own small #Tableau right within #Jupyter notebook. Very serious backend behind, efficient RAM management (in-memory cube).

Julien Laugel | Chief Data Scientist


Join the Community

Register to receive the atoti newsletter.
We will not share your contact with any third party.


Use cases

Atoti: Working with dates in Python
What is the most problematic data type you have ever dealt with when working with data? I would say dates! Depending on the locale, dates come in different formats such as YYYY-mm-dd, d/m/YYYY, d-mmm-yy etc. Not to mention, sometimes it comes with timestamps and time zones! We can let programs infer the date format or explicitly cast the data to date with a specific format e.g. in Python with Pandas DataFrame: What if we open the CSV file in Microsoft Excel, update it, and try to read it again? The above code snippet will throw out exceptions such as this:...
Understanding conditional statements in Atoti
When do we use filter, where and switch statements? We know that we can perform aggregations and multi-dimensional analysis with Atoti. Aggregation is not always as simple as 1 + 2. Sometimes we end up in an “if…else” situation, and that is where conditional statements come in. Let’s explore some examples with the XVA use case from the Atoti CE Notebook Gallery. Some definitions before moving on: Measures – we refer to metrics or quantifiable data that measure certain aspects of our goals. In the code snippets below, they are represented by measure[<name of metrics>]. Members of a level –...
What’s New in Atoti Python 0.7.3?
Python 3.11 Compatibility, an Updated Way to Define Joins, Telemetry Changes Ahead. Hey Atoti Community! We’re super excited to announce our Atoti Python 0.7.3 release. Wondering what we have in store for you? While breaking nothing this release, we have some great updates ahead. Read on to see some of the changes we’ve implemented, or check out our changelog for the full list of updates. Added Python Compatibility Excited by the promising performance improvements in Python 3.11, but bummed Atoti wasn’t compatible with it? Well, fret no more! With 0.7.3, Atoti is now compatible with Python 3.11. First and Last...


Why did pi fail its driving test?
It didn’t know when to stop 🤭

For #PiDay, we estimated its value using a Monte Carlo method. Watch its accuracy improve in real time and appreciate the beauty of math. 😁


#Atoti #MonteCarloSimulation #python

What is our favorite programming language?
PI-thon, obviously! 🐍
Pi day is coming up. Give us a piece of your pi: share something you've created and let's celebrate mathematics 👇

Stay tuned for our own pi day creation tomorrow 😎

#piday #mathematics #pythonprogramming

📢 Calling all Atoti athletes!

Got a great use case you want to show off? Contribute it to our notebook gallery!
Super easy to do, just follow the steps outlined here 👇

#python #Atoti #projects


atoti works with

atoti leverages several technologies such as PythonJavaJavascript and uses Conda for distribution. It works with all major notebooks, with enhanced features for Jupyter and SageMaker. Run it on your laptop, server or in any cloud environment.