Nonprofit Collaboration and the Resurrection of Market Failure
Eva Witesman and Andrew Heiss, “Nonprofit Collaboration and the Resurrection of Market Failure: How a Resource-Sharing Environment Can Suppress Social Objectives,” Voluntas: International Journal of Voluntary and Nonprofit Organizations, 2016, 1–29, doi:10.1007/s11266-016-9684-5.
Collaboration and its promotion by funders continue to accelerate. Although research has identified significant transaction costs associated with collaboration, little empirical work has examined the broader, societal-level economic outcomes of a resource-sharing environment. Does an environment that encourages collaboration shift our focus toward certain types of social objectives and away from others? This paper uses agent-based Monte Carlo simulation to demonstrate that collaboration is particularly useful when resources are rare but a social objective is commonly held. However, collaboration can lead to bad outcomes when the objective is not commonly shared; in such cases, markets outperform collaborative arrangements. These findings suggest that encouraging a resource-sharing environment can lead to inefficiencies even worse than market failure. We also demonstrate that failure to account for transaction costs when prescribing collaboration can result in quantifiably lower outcome levels than expected.
You can generate the simulation data, plots, and tables used in the publisehd version with one simple command. After following the OS-specific prerequisites listed below, open a terminal window (or command prompt in Windows), navigate to this project, and type
make. For example, if you saved this project in your Downloads folder, type:
cd ~/Downloads/np-collaboration make
The resulting files will be in a new folder named "Output".
The simulation itself takes about 5 minutes to run on a quad-core computer (with 500 runs per variation and motivation). You can adjust the number of simulation runs in
simulation/run_simulation.py with the variation
OS X and Linux
Python 2.7 and make are installed by default. You only need to download and install R 3.0.
1. Download and install software
2. Add Python and R executables to the Windows path
To use the
makefile and generate all the output files automatically, Windows' command prompt needs easy access to Python and R. After completing these steps, you'll be able to run those programs by just typing
python at the command prompt instead of
- Right click on "Computer" and select "Properties"
- In the right-hand column, select "Advanced system settings"
- Under the "Advanced" tab click the "Environment Variables..." button
- Select the "path" variable from the user variables list and click "Edit..."
- At the end of the really long string in "Variable value:", add the paths to your Python and R executable files, separated by semicolons. Don't edit the rest of the line. In the end, your path should look something like this (yours may vary depending on the versions and locations of Python and R):
- Click "OK" to close all the dialogs
- Restart your computer to apply the path changes (or perhaps just log out and log back in)
3. Install R packages as administrator
When running scripts from the command line, Windows tries to make R install libraries system wide, which then causes permission errors. To fix this, install all requisite libraries as an administrator.
- Right click on Command Prompt and select "Run as administrator"
Rto open an R console.
- Paste and run this command:
install.packages(c('ggplot2', 'scales', 'reshape2', 'plyr', 'xtable', 'rtf'), repos="http://cran.rstudio.com/")
- Close the special administrator command prompt
4. Run script
Navigate to the project (e.g.
cd C:\Users\yourname\Downloads\np-collaboration) and type