Replication data and code for: Quasi-Differentiated Oligopoly: State Support, Financial Asymmetry and Competition in India's Mobile Telecommunications Market
Description
This dataset contains the data and Python code that reproduce every computed table, figure and in-text statistic of the article "Quasi-Differentiated Oligopoly: State Support, Financial Asymmetry and Competition in India's Mobile Market", submitted to Telecommunications Policy. The data comprise six components. (1) An operator × circle × month panel of mobile subscriptions for India's 22 licensed service areas, March 2021 to July 2026, reconstructed from 64 monthly press releases of the Telecom Regulatory Authority of India (TRAI), with the text of each release. (2) An operator-quarter panel of ARPU, revenue, EBITDA and profit for Reliance Jio, Bharti Airtel, Vodafone Idea and BSNL, June 2021 to December 2025, reconciled against the source documents. (3) Annual cash flows of the four operators, FY2021–22 to FY2024–25, transcribed line by line from audited statements, including BSNL's state transfers recorded in its notes. (4) Vodafone Idea quarterly liquidity, debt and government dues. (5) Network latency by operator and circle from TRAI quality-of-service reports. (6) Hand-collected records of state support instruments, court and government decisions, tariff revisions, corporate actions and ownership. The code estimates concentration, a liquidity bridge, structural breaks and slope changes with simulation-calibrated inference, market-model event studies with ownership look-through and multiplicity correction, imputation event studies of subscriptions around tariff revisions with jackknife and placebo inference, the net fiscal cost of support and break-even thresholds, and symbolic checks of the theoretical propositions. Every value is documented with its source. Daily share prices were obtained from a commercial vendor and are not redistributed; a download script, the list of securities and dates, and checksums are included. README.md maps every table and figure to its script, and CODEBOOK.md defines every variable.
Files
Steps to reproduce
1. Download QDO_V8_Replication.zip and unzip it. 2. Install Python 3.11 and the packages in requirements.txt: pip install -r requirements.txt. 3. Optional: obtain daily closing prices for Bharti Airtel, Vodafone Idea, Indus Towers, Bharti Hexacom, Reliance Industries and the Nifty 500 index with code/get_prices.py (requires a Kite Connect key), or from another vendor, and place prices.csv and ril_prices.csv in data/prices/. data/prices/README_prices.md gives the format and checksums. 4. From the package folder run: python run_all.py. The run takes about 15 minutes. Every random step uses a fixed seed, so results are identical across runs. Without the price files, the price-based steps are skipped and their results are copied from reference_output/. 5. Results are written to output/: formatted tables in output/tables, figures in output/figures and a log of every step in output/run_log.txt. 6. Run python code/compare_outputs.py to compare the results with reference_output/.
Institutions
- Gokhale Institute of Politics and EconomicsMaharashtra, Pune