Ownership is a list at the first hop and a graph at the third. Most reports stop at the second, which is why most reports read cleanly and answer the wrong question. The interesting shapes only surface once entities, officers, signatories, and service providers are on the same picture, connected by typed edges, and the picture is allowed to have cycles and dead ends.
We model the structure as a graph. Entities are nodes; ownerships are weighted directed edges. Officers, signatories, and service providers are typed nodes that connect across companies. The graph has loops, dead ends, cycles where two entities own each other through intermediaries, and clusters where five unrelated-looking structures share the same service-provider node.
Running this as a graph changes the questions you can ask. Shortest path between a person and a counterparty. All shared service providers across a set of structures. Officers who recur across otherwise disconnected entities. Countries that show up repeatedly as intermediate hops even though they are never named as parent or subsidiary.
The clusters are where the work lives. A graph with twenty entities and three shared service providers is one structure with paperwork. A graph with twenty entities and no shared service providers is twenty structures that happen to have one person in common, which is a different read.
None of this is exotic; the tooling has existed for years. The reason it does not get done is time. Building the graph is slow if you do it once. It is fast after you have built it and faster still after you have built fifty. The system we run is the accumulation of those fifty graphs and the patterns the analysts learned to recognize across them.