Centralized vs Decentralized Pricing Controls for Dynamic Matching Platforms: Simulation and Analysis Code
This repository contains the simulation and analysis code for the paper "Centralized Versus Decentralized Pricing Controls for Dynamic Matching Platforms." The paper examines the effects of centralized and decentralized pricing controls on online service platforms using a fluid model of dynamic two-sided matching. Our simulations and analysis compare various degrees of centralization and their impact on social welfare.
The simulations were implemented in Mathematica and Python, and the data analysis and plotting were done in R. In this repository, you'll find the necessary files to replicate our simulations.
The following software and package versions were used in this project:
- Mathematica 11.2.0 for Microsoft Windows (64-bit)
- Python 3.7.3
- NumPy 1.16.2
- pandas 0.24.2
- scipy 1.2.1
- matplotlib 3.0.3
- R version 4.1.0 (2021-05-18)
- ggplot2 3.3.6
- data.table 1.14.0
- gridExtra 2.3
- latex2exp 0.5.0
- ggnewscale 0.4.7
- plyr 1.8.6
- paletteer 1.5.0.9000
- grDevices 4.1.0
- ggpubr 0.4.0
mathematica/
: Folder containing Mathematica notebooks for the simulationspython/
: Folder containing Python scripts for the simulationsr/
: Folder containing R scripts for data analysis and plottingdata/
: Folder containing simulation results to generate the figures in the paper
- Open the desired Mathematica notebook in the
mathematica/
folder. - Run the notebook
MathematicaRunFile
to replicate the main results in Section 6 of the paper. For detailed analysis of the underlying code, go to the notebookSystemOfPolynomialsOnly
.
- Navigate to the
python/
folder. - Replicate the simulation results in the paper that are used for robustness check using the Jupyter notebook
SimulationCodeForSubmission.ipynb
.
- Navigate to the
r/
folder in your terminal. - Run the R script in the Jupyter notebooks
Figures_RcodeForPiecewisePolynomials_Jupyter.ipynb
andFigures_RcodeForSimulation_Jupyter.ipynb
to create the figures in the paper.
This project is licensed under the terms of the MIT License.
For any questions, issues, or concerns, please contact the author at [email protected] .