Allocation Engine Methodology
Why this document exists
A black box that produces numbers nobody can trace back to assumptions is worse than useless in resource management. It generates mistrust, not coordination. Every number this engine produces must be traceable to first principles, and every assumption must be explicit and challengeable.
This document explains every step: what inputs the engine takes, how it weights them, what constraints it applies, and why. If your view of how a particular weight should be set differs from the default, the live engine at /fisheries lets you change any parameter in real time and see exactly what changes.
The problem the engine solves
Most contested resource allocation processes fail for the same reason: each party enters negotiation claiming they need more than the system can sustainably provide, with no neutral mechanism to adjudicate between claims.
The typical result is one of three outcomes: a negotiated overshoot where parties agree to exceed the sustainable limit because no one will accept a cut; a deadlock where negotiations collapse and an often-unsustainable status quo continues; or power capture where the strongest party gets the most regardless of what sustainability or equity would suggest.
CORIOLIS ONE produces a fourth option: a recommendation that is mathematically consistent with the sustainability ceiling, distributes remaining capacity across parties according to documented principles, and explains every allocation in terms any party can trace and challenge.
The inputs
Every allocation is computed from a claim, a treaty floor, and four objective factors per stakeholder, plus a zone-wide sustainability ceiling. Nothing else enters the calculation unless explicitly added by the user running the engine.
1. Claim (Ci)
What the party says they need: their requested quota, historical catch level, or treaty entitlement. The claim is treated as an upper bound on what the party can receive, not a floor and not an automatic entitlement. A platform-wide dominance cap (40% of the ceiling, regardless of weight) can tighten this further, so no single party is ever recommended the entire ceiling on weight alone.
RFMO quota submissions, national quota requests, treaty schedules, or historical catch records from FAO FishStat or national fisheries agencies. Anonymised proxies (Party A requests X tonnes) are acceptable for pilot runs.
2. Compliance Score (Ki)
A 0 to 1 score reflecting how consistently the party has adhered to past agreed allocations. Compliance is one of four factors combined into a single objective weight per stakeholder, which the constrained solver then maximises against, weighted by a user-adjustable compliance_weight. It is a continuous factor, not a threshold: a poor record downweights a party's priority in the solve, it never excludes them outright, which avoids the perverse incentive a hard exclusion creates (dispute the data rather than improve).
RFMO compliance committee reports, VMS catch monitoring records, national fisheries reporting. For pilots without compliance data, a neutral score of 0.7 is applied uniformly: neither rewarding nor penalising any party on this dimension.
3. Economic Dependency (Di)
A 0 to 1 score reflecting how reliant the party's economy is on this resource, combined into the same objective weight above via a user-adjustable dependency_weight. A separate mechanism, min_viable_tonnes, can additionally guarantee a party a floor distinct from its treaty minimum — the level below which its position "isn't economically real" — where that figure has been researched for a given stakeholder.
World Bank national accounts, FAO Fisheries Economic Data, national statistics bureaus. For sub-national actors, revenue as a proportion of total sector GDP.
4. Equity (via GDP per capita)
A log-scaled term favouring lower-GDP-per-capita economies, combined into the objective weight via a user-adjustable equity_weight. Together with historical share (a party's documented past extraction share), these are the four factors the solver actually optimises: compliance, dependency, historical share, and equity — not the "claim × compliance multiplier × dependency floor" model this page described before September 2026 alpha updates, which no longer matched the live engine.
5. Sustainability Ceiling (S)
The scientifically assessed maximum yield consistent with stock recovery or maintenance. This is a hard constraint: the total recommended allocation across all parties will never exceed S. A recommendation that exceeds the ceiling is no better than the status quo.
Existing stock assessments from ICES (North Atlantic/Arctic), SPRFMO (South Pacific), WCPFC Scientific Committee (Western/Central Pacific), CCAMLR (Antarctic), or national fisheries science institutes. The engine accepts any credible externally-provided assessment. It does not produce its own stock assessments: if the ceiling is wrong, the recommendation is wrong.
The optimisation
With every stakeholder's objective weight computed from the four factors above, the engine solves a genuine constrained linear program (OR-Tools GLOP): maximise the weighted sum of allocations, subject to every party's claim/floor/dominance-cap bounds and the zone's shared sustainability ceiling. The response also carries the LP's own shadow prices and reduced costs, a ±15% sensitivity sweep across all four weights, a cross-check against three real academic claims-problem division rules, and an efficiency-versus-equity trade-off frontier — all computed on every contested-zone request, not a special mode.
Every formula above, reproduced in full with no summarisation, is available on request alongside the investor deck. Request access →
Design decisions and their rationale
Every design choice in the engine reflects a specific judgement about why previous allocation mechanisms fail. The key decisions:
- Compliance and dependency as continuous weight terms, not thresholds or multipliers: maintains participation while incentivising improvement. A hard exclusion incentivises data disputes, not behavioural change.
- A guaranteed minimum-viability floor, not a blanket dependency exemption: prevents dependency claims from becoming blanket shields against any cut, while still protecting a genuinely non-viable position from a catastrophic cut where that floor has been researched.
- Sustainability ceiling as hard constraint: a recommendation that exceeds the ceiling is indistinguishable from the status quo in its long-term effect. The constraint is inviolable.
- A 40% dominance cap: prevents pure objective weight from handing one party the entire ceiling, the same concentration limit several real quota systems already apply.
- Full configurability: every parameter is user-adjustable in the live engine. There is no hidden assumption. If a user believes dependency should receive a weight of 0.5 rather than 0.3, they can set that and see the result immediately, including the shadow prices and sensitivity data at that setting.
What the engine cannot do
This section matters as much as the sections above.
- It cannot verify inputs. If a party submits false compliance data or an exaggerated claim, the engine processes it. Data verification is a governance problem. Tools like Global Fishing Watch address the monitoring side: CORIOLIS ONE operates on whatever inputs it receives.
- It cannot enforce. Recommendations are advisory. The engine has no mechanism to compel compliance and does not claim one. Its value is in producing a neutral, transparent starting point for negotiation: not in replacing negotiation.
- It cannot adjudicate between stock assessments. If two credible scientific bodies produce different sustainability ceiling figures, the engine produces different recommendations. Resolving the science is not its function.
- It cannot account for factors it was not given. The four-factor weighting model is a deliberate simplification. A production-grade tool for binding RFMO decisions would incorporate seasonal variation, species interaction effects, gear selectivity, and other factors not currently in the model.
Pilot scope
Proof-of-concept exploration of what a neutral allocation would look like in a given zone. Comparison against existing allocation cycles. Academic modelling and research. Stakeholder engagement exercises.
Binding quota decisions without real stock assessment data. Zones where species interaction effects dominate. Situations where legal frameworks would override any algorithmic recommendation.
Transparency and auditability
Algorithm weights are configurable in the live engine at /fisheries. Every parameter is visible. The source code for the allocation engine is available on request to research partners and pilot participants.
The engine's outputs can be reproduced independently by anyone who requests the exact formulas, available alongside the source code above, using the inputs described in this document. Nothing is permanently hidden: the value is in the framework and the interface, not in obscuring the maths from serious partners.
References
This document describes the methodology of a working alpha engine and will be updated as the engine develops. Discrepancies between this document and live engine behaviour should be reported via the contact form. · © 2026 CORIOLIS ONE. Not legal or regulatory advice. Pilot outputs are advisory only.