compute_group_ownership
Computes the EFFECTIVE OWNERSHIP (look-through / economic transparency) of a block of the group: "who really owns how much of the sub-subsidiary, going up the whole chain?". Goes up the ownership links and the assignments of people, multiplies the % along each path and sums the paths. ⚠️ ONLY dependencies of type business count as a stake in the capital (structured shares %, or % written in the label): a structural dependency is a HIERARCHY arrow, visual, and stays ignored even if it carries shares — otherwise a containment arrow would make a holder appear that is not one. A stake is therefore modeled with add_dependency({type:'business', shares}). Returns the sorted ultimate holders (people and entities without a holder), their detailed paths, and data-quality notes (links with a % ignored for not being business, unstructured labels, cut cross-holdings, total ≠ 100%). READ-ONLY — it does not modify the schema. Fits whenever an effective %, a transitive ownership, or "who controls X" is asked.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| minPct | No | Filter: returns only the effective holders above this threshold (in %). | |
| targetCellId | Yes | ID of the block (company/subsidiary) whose effective ownership table is wanted. | |
| expectedProjectId | No | UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted. |