Dividend Scoring - toddbadams/strawberry GitHub Wiki

The Dividend Score is a quantitative measure designed to assess how likely a company is to maintain or cut its dividend over a full economic cycle. It combines multiple financial indicators—such as payout ratios, debt levels, cash flow stability, and liquidity—to evaluate the underlying strength and sustainability of a firm’s dividend payments.

This score matters because high-yield dividends can be deceptively attractive; without proper risk screening, investors may unknowingly take on companies that are overleveraged, cash-flow unstable, or vulnerable in downturns. A well-structured Dividend Safety Score helps investors avoid dividend traps, build more reliable income portfolios, and make decisions grounded in both financial discipline and long-term risk management.

1. Earnings Payout Ratio

As a quant analyst I want to calculate the earnings-based payout ratio So that I can assess dividend affordability from profits

The earnings payout ratio (often called the dividend payout ratio) measures the portion of a company’s net income that’s paid out as dividends.

$$ \text{Payout Ratio} = \frac{\text{Dividends Paid}} {\text{Net Income}} $$

Or, on a per-share basis:

$$ \frac{\text{Dividends per Share (DPS)}} {\text{Earnings per Share (EPS)}} $$

  1. Dividends Paid: Total cash dividends a company pays to its shareholders over a period. Or dividends per share if you’re comparing on a per-share basis.

  2. Net Income: The company’s profit after all expenses and taxes for the same period. Or earnings per share if using the per-share formula.

Acceptance Criteria:

  • Input Columns: dividend, net_income_adj
  • Output Column: earnings_payout_ratio
  • Scoring Rules:
    • If ratio <= 0, score = 100
    • If ratio between 0 and 120, score = linearly scale 100→10
    • If ratio >= 120, score = 10

2. Free Cash Flow Payout Ratio

As a quant analyst I want to calculate the FCF payout ratio So that I can evaluate dividends against real cash flow

Acceptance Criteria:

  • Input Columns: dividend, free_cashflow
  • Output Column: fcf_payout_ratio
  • Scoring Rules:
    • If ratio <= 0, score = 100
    • If ratio between 0 and 120, score = linearly scale 100→10
    • If ratio >= 120, score = 10

The free cash flow payout ratio measures the percentage of a company’s free cash flow that’s paid out as dividends. It gives you a sense of dividend sustainability, since free cash flow (FCF) is the cash a company actually has left after funding its operations and capital expenditures.

$$ \text{FCF Payout Ratio} = \frac{\text{Dividends Paid}} {\text{Free Cash Flow}} $$

Or, on a per-share basis:

$$ \frac{\text{Dividends per Share}} {\text{Free Cash Flow per Share}} $$

  1. Dividends Paid: Total cash dividends distributed over the period (or DPS for per-share).
  2. Free Cash Flow: Operating cash flow minus capital expenditures (CapEx) for the same period.
    • On a per-share basis, divide total FCF by the weighted-average shares outstanding.

A 30% FCF payout ratio means the company is returning 30% of its available cash to shareholders, leaving 70% to fuel growth or pay down debt. Ratios above 100% could signal unsustainable dividends (i.e., paying out more than you generate), while very low ratios might suggest room to raise distributions.

3. Cash Payout Ratio

As a quant analyst I want to calculate the cash payout ratio So that I can evaluate dividends against real operating cashflow.

The cash payout ratio measures the portion of a company’s operating cash flow that’s paid out as cash dividends over a period. Unlike the earnings payout ratio (which uses net income), this one uses the cash the business really generated—no accruals, no non-cash charges.

$$ \text{Cash Payout Ratio} = \frac{\text{Dividends Paid}} {\text{Operating Cash Flow}} $$

Or, on a per-share basis:

$$ \frac{\text{Dividends per Share (DPS)}} {\text{Cash Flow per Share}} $$

  1. Dividends Paid: Total cash dividends distributed to shareholders during the period. If you’re doing it per-share, use Dividends per Share (DPS).

  2. Operating Cash Flow: Cash generated from running the core business (found on the cash flow statement). For per-share, divide total operating cash flow by the weighted-average shares outstanding to get Cash Flow per Share.

A 25% cash payout ratio means the company is returning one quarter of its operating-cash generation directly to shareholders. That leaves 75% in the business for growth, debt service, or other uses. Ratios above 100% might indicate unsustainable dividends (you’re paying out more than you’re actually collecting in cash), while low ratios could signal room to boost dividends or ramp up reinvestment.

Acceptance Criteria:

  • Input Columns: dividend, cash_and_cash_equivalents
  • Output Column: cash_payout_ratio
  • Scoring Rules:
    • If ratio <= 10, score = 100
    • If ratio between 10 and 120, score = linearly scale 100→10
    • If ratio >= 120, score = 0

4. Debt-to-Equity Ratio

As a quant analyst I want to measure leverage So that I can assess financial risk related to debt

The debt-to-equity ratio measures a company’s financial leverage by comparing its total debt to its total shareholders’ equity.

$$ \text{Debt-to-Equity} = \frac{\text{Total Debt}} {\text{Shareholders’ Equity}} $$

  1. Total Debt: Typically the sum of short-term debt (notes and lines payable within a year) plus long-term debt (bonds, loans, leases). You can also use Total Liabilities if you want a broader view of all liabilities.
  2. Shareholders’ Equity The residual “book value” owned by shareholders: Includes common stock, retained earnings, and other equity items.

Acceptance Criteria:

  • Input Columns: total_debt, total_shareholder_equity
  • Output Column: debt_to_equity_ratio
  • Scoring Rules:
    • If ratio <= 0, score = 100
    • If ratio between 0 and 2, score = linearly scale 100→20
    • If ratio >= 20, score = 10

5. Interest to EBIT Coverage Ratio

As a quant analyst I want to calculate interest coverage So that I can measure the company’s ability to service debt

The interest coverage ratio measures how many times over a company can pay its interest expense with its operating earnings.

$$ \text{Interest Coverage} = \frac{\text{EBIT}} {\text{Interest Expense}} $$

  1. EBIT: Earnings Before Interest and Taxes (sometimes people use EBITDA instead: add back Depreciation & Amortization for an “EBITDA coverage” ratio). Found on the income statement as “Operating Profit” or “Income from Operations.” If you want a more conservative view, use straight EBIT; if you want to factor in non-cash charges, you can bump it to EBITDA.
  2. Interest Expense: The total interest the company paid (or accrued) on its borrowings over the same period. Also listed on the income statement.

Use this ratio to compare peers in the same industry and to monitor changes over time. If interest costs rise or EBIT falls, watch for the coverage ratio slipping toward danger territory.

Acceptance Criteria:

  • Input Columns: ebit, interest_expense
  • Output Column: interest_coverage_ratio
  • Scoring Rules:
    • If ratio <= 150, score = 10
    • If ratio between 150 and 300, score = linearly scale 10→100
    • If ratio >= 300, score = 100

6. Cash (EBIDTA) to Interest Coverage

As a quant analyst I want to measure how many years of debt interest are covered by cash So that I can assess cash earnings can handle interest.

A measure of a company’s ability to meet its interest obligations out of true cash earnings (not just accounting profit).

$$ \text{Cash Coverage Ratio} = \frac{\text{EBITDA}} {\text{Interest Expense}} $$

  1. EBITDA: Earnings Before Interest, Taxes, Depreciation & Amortization
  2. Interest Expense: Cash interest paid over the period
  • Input Columns: ebitda, interest_expense
  • Output Column: cash_interest_coverage_ratio
  • Scoring Rules:
    • If ratio <= 150, score = 10
    • If ratio between 150 and 600, score = linearly scale 10→100
    • If ratio >= 600, score = 100

7. Cash to Dividend Coverage Ratio

As a quant analyst I want to measure how many years of dividends are covered by cash So that I can assess cash cushion

Also called the cash dividend cover or dividend coverage ratio on a cash‐flow basis. It shows how many times operating cash flow covers the dividends paid.

$$ \text{Cash Dividend Coverage} = \frac{\text{Operating Cash Flow}} {\text{Dividends Paid}} $$

Or per‐share:

$$ \frac{\text{Cash Flow per Share}} {\text{Dividend per Share}} $$

Acceptance Criteria: Count of consecutive years where df['cash_dividend_coverage'] = df['cash_and_equiv'] / df['dividends_paid']

  • Input Columns: cash_and_equiv, dividend_ttm
  • Output Column: cash_dividend_coverage_ratio
  • Scoring Rules:
    • If ratio <= 100, score = 10
    • If ratio between 100 and 200, score = linearly scale 10→100
    • If ratio >= 200, score = 100

8. Free Cash Flow Volatility (FCF)

As a quant analyst I want to measure cash flow stability So that I can reward companies with predictable earnings

Free cash flow is the cash a company has left over after funding its operations and capital expenditures (CapEx). It’s the money available to pay dividends, buy back shares, pay down debt or pursue acquisitions. Free Cash Flow Volatility quantifies the year-to-year swings in a company’s free cash flow.

  • High volatility → cash flow is erratic (riskier).
  • Low volatility → cash flow is stable (more predictable).

$$ \text{FCF} = \text{Operating Cash Flow} - \text{Capital Expenditures} $$

Or, if you start from net income:

$$ \text{FCF} = \text{Net Income} + \text{Non-Cash Charges (DA, stock comp, etc.)} - \Delta\text{Working Capital} - \text{CapEx} $$

How FCF Volatility is calculated

a) Gather a time series

Collect FCF for n consecutive periods (usually annual):

$$ \text{FCF}_1,;\text{FCF}_2,;\dots,;\text{FCF}_n $$

b) Compute the standard deviation (σ)

$$ \sigma_{\text{FCF}} = \sqrt{\frac{1}{n-1}\sum_{i=1}^n\bigl(\text{FCF}_i - \bar{\text{FCF}}\bigr)^2} $$

where $\bar{\text{FCF}}$ is the average free cash flow over those $n$ years.

c) Normalize with the Coefficient of Variation (CV) to express volatility relative to scale, divide by the mean:

$$ \text{CV}{\text{FCF}} = \frac{\sigma{\text{FCF}}}{\bar{\text{FCF}}} $$

This yields a unit-less ratio (often shown as a percentage).

  1. Operating Cash Flow: Cash generated by the business’s core activities (found on the cash-flow statement). Reflects collections from customers minus cash paid to suppliers, employees, taxes, etc.
  2. Capital Expenditures (CapEx): Cash spent on property, plant & equipment (PP&E), software development, or other long-term assets. Also on the cash-flow statement as “Purchases of PP&E” (often a negative line).

Why it matters:

  • True profitability: Shows cash left after maintaining or expanding the asset base.
  • Valuation input: FCF powers DCF models and guides investment decisions.
  • Financial flexibility: Indicates capacity to return cash to shareholders, pay debt, or invest in growth.

Acceptance Criteria:

  • Input Columns: free_cash_flow
  • Output Column: fcf_volatility_pct
  • Window: trailing 5 years
  • Scoring Rules:
    • If ratio <= 10, score = 100
    • If ratio between 10 and 250, score = linearly scale 100→10
    • If ratio >= 250, score = 10

9. Dividend Growth

As a quant analyst I want to calculate dividend growth So that I can score dividend increases over time.

Dividend growth measures the rate at which a company’s per-share dividend increases (or decreases) over a period. It’s a key signal of management’s confidence in future cash flows: steady growth often means stable, predictable earnings.

How It’s Calculated: There are two common ways to measure dividend growth:

  1. Year-over-Year Growth Rate

    $$ \text{Dividend Growth}{t} = \frac{D{t} - D_{t-1}}{D_{t-1}} $$

    • $D_{t}$: Dividend per share in the current period.
    • $D_{t-1}$: Dividend per share in the prior period.
  2. Compound Annual Growth Rate (CAGR): For a multi-year span ($n$ years), CAGR smooths out volatility:

    $$ \text{Dividend CAGR} = \biggl(\frac{D_{!n}}{D_{0}}\biggr)^{\tfrac{1}{n}} - 1 $$

    • $D_{0}$: Dividend per share at the start.
    • $D_{n}$: Dividend per share after $n$ years.

Acceptance Criteria:

  • Input Columns: dividend_TTM
  • Output Column: dividend_growth_CAGR_5yr
  • Scoring Rules:
    • If ratio <= 0, score = 0
    • If ratio between 0 and 150, score = linearly scale 0→100
    • If ratio >= 150, score = 100

10. Dividend Growth Streak

As a quant analyst I want to detect consecutive years of dividend growth So that I can score dividend commitment

A dividend growth streak is simply the number of consecutive years that a company has increased its dividend per share without a cut or flat payment. It’s a strong signal of management’s commitment to returning cash and the stability of its cash flows.

How It’s Calculated

  1. Gather Annual Dividends: List the dividend per share (DPS) paid each year for the period you’re examining:

    $$ D_0,; D_1,; D_2,;\dots,; D_n $$

  2. Compare Year-to-Year: Starting from the earliest year, check whether

    $$ D_{i} > D_{i-1} $$

    for each consecutive pair.

  3. Count Consecutive Increases:

    • Streak = the longest run of years where each year’s dividend was strictly higher than the prior year’s.
    • If you hit a year $D_{k} \le D_{k-1}$, the streak ends there.

Why It Matters: a long, unbroken dividend growth streak is a quick screen for quality, financially stable companies—but always pair it with payout ratios and cash-flow analysis to ensure sustainability.

Acceptance Criteria:

  • Input Columns: dividend_per_share
  • Output Column: dividend_growth_streak
  • Scoring Rules:
    • If ratio <= 0, score = 0
    • If ratio between 0 and 10, score = linearly scale 0→100
    • If ratio >= 10, score = 100

11. Dividend Yield

As a quant analyst I want to calculate dividend yeild So that I can score income generating power.

Dividend yield tells you the annual return from dividends alone, expressed as a percentage of the current share price. It’s a snapshot of income-generating power.

How It’s Calculated

Dividend Yield Ratio

$$ \text{Dividend Yield} = \frac{\text{Annual Dividends per Share}}{\text{Current Share Price}} \times 100% $$

  1. Annual Dividends per Share: Often the sum of the last four quarterly payouts (trailing yield). Or management’s forward guidance for the next 12 months (forward yield).

  2. Current Share Price: The market price you’d pay today for one share.

Key Tips:

  • Compare yield to the company’s payout ratio and free cash flow to ensure sustainability.
  • Track both trailing and forward yields—management may guide higher or lower payouts ahead.
  • Use yield alongside total return (price appreciation + dividends) for a full picture of investment performance.

Acceptance Criteria:

  • Input Columns: dividend_TTM, share_price
  • Output Column: dividend_yield_ratio
  • Scoring Rules:
    • If ratio <= 0, score = 0
    • If ratio between 0 and 10, score = linearly scale 0→100
    • If ratio >= 10, score = 100

12. Share Buyback Yield

As a quant analyst I want to calculate share buyback yield So that I can score the impact of the increase in shareholder value.

A share buyback (aka share repurchase) happens when a company uses cash to buy its own shares on the open market or via a tender offer. This reduces the number of shares outstanding and can boost metrics like earnings per share (EPS) or return on equity (ROE).

  1. Total Buyback Amount

    $$ \text{Buyback Amount} = \sum (\text{Shares Repurchased}_i \times \text{Price Paid}_i) $$

    • Sum across all repurchase transactions in a period (often disclosed on the cash-flow statement).
  2. Buyback Yield (a normalized measure)

    $$ \text{Buyback Yield} = \frac{\text{Total Buyback Amount}}{\text{Average Market Capitalisation}} \times 100% $$

    • Average Market Cap: often the mean of the period’s opening and closing market caps.
    • Expressed as a percentage of the company’s size, letting you compare buyback intensity across firms.
  3. Shares Outstanding Reduction

    $$ \Delta \text{Shares} = \text{Shares Before} - \text{Shares After} $$

    • You can track the percentage drop in shares: $\frac{\Delta \text{Shares}}{\text{Shares Before}}\times100%$.

Acceptance Criteria:

  • Input Columns: dividend_per_share
  • Output Column: share_buyback_yeild_ratio
  • Scoring Rules:
    • If ratio <= 1, score = 0
    • If ratio between 1 and 3, score = linearly scale 0→100
    • If ratio >= 3, score = 100

By tracking both the dollar amount and the buyback yield, you get a clear view of how aggressively a company is deploying cash to repurchase shares—and what that might mean for future per-share metrics and shareholder value.

13. Revenue Drawdown

As a quant analyst I want to calculate revenue decline in stressed years So that I can measure resilience

Revenue Drawdown measures the peak-to-trough decline in a company’s revenue over a given period. It tells you how much revenue has fallen from its highest point before it recovers or continues down.

How It’s Calculated

  1. Gather a revenue time series

    $$ R_1, R_2, \dots, R_n $$

    where $R_i$ is revenue in period $i$.

  2. Identify peaks and troughs

    • Peak ($P$): the highest revenue value before a decline.
    • Trough ($T$): the lowest point reached after that peak, before revenue rebounds or the period ends.
  3. Compute drawdown

    $$ \text{Drawdown} = \frac{P - T}{P} \times 100% $$

    • Numerator: magnitude of the drop (peak minus trough).
    • Denominator: peak level (to normalize the drop).

Why It Matters:

  • Risk Management: gauges vulnerability in revenue streams.
  • Benchmarking: compare across peers or time periods to spot who weathers slumps best.
  • Forecasting: informs stress-testing and scenario planning—if your worst-case drop is historically 15 %, plan accordingly.

Acceptance Criteria:

  • Input Columns: revenue
  • Output Column: revenue_drawdown_ratio
  • Scoring Rules:
    • If ratio <= 5, score = 100
    • If ratio between 5 and 20, score = linearly scale 100→10
    • If ratio >= 20, score = 10

14. Quick Ratio

As a quant analyst I want to assess short-term liquidity So that I can determine dividend coverage from liquid assets

The quick ratio (also called the acid-test ratio) tells you whether a company can cover its current liabilities using only its most liquid assets. It strips out inventory (which can take time to turn into cash) and focuses on cash and receivables.

$$ \text{Quick Ratio} = \frac{\text{Cash + Cash Equivalents + Marketable Securities + Accounts Receivable}} {\text{Current Liabilities}} $$

Or equivalently:

$$ \frac{\text{Current Assets} - \text{Inventory}} {\text{Current Liabilities}} $$

  1. Cash & Cash Equivalents: Ready cash or assets that can be converted to cash within 90 days.
  2. Marketable Securities: Short-term investments you can quickly sell at fair value.
  3. Accounts Receivable: Money owed by customers that you expect to collect soon.
  4. Current Liabilities: Bills, loans, and other obligations due within one year.

A quick ratio of 1.0 means the company has exactly enough ultra-liquid assets to pay its short-term debts. Above 1 is generally seen as healthy; below 1 suggests you’d need to rely on selling inventory or raising cash elsewhere.

Acceptance Criteria:

  • Input Columns: cash_and_equiv, receivables, current_liabilities
  • Output Column: quick_ratio
  • Scoring Rules:
    • If ratio <= 50, score = 20
    • If ratio between 50 and 200, score = linearly scale 20→100
    • If ratio >= 200, score = 100

Aggregate Score

As a quant analyst I want to generate a final Dividend Safety Score So that I can rank dividend safety consistently

Acceptance Criteria:

  • Input Columns: All *_score or ratio columns
  • Output Column: dividend_safety_score
  • Formula: | # | Score | Weight | | :- | ---------------------------------- | -----: | | 1 | earnings_payout_ratio_score | 0.03 | | 2 | fcf_payout_ratio_score | 0.08 | | 3 | cash_payout_ratio_score | 0.03 | | 4 | debt_to_equity_ratio_score | 0.05 | | 5 | interest_coverage_ratio_score | 0.05 | | 6 | cash_interest_coverage_ratio | 0.05 | | 7 | cash_dividend_coverage_ratio | 0.10 | | 8 | fcf_volatility_ratio_score | 0.08 | | 9 | dividend_growth_CAGR_5yr_score | 0.15 | | 10 | dividend_ttm_growth_streak_score | 0.10 | | 11 | dividend_yield_ratio_score | 0.15 | | 12 | share_buyback_yield_ratio_score | 0.05 | | 13 | revenue_drawdown_ratio_score | 0.05 | | 14 | quick_ratio_score | 0.03 |

some useful dashboards

https://www.dividend.com/stocks/financials/insurance/life-insurance/afl-aflac/

Best Dividend Protection Stocks

Targeting very safe dividends to preserve capital and beat the savings rate. Updated daily, only the very best make it through the industry’s strictest safe dividend screening test and manual selection process. If you don't want the low savings rate to erode your hard-earned capital, this portfolio of reliable and very safe dividends is for you. Read more below*. https://www.dividend.com/best-dividend-protection-stocks/

https://www.investopedia.com/articles/markets/060116/4-ratios-evaluate-dividend-stocks.asp?utm_source=chatgpt.com

When you’re building a dividend‐focused dashboard, you’ll want sources that not only report the raw numbers (yield, DPS, payout) but also contextualize them with coverage ratios, cash‐flow metrics, debt servicing, growth rates and volatility indicators. Here are several publicly accessible sites that offer rich dividend dashboards or stock‐level profiles featuring exactly the kinds of ratios and visualizations you need:

  1. Dividend.com

    • Overview page shows Yield, Forward Dividend, Payout Ratio, Dividend Growth, Income Ratings and more in a tabular view (Dividend).
    • Stock profiles include a “Payout” tab with historical payout ratios vs. earnings and free cash flow (FCF), plus a “Dividend Growth” chart that tracks rolling annual increases.
    • Risk section highlights Beta (volatility) and correlation metrics alongside payout sustainability (Dividend).
  2. Simply Wall St

    • Dividend Tracker (free feature) aggregates your positions and forecasts annual/monthly income, current yield on cost, and 3+-year dividend forecasts (Simply Wall St).

    • Individual stock pages (e.g. Rithm Capital) display:

      • Dividend Yield & Growth (%)
      • Payout Ratio vs. Earnings and Cash Flow Coverage
      • Volatility assessment (“Stable/Volatile” flags)
      • Debt service metrics like Cash Flow/Total Debt and Interest Coverage (Simply Wall St).
  3. Yahoo Finance

    • Statistics tab for any ticker includes:

      • Payout Ratio (TTM)
      • Forward Dividend & Yield
      • Times Interest Earned (in Key Metrics)
      • Free Cash Flow (Annual)
    • Analysis and Financials tabs let you drill into Income, Cash Flow, and Balance Sheet items to compute your own coverage ratios (Investopedia).

  4. Investopedia’s “4 Ratios to Evaluate Dividend Stocks”

    • Outlines and defines the core metrics you’ll want to display:

      • Dividend Payout Ratio
      • Dividend Coverage Ratio
      • Free Cash Flow to Equity (FCFE) Ratio
      • Net Debt to EBITDA (and Interest Coverage) (Investopedia).
  5. Morningstar (Global site)

    • Dividend Safety and Dividend Growth scores integrate:

      • Payout Ratio vs. FCF
      • Interest Coverage (EBIT/Interest)
      • Net Debt/EBITDA
      • Volatility factors (Distance to Default, Beta proxies) (go.morningstar.com.au).
    • Many widgets and charts require sign-up, but high-level ratio tables are viewable publicly.

  6. Wikipedia (for metric definitions)

    • Dividend payout ratio – formula DPS/EPS and interpretation (Wikipedia).
    • Dividend cover (coverage ratio) – EPS divided by dividend per share (Wikipedia).
    • Cash‐flow‐to‐debt ratio and Debt Service Coverage Ratio – key leverage metrics (Wikipedia).
    • Times interest earned (Interest Coverage) – EBIT ÷ Interest Expense (Wikipedia).

Dashboard‐design tips

  • Combine multiple sources: use Dividend.com or Simply Wall St widgets for high‐level visuals, and link through to Yahoo Finance or Morningstar for deep dives.
  • Interactive filters: allow users to toggle between Payout vs. EPS, FCF, Cash Flow or Coverage ratios.
  • Volatility overlays: plot historical yield alongside Beta or standard deviation (from Dividend.com’s risk section) to see how payouts fluctuate with market swings.
  • Growth vs. Yield scatter: chart dividend growth rate on one axis and current yield on the other; annotate points by debt service metrics.

This selection will give you both the raw data and the contextual analytics to build a best-in-class dividend dashboard.