The Martialis Index: methodology
The Martialis Index is a per-person influence score computed from the teacher–student lineage graph in the martial.is database. This page explains, in full, how it is computed and why. Nothing below is proprietary: the score is meant to be checked, not trusted on faith.
In one sentence
The Martialis Index is Katz–Bonacich centrality on the teacher–student graph, corrected for lineage concentration by the effective number of independent branches.
In one paragraph
Imagine following a martial artist's training backwards: who taught them, who taught that person, and so on. At each generation the connection counts for less, because what a student does is never wholly explained by their teacher. Add that up across everyone practising today, and each master accumulates a score for how much of what came after traces back to them. That is Katz centrality, published in 1953 and in standard use ever since. We then multiply by how broadly that legacy spread — the effective number of independent branches descending from them — so that transmitting an art to many separate lines counts for more than being one link in a single chain.
Where each piece comes from
Nothing here is invented. Every component is a named, published measure.
| Piece | Standard name | Origin |
|---|---|---|
| Attenuated influence propagation | Katz centrality / Bonacich power centrality | Katz (1953), Psychometrika; Bonacich (1987), American Journal of Sociology. The two are proportional. |
| The attenuation parameter (γ) | attenuation factor α in Katz; plays the same role as PageRank's damping factor | Katz (1953); Brin & Page (1998) |
| "What a student doesn't absorb from a teacher is their own" | independence term | Marmulla et al. (2023), on influence propagation through AFL coaching lineages — introduced so that root figures inherit no artificial advantage |
| Branch breadth correction | Hill number of order 1 = exp(Shannon entropy), the "effective number" of branches | Hill (1973), Ecology. Same family as the Laakso–Taagepera effective number of parties (1979), which is the order-2 member. |
| Combining reach and breadth | standard Cobb–Douglas functional form |
score ∝ Reach × Branch^½, i.e. log Reach + ½ log Branch |
| The "single-successor dominance" diagnostic used to validate the design | dominator-tree concept | Lengauer & Tarjan (1979) |
The overall approach — propagating influence forward through a documented mentorship network — has direct precedent in Marmulla et al.'s work on AFL coaching legacies, Rossi & Mena-Chalco's genealogical index for academic advisor–advisee trees, and Malmgren et al. (2010, Nature Physics) on scientific mentorship.
Why not just PageRank?
This is the first question anyone with a network-analysis background will ask, so here is the direct answer, backed by a measurement rather than a theoretical argument.
PageRank distributes a fixed total of 1.0 across the whole graph. On a lineage graph that makes it zero-sum: probability mass flows relentlessly upstream and pools at whoever happens to sit earliest in a chain. We measured this on the actual database: raw PageRank ranks several minor figures — each of whom has 100% of their downstream lineage passing through a single student — above Ueshiba Morihei, Bruce Lee, and the Gracie brothers. They are not independently influential; they are pass-through links in a chain that happens to lead to Kanō Jigorō. Every purely topological ranking measure we tested (direct student count, total descendants, PageRank, HITS) has this defect to some degree.
Katz–Bonacich centrality is the same random-walk idea without the
normalisation: it counts the expected influence of a walk that follows "who
taught you" and stops with probability 1 − γ at each generation, rather
than forcing the total across the whole graph to sum to one. Two consequences
worth stating plainly:
- The index is not zero-sum. A person's score depends only on their own downstream lineage, not on the rest of the graph. Adding a hundred unrelated practitioners elsewhere in the database does not move anyone else's score. Under PageRank, it would.
- What does move a person's score is a newly-documented teacher for someone already in their downstream lineage — which dilutes that intermediate figure's share of having formed that student. This is the score correctly responding to better evidence, not an artifact.
HITS (hub/authority scoring) was also tested and rejected: it collapses onto the single densest cluster in the graph (the judo lineage), a well-documented failure mode of HITS on graphs with an uneven community structure — under it, Hélio Gracie falls out of the top 15 entirely.
The two disclosed parameters
Defensibility here comes from disclosing free parameters, not from pretending none exist.
- γ = 0.5 — how much of a student's practice is attributed to their teachers, decaying each generation.
- Branch exponent = ½ — how much broad transmission counts against deep transmission in the combined score.
A parameter sweep (γ ∈ {0.35, 0.5, 0.7} × branch exponent ∈ {0, 0.5, 1}, all
nine combinations compared pairwise by Kendall rank correlation) shows the
ranking is stable across the whole grid: the minimum pairwise agreement is
τ ≈ 0.91, and the top of the ranking is unchanged under any combination.
Setting the branch exponent to 0 recovers plain Katz centrality and visibly
reintroduces the single-successor-dominance problem described above — the
clearest available demonstration of why the correction exists. Regenerate
this sweep at any time with bin/martialis-index sensitivity in the
martialis-db toolchain.
What is not in the score
Several plausible signals were investigated and deliberately excluded:
- Style diversity. It looks like an obvious addition — reward masters whose lineage spans many different arts. In practice it fails multiple ways: it rewards nominal fragmentation (a tradition with many named sub-styles scores higher than an equally influential but more centralised one, for no substantive reason); correcting for that with an evenness measure instead rewards small, evenly-spread lineages over large concentrated ones; and a plain count of arts reached reintroduces the exact chain-inflation problem the branch correction exists to remove. The number of distinct arts a person's lineage reaches is shown on their profile, but it does not affect the score.
- Documentation depth (source count, primary vs. secondary sourcing). This measures how well researched a person is, not how influential they were — folding it into the score visibly rewarded well-documented modern figures over sparsely-documented historical ones with a far larger demonstrated lineage. It is shown separately as a coverage indicator (0–5 dots on each profile), explicitly not part of the score.
- Ranks and honors granted to others. A genuine signal of certifying authority, but too sparse in the current database (well under half the entries have any data here at all) to be anything but noise, and it would systematically penalise every pre-20th-century figure, since formal dan/kyu grading is a modern invention.
- Identity hypotheses (
possibly_same_as). Two entries that may be the same person (see the "Possibly the same person as" note on affected profiles) are scored independently and never merged, even when the hypothesis is well-evidenced. The score depends only on a person's own sourced lineage, and identity hypotheses are deliberately weaker than an identity claim — some are actively disputed by named sources. An entry that exists mainly because it may be someone else scores low until it earns its own sourced teachers or students, exactly like any other entry.
Score, tier, and coverage
The published score is 100 × log(1 + raw) / log(1 + max_raw), so it is
always relative to the single highest-scoring person in the current
database — the top score is always 100.0. This is a deliberate choice: an
absolute scale would imply a false precision the underlying (sourced, but
necessarily incomplete) data cannot support.
Because the underlying graph is not fully stable — adding a single newly-documented relationship can shift a person's rank by a dozen places or more, a property shared by every network centrality measure, not specific to this one — the score is published alongside a tier band (Foundational / Major / Notable / Recorded) rather than as a bare ordinal rank. The tier absorbs normal churn as the database grows; the numeric rank is still shown, but should be read as approximate.
Data coverage (the 0–5 dots)
Each profile carries a coverage indicator shown as five dots. It measures how completely that person's record is filled in — and it is deliberately not part of the influence score, so a well-researched minor figure never outranks a sparsely-documented major one.
It is scored as earned ÷ applicable points, rescaled to 0–5:
| Check | Points | Counts when |
|---|---|---|
Citations on the entry (sources) | 2 for three or more, 1 for one or two | always |
| Birth date recorded | 1 | always |
| Death date recorded | 1 | only when the person is not plausibly still living |
| Every recorded teacher relationship rated Probable or Confirmed | 1 | always |
A check that cannot apply to someone is skipped rather than counted against them. That matters in one specific case: a living person has no death date to record, so requiring one would cap them below a full score for the sole offence of being alive. "Plausibly living" means no death date is recorded and the person was born fewer than 110 years ago; past that, a missing death date is treated as a genuine gap rather than longevity. The schema has no explicit liveness flag, so this is a deliberately charitable reading.
Three things coverage is not:
- Not a measure of source quality. It counts citations; it does not
weigh them. Three links to Wikipedia score exactly the same as three
references to primary archival material. The database does record
type(primary/secondary) andweight(high/medium/low) on every source, and a future revision may use them — today it does not. - Not the database's quality report. It is unrelated to martialis-db's own SHACL-based quality checks; it is computed independently by the index.
- Not an input to the Martialis Index. Documentation depth and influence are reported separately and on purpose.
Reproducing this
The full computation is a single open-source Python script,
bin/martialis-index, run against the public
martialis-db database. It has
one runtime dependency (PyYAML) and no proprietary component. Anyone can
clone the database, run the script, and get the same numbers.