20-F Filings
Strategic signals extracted from annual 20-F filings (international 10-K equivalent).
Overview
The 20-F is the comprehensive annual report that foreign private issuers file with the SEC—the international equivalent of the 10-K.
We monitor 45,000+ tickers globally for SEC filings. Not every international company files 20-Fs, but when they do, we catch them. Our pipeline extracts and analyzes the full document—with particular emphasis on sections covering business overview, risk factors, and operating/financial review, where companies disclose their strategic priorities, operational challenges, and forward-looking concerns.
Each filing is classified into one or more of 70+ event subtypes using a model we've fine-tuned specifically for SEC document analysis. A single filing can produce between 5-25 signals, depending on how many relevant initiatives or pain points can be inferred accurately from the document's content.
Available Subtypes
| Subtype Enum | Description |
|---|---|
acquisitionAnnounced | Company announced an upcoming acquisition |
acquisitionCompleted | Company completed an acquisition |
aiInvestment | Company is investing in AI/ML capabilities |
auditIssue | Audit findings or concerns identified |
automationInvestment | Investing in automation initiatives to improve efficiency |
backlogGrowth | Order backlog is growing significantly |
bankruptcyProceeding | Bankruptcy filing or proceeding disclosed |
boardChange | Changes to board of directors |
bookingsDecline | Decline in bookings or orders |
capacityConstraint | Facing capacity constraints or limitations |
capexIncrease | Capital expenditure is increasing |
carbonCommitment | Carbon reduction or net-zero commitments |
cashFlowConcern | Facing cash flow challenges or concerns |
ceoChange | New CEO appointed |
cfoChange | New CFO appointed |
channelShift | Shifting sales or distribution channels |
chroChange | New Chief Human Resources Officer appointed |
cioChange | New CIO appointed |
cisoChange | New CISO appointed |
cloudInvestment | Investing in cloud infrastructure and migration |
cmoChange | New CMO appointed |
competitorNamed | Specific competitor mentioned as significant threat |
complianceBurden | Facing significant regulatory compliance challenges |
cooChange | New COO appointed |
costReduction | Actively pursuing cost reduction initiatives |
croChange | New Chief Revenue Officer appointed |
ctoChange | New CTO appointed |
customerChurn | Experiencing customer churn issues |
customerConcentration | Revenue concentrated in few customers |
cybersecurityIncident | Cybersecurity breach or incident disclosed |
cybersecurityInvestment | Investing in cybersecurity measures and infrastructure |
dataInvestment | Investing in data and analytics capabilities |
debtRefinancing | Refinancing debt obligations |
deiInitiative | Diversity, equity, and inclusion initiatives |
digitalTransformation | Undergoing digital transformation initiatives |
divestiture | Divesting business units or assets |
environmentalLiability | Facing environmental liability or remediation |
founderDeparture | Founder leaving the company |
generalCounselChange | New General Counsel appointed |
goodwillImpairment | Taking goodwill impairment charges |
governanceChange | Corporate governance changes |
hiringFreeze | Hiring freeze announced |
inflationImpact | Inflation significantly impacting costs or margins |
internalControlWeakness | Internal control weaknesses identified |
internationalGrowth | Expanding international presence |
inventoryIssue | Facing inventory management challenges |
jointVenture | Forming joint venture or strategic partnership |
laborShortage | Facing labor or talent shortages |
layoffs | Workforce reduction announced |
legacyModernization | Modernizing legacy systems and technical debt |
litigationMaterial | Facing material litigation or legal matters |
logisticsChallenge | Experiencing logistics and distribution difficulties |
majorContractLoss | Lost significant contract or deal |
majorContractWin | Won significant contract or deal |
manufacturingIssue | Facing manufacturing challenges or capacity constraints |
marginPressure | Profit margins under pressure |
marketExpansion | Expanding into new markets or segments |
marketShareLoss | Losing market share to competitors |
materialContract | Significant contract or agreement disclosed |
platformStrategy | Pursuing platform-based business strategy |
pricingPressure | Facing competitive pricing pressure |
productLaunch | Launching new products or services |
productLiability | Facing product liability issues |
qualityIssue | Product or service quality issues |
recurringRevenueShift | Shifting business model toward recurring revenue |
regulatoryFine | Regulatory fine or penalty |
regulatoryInvestigation | Under regulatory investigation |
restructuring | Undergoing organizational restructuring |
restructuringCharge | Taking restructuring charges |
softwareImplementation | Implementing major new software systems |
spinoff | Spinning off business unit |
successionAnnouncement | Leadership succession plan announced |
supplierConcentration | Supply chain concentrated in few suppliers |
supplyChainDisruption | Experiencing supply chain disruptions |
sustainabilityInvestment | Investing in ESG and sustainability initiatives |
Signal Categories
Signals are organized into these categories:
| Category | Description |
|---|---|
strategic | M&A, platform strategy, product launches, ESG initiatives |
market | Expansion, competition, pricing, customer dynamics |
financial | Margins, capex, debt, revenue model changes |
technology | AI, automation, digital transformation, cybersecurity investments |
risk | Compliance, internal controls, concentration risks |
operations | Supply chain, inventory, restructuring, cost reduction initiatives |
revenue | Revenue trends, bookings, growth signals |
workforce | Leadership changes, talent acquisition, labor challenges |
leadership | Executive and board changes |
esg | Environmental, social, governance initiatives |
Schema
{
"signal_id": "be94c91b-955e-4915-83ba-915937aa0f48",
"batch_id": "batch-c155b069",
"signal_type": "20f",
"signal_subtype": "aiInvestment",
"signal_category": "technology",
"detected_at": "2025-12-22T10:15:33.516374Z",
"association": "company",
"company": {
"name": "Global Mofy Metaverse Limited",
"domain": "www.globalmofy.cn",
"ticker": "GMM",
"linkedin_url": null,
"industries": [
"Information Technology Services"
],
"employee_count_low": 47,
"employee_count_high": 47,
"description": "Global Mofy Metaverse Limited provides virtual content production, digital marketing, and digital assets development services for the metaverse industry."
},
"data": {
"summary": "GMM launches Gauss AI Lab and Gausspeed platform leveraging NVIDIA Omniverse and RTX GPUs.",
"detail": "The company launched Gauss AI Lab as a unified AI ecosystem and is developing its Gausspeed platform using NVIDIA technology. This signals a deep investment in generative AI infrastructure.",
"relevance": 0.9,
"confidence": "high",
"sentiment": "positive",
"excerpts": "We have developed the Gausspeed platform, an innovative generative AI solution using NVIDIA Omniverse and NVIDIA RTX GPUs.",
"source_url": "https://www.sec.gov/Archives/edgar/data/1913749/000121390026002984/ea0271653-20f_global.htm",
"technologies_mentioned": [
"generative AI",
"NVIDIA Omniverse",
"NVIDIA RTX GPUs"
],
"filing_date": "2025-12-20",
"filing_year": 2025,
"sales_relevance": "Target for AI vendors",
"competitors_mentioned": [],
"regions_mentioned": [
"China"
],
"vendors_mentioned": [
"NVIDIA"
]
},
"metrics": {
"dollar_millions": null,
"dollar_context": null,
"pct": null,
"pct_context": null,
"timeframe": "current_year"
}
}Field Reference
Core Fields
| Field | Type | Required | Description |
|---|---|---|---|
signal_id | string (UUID) | ✓ | Unique identifier for this signal |
batch_id | string | Processing batch identifier | |
signal_type | string | ✓ | Always "20f" |
signal_subtype | string | ✓ | Specific signal type (see subtypes list) |
signal_category | string | Category grouping (strategic, market, financial, technology, risk, operations, revenue, workforce, leadership, esg) | |
detected_at | string (ISO 8601) | ✓ | When signal was extracted |
association | string | ✓ | Always "company" |
Company Object
| Field | Type | Required | Description |
|---|---|---|---|
company.name | string | ✓ | Company name |
company.domain | string | ✓ | Company website domain |
company.ticker | string | Stock ticker symbol | |
company.linkedin_url | string (nullable) | LinkedIn company URL | |
company.industries | array[string] | Industry classifications | |
company.country | string | Country code (e.g., "IN", "DE", "JP") | |
company.employee_count_low | integer | Employee count (low estimate) | |
company.employee_count_high | integer | Employee count (high estimate) | |
company.description | string | Company description |
Data Object
| Field | Type | Required | Description |
|---|---|---|---|
data.summary | string | ✓ | Brief summary of the signal |
data.detail | string | Detailed explanation of the finding | |
data.relevance | float (0.0-1.0) | Score indicating how actionable this signal is for sales outreach (0.0–1.0, where 1.0 is highest). Higher values reflect greater commercial relevance based on factors like event magnitude, recency, and potential impact on buying decisions | |
data.confidence | string | How certain the system is that the signal classification is accurate. high = strong textual evidence supports the categorization, medium = probable but some ambiguity exists, low = inferred with limited direct evidence | |
data.sentiment | string | AI-classified from the filing text (not rule-based). The model reads the relevant excerpt and assesses whether the disclosed event is favorable, unfavorable, or neutral for the company. positive = favorable developments (growth, investment, expansion), negative = unfavorable developments (risk, cost pressure, challenges), neutral = informational without clear positive or negative implications. Often correlates with signal subtype but is context-dependent | |
data.excerpts | string | Direct quote from the filing | |
data.source_url | string (URL) | Link to SEC filing | |
data.technologies_mentioned | array[string] | Technologies referenced | |
data.competitors_mentioned | array[string] | Named competitors | |
data.vendors_mentioned | array[string] | Named vendors/partners | |
data.regions_mentioned | array[string] | Geographic regions mentioned | |
data.filing_date | string (ISO 8601) | Date the filing was submitted to the SEC | |
data.filing_year | integer | The calendar year in which the filing was submitted to the SEC. May differ from fiscal_year — for example, a 10-K covering FY2025 is typically filed in early 2026 | |
data.sales_relevance | string | A brief phrase describing how this signal creates a potential sales opportunity — e.g., 'Integration needs coming', 'Change management needs'. Useful for quickly assessing outreach angles without reading the full signal |
Metrics Object (Top-Level)
| Field | Type | Description |
|---|---|---|
metrics.dollar_millions | float (nullable) | Dollar amount mentioned (in millions) |
metrics.dollar_context | string (nullable) | Context for the dollar amount |
metrics.pct | float (nullable) | Percentage mentioned |
metrics.pct_context | string (nullable) | Context for the percentage |
metrics.timeframe | string | Time context (immediate, current_year, current_quarter, next_quarter, next_year, multi_year, last_year) |
Coverage
- Refresh: Weekly
- Coverage: 4,000 companies
- Best for: International enterprise sales, Global account planning, Cross-border M&A tracking
Data Activation
Timing
detected_at is when Autobound extracted the signal. Use filing_year to understand which fiscal year the filing covers, and source_url for verification.
Use data.filing_date to understand when the filing was actually submitted to the SEC.
Uniqueness
One signal per subtype per company per fiscal year. 20-F is the international equivalent of 10-K for foreign private issuers.
Delivery
Each delivery arrives in a timestamped folder. Signals in that folder cover the window between this delivery and the previous one. Treat all signals in a new folder as recent and actionable—no need to diff against prior deliveries.
Best Practices
- Filter on
relevanceandconfidenceboth above 0.9 for high-precision use cases - Build picklists from
signal_subtypevalues - Use
data.filing_yearfor triggering rather than specific dates
Updated 4 days ago
