Skip to content

Tutorial for BPTK-Py, the Python simulation engine for System Dynamics & Agent based models.

License

Notifications You must be signed in to change notification settings

transentis/bptk_py_tutorial

Repository files navigation

Overview Of The BPTK-Py Tutorial

This tutorial contain sample agent-based and System Dynamics models along with Jupyter notebooks that illustrate the features of the BPTK-Py framework. This tutorial is designed as a companion to the BPTK-Py online documentation – the online documentation is generated from these notebooks using quarto

Installation

First, make sure you have Python 3 installed on your machine.

Then follow these steps:

  1. On the command line, move into a directory where you would like to store the BPTK-Py tutorial.
  2. Clone this repository: git clone https://github.com/transentis/bptk_py_tutorial.git
  3. Install a virtual environment in that directory: python3 -m venv venv
  4. Activate the virtual environment: source venv/bin/activate (MacOS/Linux) or venv\scripts\activate.bat (Windows)
  5. Install the necessary python modules: pip install -r requirements.txt
  6. Start JupyerLab: jupyter lab
  7. Your browser will open showing JupyterLab and your chosen directory
  8. Open the notebook readme.md from within JupyterLab

Getting Started

This tutorial contains a number of Jupyter notebooks that illustrate usage of the BPTK-Py framework. Which one to get started with depends on whether you are interested in Agent-based modeling, in System Dynamics using XMILE (e.g. using Stella Architect or iThink) or in our domain-specific language for System Dynamics (SD DSL).

The best place to get started is the Quickstart, which illustrates System Dynamics and Agent-based Modeling using a simple customer acquisition model.

You might also like the System Dynamics Tutorial.

Our model library contains some interesting models that you can use as a starting point for understanding System Dynamics, Agent-based Modeling and the BPTK-Framework:

  • Bass Diffusion Model. The classic Bass Diffusion Model that is used to explain the dynamics of introductiong a new product or service into a market.
  • Beer Distribution Game. In-depth analysis of the beergame using both System Dynamics and Agent-based simulation. Includes an illustration of how to use BPTK in conjunction with reinforcement learning to train agents to play the beergame autonomously.
  • Competitive Pricing A neat little model that can be used to understand pricing dynamics.
  • Customer Acquisition. A model that analyses the effects of referral marketing on customer acquisition.
  • Make Your Professional Service Firm Grow. A model that analyses growth strategies in professional service firms.

The BPTK-Py Meetup Group

Our Business Prototyping Toolkit Meetup Group gathers online regularly. This is a good place to see BPTK in action, ask questions and suggest new features. We record every session and you can view past recordings on the meetup homepage.

Get in Touch

Please let us know if you need help getting started, if you find a bug or are missing important functionality.

We are keen to hear how you use BPTK-Py – your feedback is invaluable in helping us improve BPTK-Py.

You can best reach us per e-mail at support@transentis.com

Contents

Installation

Quickstart

Tutorials

Concepts

Agent Based Modeling

System Dynamics

Model Library

BPTK API

Limitations

Changelog

Further Examples on GitHub

You can find further examples of models and dashboards build using BPTK in the following GitHub repositories:

About

Tutorial for BPTK-Py, the Python simulation engine for System Dynamics & Agent based models.

Resources

License

Stars

Watchers

Forks

Packages

No packages published