Every figure this model derived for PDM, the value it took, and
the element in the company's own XBRL it was read from — so any of it can be checked
against the filing rather than taken on trust.
As at 2026-03-31.
The figures, and where each came from
This is the part no other screener shows. Each figure below names the XBRL element it
was read from, so it can be checked against the filing itself.
Figure
Value
XBRL tag
As at
capex
0
PaymentsToAcquireProductiveAssets
2015-06-30
cash
2,279,000
CashAndCashEquivalentsAtCarryingValue
2026-03-31
equity
1,481,427,000
StockholdersEquity
2026-03-31
interest expense
128,257,000
InterestExpenseNonoperating
2026-03-31
ocf
164,959,000
NetCashProvidedByUsedInOperatingActivities
2026-03-31
revenue
565,602,000
Revenues
2026-03-31
sbc
9,698,000
ShareBasedCompensation
2026-03-31
The ratios
The figures themselves rather than their scores — what somebody looking up
PDM on one particular measure came for.
Ratio
Value
cash operating margin
45.39
dilution pct
0.4
ebit cagr
9.24
ebit yoy
30.55
fcf margin
29.17
growth cv
2.7
interest cover
0.6
net debt ebitda
9.11
operating margin
13.67
owner earnings margin
27.45
revenue growth
-0.5
revenue growth per share
-0.9
roic
1.64
rule of 40
13.17
sbc pct revenue
1.71
What to be careful about
What this model itself distrusts about PDM's figures. Written by the
derivation as it ran, not added afterwards.
operating income last tagged 2018-12-31, 2647 days before the revenue period (2026-03-31); dropped rather than divided by current revenue
no operating income tagged; derived as revenue minus CostsAndExpenses
no current capital expenditure tagged (last tagged 2015-06-30); treated as zero, so free cash flow is overstated and equals operating cash flow
no market cap; set `market_cap` in overrides.yaml
share count is from 2026-04-29 (123 days old, dei cover page); a stock split since then would make the market cap wrong. Set `market_cap` in overrides.yaml to be sure.
no forward EPS estimate; growth rests on filings only. Analyst consensus is not published in XBRL, so it has to be fetched from a data provider or set by hand in overrides.yaml as `eps_growth_2y`
valuation DROPPED from the total: only 0 of 2 inputs could be computed (ev sales, ev owner earnings not tagged), so the score is not meaningful. Its weight is spread over the other dimensions
durability DROPPED from the total: only 2 of 4 inputs could be computed (contracted coverage, gross margin stability not tagged), so the score is not meaningful. Its weight is spread over the other dimensions
resilience rests on 2 of 3 inputs; not tagged: liquidity
2 of 5 dimensions could not be measured (valuation, durability -- 35% of the model), so this row is not comparable with the others; its total rests on what was left