Data Science with TM1 and Planning Analytics

Having accurate data in your TM1 and Planning Analytics application is just one part of the job, the second part which is even more important is to understand your data. This is where Data Science can help. Data Science will help you to improve how you make decisions by better understanding the past and predicting the future.

Combine the best of two worlds

On one side, IBM TM1 and Planning Analytics has been very successful over the years mainly for its strong planning and reporting capabilities and on the other side Python is becoming more and more popular thanks to its unique Data Science eco-system. Now with the free Python package TM1py, you can combine the best of these two worlds.

Open the Python community to TM1/Planning Analytics

TM1py makes it easy to do Data Science such as statistics or time series forecasting with your TM1 and Planning Analytics application by opening the Python community to IBM TM1 and Planning Analytics.

A whole new world of free tools to boost your IBM TM1 and Planning Analytics application.

The Python community is very creative in terms of Data Science, there are lots of free tools for data exploration such as Pandas and Ploty or for timeseries forecasting such as Facebook Prophet. All these packages are free and ready-to-use!

For example, with a few lines of code you can use the Ploty package to build interactive charts:

Do the same things but smarter!

Free-up your time by automating repeated tasks, TM1py will enable you to do things smarter such as uploading daily exchange rates from a webservice or automating your daily forecast by using Facebook Prophet:

A Step-By-Step Guide To Data Science with TM1/Planning Analytics

To see data science with TM1 and Planning Analytics in action, we created a series of three articles which will guide you step by step through your first data science experience. In Part 1, you will load weather data from a web service into your TM1 cube, in Part 2, you will then explore your data using Pandas and Ploty and finally in Part 3, you will use time series forecasting using Facebook Prophet:

How Cubewise CODE has revolutionized TM1 Planning Analytics in 2017

A lot happened in 2017 in the IBM Planning Analytics (TM1) world. Here is a quick recap from Cubewise CODE.

Pulse: Centralized Database Architecture

Pulse take up continues to grow beyond 150 customers globally allowing our customers to watch over a combined total of well over 50 million lines of TM1 code. Accordingly, the number of “large enterprise” TM1 implementations has increased necessitating support for MS SQL Server. The latest version,  Pulse v5.6,  incorporates a centralized database architecture which brings downstream benefits such as forensic TM1 server and user reporting via Big Data provider, Elasticsearch. This version is a big step forward for Pulse in the cloud.

Canvas v2 Released

Canvas v2 was a major milestone in the maturity, scalability and stability of the product. This new version introduced lots of new features such as:

A new way to integrate systems with your IBM TM1 Planning Analytics application

TM1py is a free Python package that wraps the TM1 REST API in a simple to use library. Making it easier to integrate systems more effectively with IBM Planning Analytics.

Speed up your IBM Planning Analytics development with our free products

Bedrock, TM1Kill, Hustle and many more other free products will save you lots of time as a TM1 developer:

Cubewise EDU Conferences and Training

In 2017, we hosted more than 500 paying delegates at our IBM Planning Analytics conferences in Sydney, London, NYC and Los Angeles. To learn more about our products, training is now available from the Cubewise EDU page.


Looking forward to 2018

2017 was a great year for the TM1 community and Cubewise Code. We are looking forward to 2018 and making IBM Planning Analytics even better!


Getting started with TM1py

TM1py is a free Python package that wraps the TM1 REST API in a simple to use library. Making it easier to integrate systems more effectively with IBM Planning Analytics.

Why you should use it?

  • Load FX rates from web services such as FRED into the TM1 Server.
  • Greater automation of your forecast models with Pandas for Data Analysis and Statistics.
  • Advanced integration with machine learning and forecasting algorithms with Python, scikit-learn and the TM1 Server.

Getting Started!

TM1py is really quick and easy to setup, just follow these steps and you will be able to run your first Python script in less than 5 min!

1. Install TM1py

The first step is to install Python and TM1py. These steps are explained on the TM1py-samples github page.

2. Enable the TM1 REST API

TM1py uses the TM1 REST API to connect to the TM1 Server, you will need to enable the TM1 REST API on each instance where you want TM1py to connect to.

3. Download TM1py samples

TM1py includes a lot of ready to use samples that you can download on Github.

4. Run your first Python script

Ever wondered which of the dimensions in your TM1 instance are not used in cubes? TM1py can help to answer this questions with 8 Lines of code! Just follow these steps to know which dimensions are not used in your TM1 application.

5. Learn More

Do more with TM1 with Python

TM1py (pronounced "TM1-pie") is a Python package that wraps the TM1 REST API in a simple to use library. That makes it easy to build stuff with TM1 and Python.

Python is a widely-used general-purpose high-level programming language that lets you work quickly and integrate systems more effectively. We believe Python can be a valuable extension to the TM1 ecosystem.

Get the best of TM1 and Python

Leverage TM1 with Python

Do statistical analysis and write machine learning on top of your TM1 application, these and many more are now easy to achieve with TM1py:

  • Use Pandas for Data Analysis and Statistics on top of your TM1 model.
  • Build Machine Learning and Forecasting Algorithms with Python and scikit-learn based on your TM1 data.
  • Load data (e.g. FX, stock data) from webservices into TM1.
  • Synchronize cubes throughout TM1 instances.
  • Get insights from your TM1 model. (e.g. Which views use this subset?, which process has an ODBC Datasource?).
  • Export TM1 data to XML, JSON, YAML, XLSX, …
  • Generate MDX Queries from cube views.

Get started

TM1py is licensed through an MIT license and can easily be downloaded though the python packaging system. To get started we recommend downloading the samples from Github and play around with it.
If you have questions or remarks on TM1py it’s best to communicate through Github. 

With a few lines of codes you can achieve a lot. For example the code below reschedule all chores for one instance by -1 hour:

with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
    for chore in tm1.chores.get_all():


TM1py is an open source project, just like Bedrock. It thrives on contribution from the TM1 community.
If you find a bug or feel like you can contribute please fork the repository, update the code and then create a pull request so we can merge in the changes.