Source: https://guthlabs.ai/docs/instruments/dividend-yield-growth-ddm/mechanism/

instrument mechanism / verified-clean

# Dividend Yield & Growth (DDM) mechanism

The inspectable method record for Dividend Yield & Growth (DDM), kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The existing honest label appropriately describes this as a simplified educational model and not a price target or recommendation. Resolve the exact dividend timing (D0 versus D1), yield output convention, and input rate units before release.

- The Gordon growth formula P=D1/(r-g) is standard only when D1 is the dividend expected one period from now. The input named "dividend" is ambiguous: if it is the current or most recently paid dividend D0, the formula must use D1=D0*(1+g).

- The yield formula annual_div/price is correct for current dividend yield, but the specification does not state whether the output is returned as a decimal or formatted as a percentage.

## Units and conventions

- Price and dividends use the same currency per share.

- annual_div and dividend are annual per-share amounts.

- growth_rate and required_return are entered as decimal rates, such as 0.03 for 3%, not as whole-number percentages.

- The test vectors treat dividend as D1, the next-period dividend, for the Gordon calculation.

- yield_percent is the decimal yield multiplied by 100; DDM fair value is in currency per share.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "price": 50,
    "annual_div": 2,
    "dividend": 2,
    "growth_rate": 0.03,
    "required_return": 0.08
  },
  "expected_outputs": {
    "yield_percent": 4,
    "ddm_fair_value": 40
  },
  "working": "Yield = annual_div / price = 2 / 50 = 0.04. Convert to percent: 0.04 * 100 = 4%. Gordon value = D1 / (r - g) = 2 / (0.08 - 0.03) = 2 / 0.05 = 40."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification provides no stated rejection behavior for r = g or r < g. Literal arithmetic produces an undefined result at r = g and an economically invalid negative value when r < g. The dividend D0-versus-D1 convention is also unspecified, producing different fair values.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/dividend-yield-growth-ddm/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/dividend-yield-growth-ddm/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/dividend-yield-growth-ddm/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
