Most acquisition data on the web is stored as a flat list: acquirer, target, date, price. That shape is easy to render in a table and nearly useless for analysis, because it throws away the thing you actually want - structure.
Acquisitions are a graph. Nodes are entities, edges are transactions with a direction and a timestamp. Once you model it that way, a set of queries opens up that a flat table cannot answer:
- Chains. Company A buys B; B had previously bought C. The IP you care about moved twice. A flat list shows two unrelated rows.
- Divestments. An entity leaves the graph and re-enters elsewhere. Spin-offs are edges too, and omitting them makes portfolios look monotonically expanding.
- Clustering by category. Group edges by target category and the acquirer's strategy becomes visible as a shape rather than a narrative.
Pharmaceutical companies are the clearest test case for this, because their acquisition activity is pipeline acquisition. Buying a company is often buying one molecule at a specific trial phase. Novartis AG is a useful example - the company was itself formed in 1996 by the merger of Ciba-Geigy and Sandoz, so its own root node is a merger, and its subsequent activity includes both acquisitions and significant divestments as it moved away from generics.
A schema that survives contact with real data:
{
"acquirer": "novartis",
"target": "example-bio",
"announced": "2024-03-11",
"closed": "2024-07-02",
"type": "acquisition",
"category": "oncology",
"disclosed_value_usd": null,
"source_url": "https://..."
}
Two design notes.
Keep announced and closed separate. Deals fall through, and collapsing the two dates silently rewrites history.
Make disclosed_value_usd explicitly nullable rather than defaulting to zero. "Undisclosed" and "zero" are very different facts, and 0 will quietly poison every aggregate you compute.
For a worked example of the raw material, the Novartis acquisition history is laid out chronologically, which is a reasonable input format before you normalise it into edges.
Once the graph exists, the interesting queries are the ones about time: how long between a therapeutic area's first acquisition and its second, and does that interval shorten when a strategy is working?
Top comments (0)