α-Indirect Control in Onion-like Networks

Overview

α-Indirect Control in Onion-like Networks

We propose a fast, accurate, and scalable algorithm to detect ultimate controlling entities in global corporate networks. α-ICON uses company-participant links to identify super-holders who exert control in networks with millions of nodes.

By exploiting onion-like properties of such networks we iteratively peel off the hanging vertices until a dense core remains. This procedure allows for a dramatic speed-up, uncovers meaningful structures, and handles circular ownership by design.

Read our paper with the applications. As a toy example, consider the below corporate network where α-ICON designates Mr Philip Mactaggart (in green) as the super-holder exerting control over all other entities, directly or indirectly held:

Installation

To replicate the analysis you need to clone this repository to your local machine. Then you need to install the required versions of R dependencies listed in DEPENDENCIES. code/helper_functions/install_dependencies.r automates this step, but you may still need to install the underlying libraries manually with Homebrew or apt-get, depending on your platform. Finally, you need to declare the environment variable ALPHAICON_PATH in bash pointing to the repository. Or, better yet, you can add it in your .Renviron with

> ~/.Renviron ">
user:~$ echo 'ALPHAICON_PATH="path_to_cloned_repository"' >> ~/.Renviron

The repository does not contain any data due to its size (10+ GB unpacked); most files in data/ and output/ folders are zero-byte placeholders. We provide a public Google Drive folder with the populated data/ and output/ directories. You may still need to unzip them manually.

A self-contained example of α-ICON is also available in Google Colaboratory.

Repository structure

data/
├─uk/ # Data on UK companies and participants
| ├ persons-with-significant-control-snapshot-2021-08-02.txt # Source PSC data
| ├ BasicCompanyDataAsOneFile-2021-08-01.csv # Source data on live companies in UK
| ├ sic_2007_code_list.csv # Standard Industrial Classification codes
| ├ psc_snapshot_2021-08-02.rdata # Processed People with Significant Control data
| └ uk_basic_companies_data_2021-08-01.rdata # Processed Basic Company data
|
├─corpwatch_api_tables_csv_14aug21/ # Data from CorpWatch Dump 
| ├ company_info.csv # Source companies data from SEC filings
| ├ cik_name_lookup.csv # Company name variants in SEC filings
| └ company_locations.csv # Company locations in SEC filings
|
code/
├─helper_functions/
| ├ install_dependencies.r # Installs R dependencies used in the project 
| └ compute_power_index.r # Computes Mizuno et al. (2020) DPI and NPI
|
├─data_preparation/
| └─uk/
|   ├ 1a_process_psc_snapshot.r # Prepare source PSC data
|   ├ 1b_process_companies_data.r # Prepare source data on live companies
|   ├ 2_psc_snapshot_to_participants_panel.r # PSC data to entity-participant info
|   └ 3_prepare_affiliated_entities_evaluation_data.r # Process CorpWatch data
|
├─alphaicon_paper/
| ├ 1_compute_alphaicon.ipynb # Jupyter Notebook w. α-ICON (also on Google Colab)
| ├ 2_compute_npi_dpi.r # Computation of Direct and Network Power Indices
| ├ 3_summary_stat_by_node_type.r # UK PSC network statistics by core/SH/ST/I
| ├ 4_illustrate_algorithm.r # Visualise selected networks
| ├ 5_algorithm_evaluation.r # Compute recall @ k and l for various algorithms
| └ 6_rank_top_holders.r # Examine the rankings of super-holders & Kendall's tau
|
output/
├─uk/
| ├ uk_organisations_participants_2021_long_2aug21.csv # Primary ownership data
| ├ uk_organisations_participation_graph_core_periphery_membership_6aug21.csv
| ├─npi_dpi/ # Mizuno et al. (2020) computation results on UK PSC data
| | └─10000iter/
| |   ├ uk_organisations_participants_2021_long_7sep21_dpi_10000iter.csv # DPI
| |   └ uk_organisations_participants_2021_long_7sep21_npi_10000iter.csv # NPI
| |
| ├─transitive/ # Computed α-ICON shares on equity shares or DPI weights
| | ├ uk_organisations_transitive_ownership_alpha*_2021_long_2aug21.csv # α = *
| | └ uk_organisations_transitive_ownership_alpha*_2021_long_7sep21_dpi_....csv
| |
└─alphaicon_paper/
  ├ uk_orgs_algorithm_evaluation_recall.csv # Algorithm recall by k
  ├ uk_orgs_algorithm_evaluation_recall_by_pathlength.csv # Algorithm recall by l
  ├ uk_organisations_top100_holders_2021_long_2aug21.csv # Top SH in PSC network
  ├ uk_organisations_top100_holders_diff_npi_dpi_2021_long_2aug21.csv # Top-100 SH
  |                          # with the largest difference betw. total DPI and NPI
  ├ uk_organisations_top100_holders_diff_transitive_dpi_2021_long_2aug21.csv
  |  # Top-100 SH with the largest difference betw. total DPI and α-ICON (α=0.999)
  ├ uk_organisations_top100_holders_diff_transitive_npi_2021_long_2aug21.csv
  |  # Top-100 SH with the largest difference betw. total NPI and α-ICON (α=0.999)
  └ network_examples/ # Visualisations of selected networks

We provide an annotated Makefile that documents the data analysis in our papers.

To build the ‘α-Indirect Control in Onion-like Networks’ paper run make alphaicon_paper when in the repository folder.

Please note that those commands will not produce any publication-ready output files (e.g. tables or figures): the export statements are commented out in the code. Our intention is to make the analysis pipeline transparent to the readers with the aid of make:

alphaicon_dependencies

Licence

Creative Commons License
Creative Commons License Attribution 4.0 International (CC BY 4.0).

Copyright © the respective contributors, as shown by the AUTHORS file.

People with Significant Control data is distributed by Companies House under Open Government Licence v3.0.

Free Company Data Product is distributed by Companies House under Open Government Licence v3.0.

Contacts

Dmitriy Skougarevskiy, Ph.D.

[email protected]

Owner
European University at St. Petersburg (EUSP)
Russia's Independent Not-For-Profit University Founded in 1994. Social Sciences and Humanities Graduate Degrees & Programs in Russian and English.
European University at St. Petersburg (EUSP)
This project calculates current internet upload and download speeds.

Internet-Speed-Calculator Project Description: In this project, are creating an internet speed calculator. Requirements: Following modules need to be

Hassan Shahzad 4 Oct 26, 2021
Virt Test Provider for qemu and other related virtualization backends

QEMU test provider for virt-test This is the official [1] test provider for the following subtest types: QEMU Generic (Virtualization backend agnostic

Autotest 41 Jan 03, 2023
A python module to create random networks using network models

networkgen A python module to create random networks using network models Usage $

Serkan Demirci 3 Sep 26, 2022
The POX network software platform

POX POX is a networking software platform written in Python. POX started life as an OpenFlow controller, but can now also function as an OpenFlow swit

NOX Repo 591 Dec 13, 2022
α-Indirect Control in Onion-like Networks

α-Indirect Control in Onion-like Networks

European University at St. Petersburg (EUSP) 150 Jul 07, 2022
Emulator for rapid prototyping of Software Defined Networks

Mininet: Rapid Prototyping for Software Defined Networks The best way to emulate almost any network on your laptop! Mininet 2.3.0b2 What is Mininet? M

Mininet 4.7k Jan 05, 2023
Network Automation and Programmability Abstraction Layer with Multivendor support

NAPALM NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functio

napalm-automation 2k Dec 31, 2022
whm also known as wifi-heat-mapper is a Python library for benchmarking Wi-Fi networks and gather useful metrics that can be converted into meaningful easy-to-understand heatmaps.

whm also known as wifi-heat-mapper is a Python library for benchmarking Wi-Fi networks and gather useful metrics that can be converted into meaningful easy-to-understand heatmaps.

Nischay Mamidi 128 Dec 16, 2022
Temporal network visualization

Temporal network visualization This code is what I used to make the visualizations of SocioPatterns' primary school data here It requires the data of

Petter Holme 12 Jun 04, 2022