fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Interest-Coverage Ratio

Install and import#

bash
npm install fintech-algorithms
ts
import { 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#

NameTypeNotes
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#

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#

Interest-Coverage Ratio — article hero
Interest-Coverage Ratio — definition comparison
Interest-Coverage Ratio — evidence lineage
Interest-Coverage Ratio — formula anatomy
Interest-Coverage Ratio — system map
Interest-Coverage Ratio — worked example

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.

Read the article →

References#

The rest of the Statement Ratios family#