Contingently Issuable Shares
Current-Conditions EPS Test
Install and import#
npm install fintech-algorithmsimport { calculateContingentShareInclusion } from "fintech-algorithms/earnings-and-per-share-analytics/basic-and-diluted-eps/contingently-issuable-share-inclusion";Signature#
calculateContingentShareInclusion(input)Decides whether shares issuable on a condition count today. The rule is that they are included from the date the condition is *satisfied*, judged as at the reporting date — not when issue is merely likely, which is where judgement creeps in.
Parameters#
| Name | Type | Notes |
|---|---|---|
input | ContingentShareInput | Agreement terms with period_application and the as_of reporting date the condition is judged against. |
Returns#
{ metric, agreement_id, condition_satisfied, included_shares, diluted_eps, … }
The inclusion decision with the condition state that drove it — a judgement that is auditable rather than embedded.
Errors#
- When the contingency condition is unrecognised — reported as a status rather than thrown
Complexity: time O(1),
space O(1).
Worked example#
executed Captured by running this function on the input its own test provides. Real output of real code — but not asserted against a published figure.
Input#
{
"entity_id": "SYNTH-ENTITY",
"agreement_id": "CSA-2025-01",
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"as_of": "2026-02-20T12:00:00Z",
"accounting_framework": "IFRS",
"period_application": "IFRS_DIRECT_PERIOD",
"currency": "USD",
"basic_control_numerator": "120",
"basic_weighted_average_shares": "50",
"earnings_scale": "1000000",
"share_scale": "1000000",
"fixed_contingent_shares": "5",
"agreement_date": "2024-07-01"
}Showing 14 of 43 fields.
Call#
calculateContingentShareInclusion(input)Returns#
object with 41 fields: metric, entity_id, agreement_id, period_start, period_end, accounting_framework, period_application, legal_status, …
{
"metric": "contingently_issuable_share_inclusion",
"entity_id": "SYNTH-ENTITY",
"agreement_id": "CSA-2025-01",
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"accounting_framework": "IFRS",
"period_application": "IFRS_DIRECT_PERIOD",
"legal_status": "UNRESOLVED",
"routing_decision": "DILUTED_CURRENT_STATUS_TEST",
"terms_effective_date": "2024-07-01",
"knowledge_cutoff": "2026-02-20T12:00:00Z",
"currency": "USD",
"basic_control_numerator_base": "120000000",
"basic_weighted_average_shares_base": "50000000"
}Showing 14 of 41 fields.
Diagrams#
Calculation flow#
Contingent-share inclusion flow
flowchart TD
A["Validated agreement, effective terms, and point-in-time inputs"] --> R{"Legal state at reporting date?"}
R -->|Satisfied| C["Route shares to Basic EPS from satisfaction date"]
R -->|Cancelled| X["Exclude and retain cancellation evidence"]
R -->|Contingently returnable| Y["Route to reverse-contingency analysis"]
R -->|Only time remains| T["Route to framework-specific time or service treatment"]
R -->|Unresolved substantive condition| D{"Would every current-status condition be met if period end were contingency end?"}
D -->|No| E["Eligible contingent shares = 0"]
D -->|Yes| F{"Direct fixed shares for little or no cash?"}
F -->|No| G["Apply relevant option, convertible, or settlement method"]
F -->|Yes| H["Weight from later of period start, agreement date, and effective terms"]
H --> I["Build exact candidate with unchanged numerator"]
I --> J{"Exact candidate below exact Basic EPS?"}
J -->|Yes| K["Include in standalone diluted-EPS candidate"]
J -->|No| L["Exclude as antidilutive"]
How it works#
This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.
References#
- IAS 33 Earnings per Share, current standard page — IFRS Foundation
- IAS 33 Earnings per Share, issued standard text — IFRS Foundation
- FASB Statement No. 128, Earnings per Share — Financial Accounting Standards Board
- CVSL response to SEC comments on contingent shares — CVSL Inc.; filed through the U.S. Securities and Exchange Commission
- CVSL Third Amendment to Share Exchange Agreement — CVSL Inc. and Rochon Capital Partners, Ltd.
- CVSL 2014 Form 10-K — CVSL Inc.
- Applied performance-unit disclosure — DXP Enterprises, Inc.
- Applied loss-period and PSU disclosure — Affirm Holdings, Inc.