Technology Adoption in Input-Output Networks
37 Pages Posted: 16 Nov 2018 Last revised: 20 Oct 2019
Date Written: October 1, 2018
This paper studies the effect of network structure on technology adoption, in the setting of the Python programming language. A major release of Python, Python 3, provides more advanced but backward-incompatible features to Python 2. We model the dynamics of Python 3 adoption made by package developers. Python packages form a hierarchical network through dependency requirements. The adoption decision involves not only updating one’s own source code, but also dealing with dependency packages lacking Python 3 support. We build a dynamic model of technology adoption where each package makes an irreversible decision to provide support for Python 3. The optimal timing of adoption requires a prediction of all future states, for the package itself as well as each of its dependencies. With a complete dataset of package characteristics for all historical releases, we are able to draw the complete hierarchical structure of the network, and simplify the estimation by grouping packages into different layers based on the dependency relationship. We study how individual adoption decisions can propagate along the links in such a hierarchical network. We also test the effectiveness of various counterfactual policies that can promote a faster adoption process.
Suggested Citation: Suggested Citation