Business Prototyping Toolkit

System Dynamics and Agent-based Modeling In Python

The Business Prototyping Toolkit for Python (BPTK-Py) is a computational modeling framework that enables you to build simulation models using System Dynamics (SD) and/or agent-based modeling (ABM) natively in Python and manage simulation scenarios with ease.

Next to providing the necessary SD and ABM language constructs to build models directly in Python, the framework also includes a compiler for transpiling System Dynamics models conforming to the XMILE standard into Python code.

This means you can build models in a XMILE-compatible visual modeling environment (such as iseesystems Stella) and then use them independently in Python.

Main Features

  • The BPTK-Py framework supports System Dynamics models in XMILE Format, native SD models using the SD DSL and native Agent-based models. You can also build hybrid SD-ABM-Models natively in Python.
  • The objective of the framework is to let the modeller concentrate on building simulation models by providing a seamless interface for managing model settings and scenarios and for plotting simulation results.
  • All plotting is done using Matplotlib.
  • Simulation results are returned as Pandas dataframes.
  • Model settings and scenarios are kept in JSON files. These settings are automatically loaded by the framework upon initialization, as are the model classes themselves. This makes interactive modeling, coding and testing very painless, especially if using the Jupyter notebook environment.

Getting Started

The best way to get started with BPTK is to read our Quickstart. You might also like the System Dynamics Tutorial

Our Business Prototyping Toolkit Meetup meets online regularly. Materials and recordings from past meetups are available on the meetup page.

BPTK was also used to build our implementation of the infamous Beer Distribution Game. Our model library contains simulation models of the Beergame in both System Dynamics and Agent-based versions. It also contains an illustration of how to train reinforcement-learning algorithms to play the Beer Distribution Game.

You can play the game online at beergame.transentis.com

Currently we are working on an Enterprise Digital Twin for transentis. You can find the simulation part of the digital twin in our model library

Getting Help

BPTK-Py is developed and maintained by transentis labs. Currently the main developers are Dr. Oliver Grasl, David Granzin and Dionysios Basdanis, former contributors include Ahmed Eldably, Jeremy Funk and Dominik Schröck.

The best place to ask questions about the framework is our Business Prototyping Toolkit Meetup, which meets online regularly.

You can also contact us any time at , we are always happy to help.

Contents

Installation

Quickstart

Tutorials

Concepts

Agent Based Modeling

System Dynamics

Model Library

BPTK API

Limitations

Changelog