Order Management

Download the dataset here:

Short Description

This process describes the management of customer orders within a company, comprising both the registration and payment of incoming orders, as well as the process of packing and shipping these orders. For these tasks, our company deploys staff in their sales, warehousing, and shipment departments.

This process extends a legacy order management log.

Overview

At our company, customers place orders (place order) for different products in varying amounts. Each product type has a price and a weight. In the current market situation, there is an inflation that irregularly leads to an increase of prices. These price rises have a negative impact on customers’ purchasing power, i.e., on order volumes.

When a customer places an order, this order is assigned to an employee of our company’s sales department. To foster customer satisfaction, our company has a single-face-to-customer policy. This means that per customer there is one primary sales representative who ought to render all services related to that customer. If that first representative is unavailable, a second sales representative should take care of the order. Should this employee be also unavailable, the order has to be managed by another employee. The tasks of sales employees comprise the registration (confirm order) as well as payment processing (payment reminder, pay order).

In parallel to this, the shipment of goods is prepared. For this, the stock of our company is checked by an employee of the warehousing department for the availability of the ordered items. If necessary, the warehouser reorders the item (item out of stock, reorder item). Items ready for shipment are collected (pick item) for the placement into packages that are addressed to single customers. Here, it may happen that a package content relates to multiple orders, and order volumes are distributed over multiple packages.

After all items allocated to a package have been picked, the package is compiled by a warehousing employee (create package). Later on, this package is picked up by a shipment employee for transport (send package). According to another policy, a warehousing employee should provide assistance to the shipment employee in loading the package. However, oftentimes shippers act contrary to that policy and load packages alone or together with a second shipment employee.

Finally, the package is shipped. Deliveries may fail repeatedly (failed delivery) until successful delivery (package delivered).

The figure below depicts the process in a simplified manner, using an informal process notation to describe the control-flow and the involved object types. A formal description is given along with the artifacts in the next section.

An overview of the Order Management simulation model

Artifacts

Event Log

A simulated event log can be downloaded here: SQLite

General Properties

An overview of log properties is given below.

Property Value
Event Types 11
Object Types 6
Events 21008
Objects 10840
Control-Flow Behavior

The behavior of the log is described by a fitting object-centric Petri net (OCPN). For readability, individual object type behavior is shown in projections of the OCPN. See below.

orders customers
items employees
packages products
Full object-centric Petri net
Object Relationships

The following are types of static object-to-object relations:

Source Object Type Target Object Type Qualifier
employees customers primarySalesRep
employees customers secondarySalesRep

During the process, the following types of object-to-object relations (among others) can emerge at activity occurrences.

Activity Source Object Type Target Object Type Qualifier
create package package employee packed by
send package package employee forwarded by
send package package employee shipped by

Simulation Model

Above data were simulated using this CPN.

To obtain simulated data, extract the linked ZIP file and play out the CPN therein, e.g. with the help of CPN Tools.

The playing out produces CSV files according to the schema of OCEL2.0. This Python notebook can be used to convert these files to an SQLite dump.

For a technical documentation of the simulation model, please open the attached CPN with CPN Tools and see the annotations therein.

Authors

Benedikt Knopp

Wil van der Aalst (legacy log)

Contributing

To contribute, drop us an email! We are happy to receive your feedback.