Synthetic pharmaceutical delivery data and generation code
Description
This repository provides the synthetic dataset and data-generation code supporting a study of risk-aware capacity planning for on-demand pharmaceutical delivery. The dataset contains 267,692 simulated orders covering January 1–June 30, 2026, for a delivery network comprising five pharmacy nodes and twenty community demand nodes in Xiaodian District, Taiyuan, China. It distinguishes conventional over-the-counter medications from temperature-controlled prescription medications and considers three delivery modes: cold-chain dedicated riders, platform-dedicated riders, and crowdsourced riders. The records include order dates and time windows, pharmacy and community identifiers, medication types, rider types, delivery distances, promised and actual delivery times, cargo-damage indicators, and late-delivery penalties. Demand patterns and fulfillment outcomes are generated using prespecified simulation assumptions. The accompanying code implements the data-generation process. These materials support demand forecasting, estimation of fulfillment-risk parameters, and numerical capacity-allocation experiments. The order and fulfillment records are synthetic and do not represent observed transactions or measured service performance from a real pharmaceutical delivery platform. The resulting analyses should therefore be interpreted as simulation-based and exploratory.
Files
Steps to reproduce
1. Download and extract the uploaded files. Read README.md for the data dictionary, simulation assumptions, and environment details. 2. Create a Python environment and install the dependencies by running: python -m pip install -r requirements.txt 3. For analyses of the study dataset, use the supplied orders.csv, which contains 267,692 synthetic orders from January 1 to June 30, 2026. Read the file using UTF-8 with BOM encoding (utf-8-sig). 4. If the optional analysis scripts are included, run the following commands from the directory containing orders.csv: python predict.py python calculate_historical_average.py python model.py python compare_54_schemes.py python "λ.py" python demand_sensitivity.py The optimization scripts require a configured Gurobi license sufficient for the model size. See README.md for the expected outputs and additional figure-generation instructions. 5. To generate a new simulation sample, copy data_generator.py into a separate directory and run: python data_generator.py The generator writes orders.csv in the current working directory and overwrites any existing file with the same name. 6. The generator does not set random seeds. A new run therefore produces a different simulation sample and does not recreate the supplied orders.csv exactly. Preserve and use the supplied CSV for analyses of the fixed study dataset.