Interest-Coverage Ratio
Install and import#
npm install fintech-algorithmsimport { interestCoverageRatio } from "fintech-algorithms/fundamental-analysis-and-valuation/statement-ratios/interest-coverage-ratio";Signature#
interestCoverageRatio(input)Divides EBIT by gross interest expense on the times-interest-earned convention and reports how much of the interest bill earnings fail to cover.
Parameters#
| Name | Type | Notes |
|---|---|---|
input | { ebit: number; gross_interest_expense: number } | A plain object holding ebit, the earnings measure in the numerator, and gross_interest_expense, the interest charge in the denominator taken gross rather than net of interest income. Both must be finite numbers. |
Returns#
{ ebit: number; gross_interest_expense: number; interest_coverage_ratio: number | null; coverage_shortfall: number | null; state: string; reason: string }
ebit and gross_interest_expense echo the inputs. interest_coverage_ratio is their quotient and coverage_shortfall is the interest expense less EBIT, floored at zero. When gross interest expense is not positive both are null, state is not-meaningful and reason is nonpositive-gross-interest-expense; otherwise state is covered at a ratio of one or more and not-covered below it, with reason ebit-divided-by-gross-interest-expense.
Errors#
- When ebit or gross_interest_expense is not a finite number — throws RangeError
Complexity: time O(1),
space O(1).
Worked example#
verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.
Input#
{
"ebit": 150,
"gross_interest_expense": 50
}Call#
interestCoverageRatio(input)Returns#
object with 6 fields: ebit, gross_interest_expense, interest_coverage_ratio, coverage_shortfall, state, reason
{
"ebit": 150,
"gross_interest_expense": 50,
"interest_coverage_ratio": 3,
"coverage_shortfall": 0,
"state": "covered",
"reason": "ebit-divided-by-gross-interest-expense"
}Other exports#
This module also exports
dupontDecomposition, roicCalculation, cashConversionCycle, netDebtToEbitda, commonSizeStatements, calculate. Every module additionally exports run as an alias of its
primary function, and a meta object carrying its catalog id, domain, family,
shape and article URL.
Diagrams#
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#
- Stress Testing Corporate Balance Sheets — International Monetary Fund staff
- Beginners' Guide to Financial Statements — U.S. Securities and Exchange Commission
- EDGAR Application Programming Interfaces — U.S. Securities and Exchange Commission
- Evidence boundary