Every figure this model derived for SHIP, 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 2025-12-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
35,587,000
PaymentsToAcquirePropertyPlantAndEquipment
2025-12-31
cash
48,244,000
CashAndCashEquivalentsAtCarryingValue
2025-12-31
current assets
74,891,000
AssetsCurrent
2025-12-31
current liabilities
88,062,000
LiabilitiesCurrent
2025-12-31
equity
281,383,000
StockholdersEquity
2025-12-31
interest expense
21,721,000
InterestExpenseNonoperating
2025-12-31
ocf
52,607,000
NetCashProvidedByUsedInOperatingActivities
2025-12-31
revenue
158,099,000
Revenues
2025-12-31
sbc
4,065,000
ShareBasedCompensation
2025-12-31
The ratios
The figures themselves rather than their scores — what somebody looking up
SHIP on one particular measure came for.
Ratio
Value
cash operating margin
29.99
current ratio
0.85
current ratio reported
0.85
deferred revenue growth
71.51
dilution pct
3.31
ebit cagr
-9.95
ebit yoy
-30.73
fcf margin
10.77
growth cv
1.92
interest cover
2.0
net debt ebitda
7.37
operating margin
27.41
owner earnings margin
8.19
revenue growth
-5.59
revenue growth per share
-8.62
roic
5.7
rule of 40
21.83
sbc pct revenue
2.57
What to be careful about
What this model itself distrusts about SHIP's figures. Written by the
derivation as it ran, not added afterwards.
revenue is annual, not TTM
operating income is annual, not TTM
no market cap; set `market_cap` in overrides.yaml
share count is from 2025-12-31 (242 days old, balance sheet); a stock split since then would make the market cap wrong. Set `market_cap` in overrides.yaml to be sure.
gross profit last tagged 2018-12-31 and no cost of sales line to rebuild it from; dropped from durability
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
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