How connected is the S&P 500?
The 500 largest US public companies are supposed to be competitors, customers and suppliers of one another. They are also, quietly, run by an overlapping cast of people. A director of Procter & Gamble also sits on Medtronic's board; a Microsoft director also sits on Visa's. This site maps every one of those overlaps. This post is about how we rebuilt it on public SEC data over the last few weeks, and what turned up.
What we built
The idea is simple: two companies are linked if one person holds a role at both. Put all 500 companies in a network with those links and you can ask how tightly the index is knit together, who the hubs are, and which companies stand alone.
The site now has three views of that network:
- A company table listing each company's market cap, every director and officer with their title, and the other S&P 500 companies it shares people with.
- A directors table: every person, the boards they sit on and their title at each, and, where they work for one, the investment firm behind them.
- An interactive graph with each company as a logo, coloured and clustered by sector, linked to the companies it shares someone with.
How we built it
The first version got its director lists from another source, which stopped working. So we switched to the source the data comes from anyway, the SEC.
Every director and officer of a US public company must file a Form 3 when they join and a Form 4 whenever they trade the company's shares. The SEC publishes all of these as quarterly bulk data sets. For each company we take the people flagged as a director or officer, keep their most recent filing, and record their title. Matching people by their SEC ID rather than by name is what makes the cross-company links trustworthy: two different “John Smith”s stay two people.
The rest of the pipeline is plumbing:
- Scrape the current S&P 500 list from Wikipedia, and drop companies that have left the index.
- Pull directors and officers from the SEC filings.
- Fetch today's market cap for every company from Yahoo Finance.
- Export JSON for the tables, and lay out the graph offline in Python so the page just draws it.
What broke along the way
Public data is messy. A few of the problems worth knowing about if you try something similar:
-
Dates that sort wrong. The SEC writes dates as
29-APR-2024. Compared as text, that comes after25-APR-2025, so our “most recent filing” was sometimes a year-old one. Parsing them properly changed a lot of titles. - People who have left. Filings tell you when someone joins, not reliably when they leave. Directors file at least once a year, so we now drop anyone whose newest filing is more than a year older than the newest data. That removed about 2,100 stale roles and cut the number of multi-board people from 1,382 to 1,061. The old numbers overstated how connected the index is.
- “See Remarks.” Many filers type “See Remarks” into the title box and put the real title in a free-text remarks field, alongside legal boilerplate about powers of attorney. We now dig the title out of the remarks when it looks like one.
- Names in two orders. SEC names are “Last First Middle”, often in capitals; the older data was “First Last”. We learn which words tend to be given names and which family names from the data itself and guess the order per name, which gets about 99% right on names we can check. The same trick merges the older records with their SEC twins.
-
Companies that change identity. BlackRock re-registered with the SEC under a new ID in late
2024, so its old ID stopped filing and every one of its people looked stale. BNY Mellon changed ticker from
BKtoBNYwhile keeping its ID, which collided with its own old row. - Wikipedia blocks the default Python user agent, so even the list of companies needs a browser-like request.
What we found
It's a small world
Of the 500 companies, 466 are joined into a single web by shared people. Between any two of those, the average shortest chain is just 3.9 links, and the longest is 9. Nvidia to ExxonMobil takes three hops: Nvidia shares a person with Intuit, Intuit with Cisco, Cisco with Exxon. From Procter & Gamble you can reach 139 companies in two hops and 346, more than two thirds of the index, in three.
The hubs are household names
The best-connected companies are not tech giants or banks but old-line consumer and industrial brands, whose boards are stocked with sitting and former CEOs from elsewhere.
| Company | S&P 500 companies it shares people with |
|---|---|
| Procter & Gamble | 20 |
| Microsoft | 16 |
| Hewlett Packard Enterprise | 16 |
| AT&T | 15 |
| Target | 15 |
| MetLife | 15 |
| General Motors | 15 |
| General Electric, Visa, Walmart, Johnson & Johnson | 14 |
By contrast, some of the index's most valuable companies are nearly self-contained: Nvidia links to 3 companies and Tesla to 1. Size helps, though: the biggest quarter of the index by market cap averages 7.4 connections, against 3.8 for the smallest quarter.
The people with the most seats
Most people (8,417 of 9,478) hold a role at only one S&P 500 company. 141 hold roles at three or more. Craig Arnold, former CEO of Eaton, sits on five boards: Honeywell, its newly spun-off Honeywell Aerospace, KKR, Medtronic and Procter & Gamble. Thirteen more people sit on four, including Marissa Mayer (AT&T, Hilton, Starbucks, Walmart), Teri List (Danaher, Lululemon, Microsoft, Visa) and Patricia Russo (GM, HPE, KKR, Merck).
Nor is it only outside directors. 189 people who are CEO somewhere in the index also sit on another S&P 500 board. CSX's CEO, Stephen Angel, is a director of GE, GE Vernova and Linde; Nasdaq's CEO, Adena Friedman, sits on Intuit's board.
Spin-offs keep their parents' boards
The heaviest links in the whole network are corporate families, not friendships. Honeywell and Honeywell Aerospace share five directors; FedEx and FedEx Freight share three; GE shares people with both GE HealthCare and GE Vernova. Among unrelated companies, the strongest ties are three shared directors each between Illinois Tool Works and Northern Trust (both Chicago), Vulcan Materials and Regions Financial (both Birmingham, Alabama), and Genuine Parts and Rollins (both Atlanta). Geography, it seems, matters.
Sectors cluster, but not by much
27% of links join two companies in the same sector, against about 11% if people were spread at random. So boards do lean towards their own industry, but nearly three quarters of links cross sectors, which is what makes the web so tightly knit. Consumer staples companies are the most connected sector (6.7 links on average); utilities the least (3.0).
Who stands alone
34 companies share no one with any other S&P 500 company. They include Berkshire Hathaway, Palantir, Las Vegas Sands, Garmin, Schlumberger, CME Group, TransDigm and Interactive Brokers, along with a cluster of regional utilities and energy producers. Several are founder- or family-controlled, which fits.
Money behind the seats
About 400 people work for, or represent, a private-equity, venture or hedge fund, found from their SEC filings and from the director biographies in each company's proxy statement. Silver Lake and Perella Weinberg each have four people across the index; KKR, Greylock and Madison Dearborn three each. This is the most heuristic part of the data: a spot check found about 88% of flagged firms were right. The directors table shows them in its Investment firm column.
Caveats
- A “link” counts directors and officers alike, so an executive at one company who is a director at another counts the same as a director on two boards.
- Filing data lags by up to a quarter. New joiners are picked up from their Form 3s, but departures and title changes in the latest few months may be missed.
- A handful of companies with two share classes (Alphabet, Fox, News Corp) appear once, not twice.
- Only links inside the S&P 500 count. Directors of smaller public companies, private companies and non-profits are invisible here.
Explore it yourself
Search for a company or a person in the tables, or open the graph and click a company to see who it is tied to.
