Skip to main content

Synthetic Business Process Simulation

Project description

SynBPS

Downloads Documentation Status

SynBPS is short for Synthetic Business Process Simulation, as it is intended for the simulation of synthetic (i.e. multiple, hypothetical) business processes from a specified distribution.

How?

The intended usage of this software is to benchmark new methods within predictive process monitoring research. Rather than calibrating a simulation model from an existing process (as in existing frameworks), the aim is to simulate theoretical processes with varying degrees of noise in duration distributions and entropy in the control-flow. The framework uses customized algorithms, Higher-order Markov Chains (HOMC) and the Hypo-exponential distribution to represent temporal dependency (or its absence) in conditional duration distributions.

image

Why?

The benefit of SynBPS is in the full transparency of the data generating process, which can help further understand the influence of process characteristics on predictive performance. By changing the entropy of the process, SynBPS lets you compare the difference in predictive performance across everything between predictable to completely chaotic processes.

Getting Started

You can install SynBPS using pip:

pip install SynBPS

SynBPS requires pomegranate 0.14.8 and python 3.9 or higher.

Example usage

See the example notebook for a short demo of SynBPS.

Documentation

See the official documentation here.

Todos

  • Extend HOMC to include h > 4
  • Add functionality to specify sampling approach of HOMC
  • Add data pre-processing in more formats

Citation

If you use SynBPS, please cite the corresponding paper. The paper can be cited as:

	@inbook{Riess2023Framework,
	author = {Riess, Mike},
	title = {A Parametric Simulation Framework for the Generation of Event-Log Data},
	booktitle = {Essays on Predictive and Prescriptive Process Monitoring},
	publisher = {Norwegian University of Life Sciences},
	year = {2023},
	pages = {75-98},
	}

Contributing

If you would like to contribute to SynBPS, you are welcome to submit your suggestions, bug reports, or pull requests. Follow the guidelines below to ensure smooth collaboration:

  • Before submitting a new feature request or bug report, please check the existing issues to avoid duplicates.
  • If you have a new feature idea, open an issue to discuss it with the maintainers and get feedback.
  • For bug reports, provide a clear and concise description of the issue, including steps to reproduce it.
  • If your contribution requires documentation changes, please update the documentation accordingly.
  • Be respectful and considerate towards others in your interactions on the project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SynBPS-1.0.1.tar.gz (29.2 kB view hashes)

Uploaded Source

Built Distribution

SynBPS-1.0.1-py3-none-any.whl (34.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page