Skip to main content

Implements the model presented in Shelegia and Motta (2021)

Project description

This package implements the models of Shelegia and Motta (2021).

GitHub PyPI - Python Version GitHub repo size GitHub last commit CI CodeQL GitHub Release Date PyPi PyPI PyPI - Status GitHub deployments Binder

Installation

Installation over PyPI:

pip install Shelegia-Motta-2021

Or installation over GitHub:

pip install git+https://github.com/manuelbieri/shelegia_motta_2021.git

Introduction

The theory of the “kill zone” has become an increasingly prominent cause for concern among economists in recent times, especially with the rise of digital companies that have become monopolists in their sectors internationally. Companies like Facebook are continuously acquiring start-ups that may have a chance of competing with them in some way in the future. The sheer size and dominance of these companies combined with their aggression regarding the acquisition of competitors makes entering these markets as a direct competitor very unattractive at first glance. However, this issue is not as one-sided as that. This paper aims to rationalize the well-known “kill zone” argument by providing a simple model that explores how and when an incumbent firm may induce an entrant to choose a “non-aggressive” innovation path and enter with the goal of being acquired.

The different models revealed that platform-owning incumbents react in diametrically opposing fashion to an entrant’s plans to develop a substitute to their platform and a complement. When a larger firm is dominating a certain sector and new firms are trying to enter this market, these firms may feel a hesitation to produce a direct competitor to the products of the incumbent, and they will veer more towards producing a compliment as the prospect of the incumbent copying or acquiring the entrant looms. This is the reason a “kill zone” may emerge. Interestingly, the possibility of an acquisition by the incumbent does not worsen the “kill zone” effect. In fact, it may even induce the entrant to develop a product that rivals the incumbent in the hope of being acquired as this can generate massive profits for the smaller entrant. Meanwhile, a two – sided market will not alter the “kill zone” significantly compared to the basic model. Only simultaneous choices of both parties will avoid the existence of a “kill zone” since the choice of the entrant cannot prevent the incumbent to copy the entrant.

Since all models implement the Shelegia_Motta_2021.IModel.IModel - Interface, therefore all models provide the same functionality (public methods), even though the results may change substantially.

For all models add the following import statement:

import Shelegia_Motta_2021.Models

Models

Base Model

The base model of the project consists of two players: The incumbent, which sells the primary product, and a start-up otherwise known as the entrant which sells a complementary product to the incumbent. One way to visualize a real-world application of this model would be to think of the entrant as a product or service that can be accessed through the platform of the incumbent, like a plug in that can be accessed through Google or a game on Facebook. The aim of this model is to monitor the choice that the entrant has between developing a substitute to or another compliment to the incumbent. The second aim is to observe the choice of the incumbent of whether to copy the original complementary product of the entrant by creating a perfect substitute or not. Seeing as the entrant may not have enough assets to fund a second product, the incumbent copying its first product would inhibit the entrant’s ability to fund its projects. This report will illustrate how the incumbent has a strategic incentive to copy the entrant if it is planning to compete and that it would refrain from copying if the entrant plans to develop a compliment. The subsequent models included in this report will introduce additional factors but will all be based on the basic model.

The equilibrium path arguably supports the “kill zone” argument: due to the risk of an exclusionary strategy by the incumbent, a potential entrant may prefer to avoid a market trajectory which would lead it to compete with the core product of a dominant incumbent and would choose to develop another complementary product instead.

base_model = Shelegia_Motta_2021.Models.BaseModel()

Bargaining Power Model

Besides the parameters used in the paper (and in the BaseModel), this class will introduce the parameter $\beta$ in the models, called the bargaining power of the incumbent. $\beta$ describes how much of the profits from the complementary product of the entrant will go to the incumbent In the paper the default value $\beta=0.5$ is used to derive the results, which indicate an equal share of the profits.

bargaining_power_model = Shelegia_Motta_2021.Models.BargainingPowerModel()

Unobservable Choices Model

This model indicates that if the incumbent were not able to observe the entrant at the moment of choosing, the “kill zone” effect whereby the entrant stays away from the substitute in order to avoid being copied would not take place. Intuitively, in the game as we studied it so far, the only reason why the entrant is choosing a trajectory leading to another complement is that it anticipates that if it chose one leading to a substitute, the incumbent would copy, making it an inefficient strategy for entering the market. However, if the incumbent cannot observe the entrant’s choice of strategy, the entrant could not hope to strategically affect the decision of the incumbent. This would lead to the entrant having a host of new opportunities when entering the market makes the entrant competing with a large company much more attractive.

Although there may be situations where the entrant could commit to some actions (product design or marketing choices) which signals that it will not become a rival, and it would have all the incentive to commit to do so, then the game would be like the sequential moves game analyzed in the basic model. Otherwise, the entrant will never choose a complement just to avoid copying, and it will enter the “kill zone”.

unobservable_model = Shelegia_Motta_2021.Models.UnobservableModel()

Acquisition Model

In order to explore how acquisitions may modify the entrant’s and the incumbent’s strategic choices, we extend the base model in order to allow an acquisition to take place after the incumbent commits to copying the entrant’s original complementary product (between t=1 and t=2, see demo.ipynb "Timing of the game"). We assume that the incumbent and the entrant share the gains (if any) attained from the acquisition equally.

The “kill zone” still appears as a possible equilibrium outcome, however for a more reduced region of the parameter space. The prospect of getting some acquisition gains does tend to increase the profits gained from developing a substitute to the primary product, and this explains why part of the “kill zone” region where a complement was chosen without the acquisition, the entrant will now choose a substitute instead.

acquisition_model = Shelegia_Motta_2021.Models.AcquisitionModel()
Alternative formulations of the acquisition game

An alternative formulation could be introduced in order to allow acquisitions to take place before the copying decision by the incumbent. The results are qualitatively like the results of the model which had the acquisition after the copying decision. In this alternative formulation of the game, copying would never occur along the equilibrium path. Indeed, there would be an additional source of gains from acquisition consisting of avoiding the fixed cost of copying.

Basic usage

# every model type can be plugged in without changing the following code.
# initialize model with custom parameters
model: Shelegia_Motta_2021.IModel.IModel = Shelegia_Motta_2021.Models.BaseModel()

# print string representation of the model
print(model)

# plot the payoffs for different market configurations for all stakeholders
model.plot_payoffs()

# plot the best answers of the incumbent to the choice of the entrant
model.plot_incumbent_best_answers()

# plot the equilibrium path
model.plot_equilibrium()

# not necessary when working with jupyter notebooks
plt.show()

A demonstration of the code can be found in demo.html (output of demo.ipynb, on small screens it may not be displayed correctly).

Dependencies

Package   Version   Annotation  
matplotlib 3.5.1 Always needed (includes numpy)
jupyter 1.0.0 Just for the demonstration in demo.ipynb
IPython 8.1.0 Just for the demonstration in demo.ipynb
pdoc 10.0.1 Only to generate the documentation from scratch

Install the dependencies with the following command:
pip install -r requirements.txt

(Note: Make sure you are operating in the same directory as the requirements.txt is located.)

These packages include all the needed imports for the functionality of this package.

Additional Notes

For further information about the project (structure) and the code, see resources/dev_notes.md.

Documentation

For the latest version of the documentation open manuelbieri.github.io/shelegia_motta_2021 in your browser or call:

import Shelegia_Motta_2021

Shelegia_Motta_2021.docs()

Build Documentation

Generate api-documentation with the following command (note the use of pdoc):

pdoc -o ./docs Shelegia_Motta_2021 --docformat "numpy" --math

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shelegia_motta_2021-1.0.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

Shelegia_Motta_2021-1.0.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file shelegia_motta_2021-1.0.2.tar.gz.

File metadata

  • Download URL: shelegia_motta_2021-1.0.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for shelegia_motta_2021-1.0.2.tar.gz
Algorithm Hash digest
SHA256 042664383318cecc500eeb6ecf3f5a3fb3c5fdd9732cfe994eb75d2b08d59c68
MD5 e684a9e19383fd93ceecf0137e9bc4d2
BLAKE2b-256 021688a56ed5dfc804980c8b5a9789c3f46e62cd79258f3dd8f35eea8abdfe4a

See more details on using hashes here.

File details

Details for the file Shelegia_Motta_2021-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for Shelegia_Motta_2021-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aabd9b52bc5c0e59c6140a39f4faeeaf9a7bc0b3188ba8b9fb8997f00d38a165
MD5 b583905cbfd078528e9bb7b272d1338d
BLAKE2b-256 5c480f7ab65c521750db4f477e49452b20689d21e74a7d944be587613bdff5ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page