Sloan Accrual Measure
Install and import#
npm install fintech-algorithmsimport { sloanAccrualMeasure } from "fintech-algorithms/fundamental-analysis-and-valuation/quality-and-distress/sloan-accrual-measure";Signature#
sloanAccrualMeasure(data)Computes Sloan's balance-sheet accrual measure as the change in non-cash working capital less the change in current debt and taxes payable, less depreciation and amortisation, all scaled by average total assets.
Parameters#
| Name | Type | Notes |
|---|---|---|
data | { current_assets: number; prior_current_assets: number; cash: number; prior_cash: number; current_liabilities: number; prior_current_liabilities: number; short_term_debt: number; prior_short_term_debt: number; taxes_payable: number; prior_taxes_payable: number; depreciation_and_amortization: number; average_total_assets: number } | Current and prior balance-sheet values plus the flow items. The function differences current_assets, cash, current_liabilities, short_term_debt and taxes_payable against their prior_ twins, subtracts depreciation_and_amortization, and scales by average_total_assets. |
Returns#
{ state: string; method: string; delta_current_assets: number; delta_cash: number; delta_current_liabilities: number; delta_short_term_debt: number; delta_taxes_payable: number; depreciation_and_amortization: number; accrual_amount: number; accrual_measure: number; absolute_accrual_measure: number; interpretation: string }
The five delta_ keys expose each year-over-year change and depreciation_and_amortization is echoed back. accrual_amount is the unscaled accrual, accrual_measure is that amount over average total assets and absolute_accrual_measure is its magnitude. interpretation is income-decreasing-accrual when the measure is negative, income-increasing-accrual when positive and zero-net-accrual at exactly zero. method is sloan-1996-balance-sheet-accrual and state is calculated.
Errors#
- When data is not a plain object — throws TypeError
- When any field read is missing or not a finite number — throws TypeError
- When average_total_assets is zero or negative — throws RangeError
- When depreciation_and_amortization is negative — throws RangeError
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#
{
"current_assets": 500,
"prior_current_assets": 450,
"cash": 100,
"prior_cash": 90,
"current_liabilities": 260,
"prior_current_liabilities": 240,
"short_term_debt": 70,
"prior_short_term_debt": 60,
"taxes_payable": 20,
"prior_taxes_payable": 18,
"depreciation_and_amortization": 60,
"average_total_assets": 950
}Call#
sloanAccrualMeasure(data)Returns#
object with 12 fields: state, method, delta_current_assets, delta_cash, delta_current_liabilities, delta_short_term_debt, delta_taxes_payable, depreciation_and_amortization, …
{
"state": "calculated",
"method": "sloan-1996-balance-sheet-accrual",
"delta_current_assets": 50,
"delta_cash": 10,
"delta_current_liabilities": 20,
"delta_short_term_debt": 10,
"delta_taxes_payable": 2,
"depreciation_and_amortization": 60,
"accrual_amount": -28,
"accrual_measure": -0.029473684210526315,
"absolute_accrual_measure": 0.029473684210526315,
"interpretation": "income-decreasing-accrual"
}Other exports#
This module also exports
calculate, altmanZScore, piotroskiFScore, beneishMScore, ohlsonOScore, zmijewskiXScore, springateSScore, tafflerZScore, fulmerHScore, groverGScore, dechowFScoreForMisstatementRisk, dechowDichevAccrualQuality, modifiedJonesDiscretionaryAccrualModel. 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#
- Do Stock Prices Fully Reflect Information in Accruals and Cash Flows About Future Earnings? — Richard G. Sloan
- Beginners' Guide to Financial Statements — U.S. Securities and Exchange Commission
- Conceptual Framework for Financial Reporting — International Accounting Standards Board
- Evidence boundary