get_dilution_risk
Get Dilution Pressure Score and Risk Levels
What it does
Get the dilution pressure score: 0-100 with a seven-component breakdown (shelf capacity, ATM/equity-line capacity, warrants in the money, convertible proximity, cash burn urgency, historical dilution, toxic financing), plus four risk levels: overall, offering ability, overhead supply, cash need.
SCORE: components whose inputs could not be measured are DROPPED FROM THE DENOMINATOR, so 58 may be 58 out of 85. Always report score/scoreMaxMeasured and name the excluded scoreUnmeasuredComponents; NEVER rescale it to /100, and never read a low numerator as low risk. scoreDenominatorThin: true (under 70 measured points) is a PARTIAL reading ("N of M measured").
A non-null scoreWithheldReason (e.g. no_dilution_snapshot) means NO score, not zero. With no filed share count, share-count / market-cap components rest on details.sharesOutstandingEstimate {shares, kind, asOf, source} (details.marketCapSource: "derived_price_x_estimated_os"): say they rest on an estimate.
LEVELS: when levelsAreLowerBound (always present) is true, the levels named in levelsLowerBoundScope are floors, not measurements: "medium" means AT LEAST medium. State those (and only those) as a lower bound.
levelsLowerBoundReason: unquantified_live_instruments floors overall + overheadSupply; offering_capacity_unknown and market_cap_unmeasured floor overall + offeringAbility, NOT overheadSupply; os_growth_span_short, os_growth_issuance_floor, os_growth_rebased_partial floor historical + overall; overhead_capacity_unquantified floors overheadSupply + overall. Name the stated reason, never another.
details.levelBounds per level: floor (unsized instruments at zero), ceiling (at filed maximum; null = some instrument has none), exact, bestEstimate, estimated, estimateBasis; report an estimated level as a best estimate with its floor and ceiling, never as a measurement. A null overall with a non-null levelsWithheldReason is WITHHELD, not low.
offeringAbility is a capability profile, not pressure today: a live ATM/equity line with a MEASURED $0 drawable (e.g. clamped by the I.B.6 cap) reads medium while the score prices the $0; do not say the company cannot raise. atmRemainingBasis / elocRemainingBasis total_minus_reported_sales / total_no_sales_reported are "up to" figures.
overheadSupply = potential dilution EXCLUDING shelf as a % of shares outstanding: warrants, convertibles, preferred at GROSS counts, plus live ATM remaining (baby-shelf clamped) and equity-line remaining at the current price, plus live S-1 shares, plus details.registeredResaleOverhangShares. Low up to 20%, Medium 20-50%, High over 50%.
details.overheadSupplyBasis itemises the components (null = NOT MEASURED) and unquantified; it is NOT the treasury-netted inTheMoneySupplyPct / totalDilutiveShares. When details.osGrowthRate is null, details.osGrowthFacts {fromShares, fromDate, toShares, toDate, splitsInWindow, basis} is a FACT, never a rating; with basis: "as_filed" the counts must not be compared as growth.
ALWAYS RETURNS 200: read available and reason, never the HTTP status. not_covered means this company has not been analysed yet, not that it has no dilution; an outage is a 5xx. NULL, absent or withheld means NOT MEASURED; it never means "no dilution", "no warrants", "no shelf" or zero.
A numeric 0 is a MEASURED zero and defeats a null check: decide from the availability/withheld/reason field, never from the value itself. Figures are as of meta.asOfDate, from filings read through meta.filingsThrough (a stale date predates anything filed since). Share counts are on one split basis; a row that cannot be rebased is omitted and counted, never published on a mixed basis.
Included in Signal8 Pro: without it the call returns 403 FEATURE_NOT_AVAILABLE with requiredTier: "pro" (a tier upgrade; there is no add-on to buy).
Ask your AI
With the Signal8 MCP server connected, your assistant calls this tool when a question needs it. For example:
Using Signal8, get the dilution pressure score for $TICKER.
Parameters
| Name | Type | Description |
|---|---|---|
tickerrequired | string | Stock ticker symbol (e.g., "MNTS", "VNRX") |
More on this category
Dilution tools for Claude, ChatGPT and CursorOther Dilution (Signal8 Pro) tools
- get_baby_shelf_capacitySEC Form S-3 I.B.6 raisable-now shelf capacity.
- get_dilution_coverageWhether a ticker is covered, how fresh, and why not.
- get_dilution_historyShares-outstanding and cash series with offerings.
- get_dilution_instrumentsOne instrument family's rows with SEC citations.
- get_dilution_performanceStock performance after dilution events.
- get_dilution_snapshotSummary totals, cash position, float, and provenance.