Skip to main content
AI & Algorithmic Deal Screening: Methods & Model Evaluation14 Min Read

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection

A May 2026 research preprint tested whether Product Hunt launch signals could help predict which startups would raise a Series A round. The researchers began with 67,292 launches from 2019 to 2025 but found only 528 verified Series A outcomes within 18 months. That left a positive class of just 0.78%.

The strongest ensemble used 61 engineered features and reached an average precision of 0.037 on the private test set. Although that represented 4.7 times the random baseline, the absolute result remained modest. The confidence interval was also wide at 0.024 to 0.072, showing how unstable private-market predictions can become when successful outcomes are rare.

This is the central engineering problem behind a deal-scoring model architecture. Raw private-market information does not arrive as a clean training matrix. It arrives as revised financing records, inconsistent company names, duplicated announcements, persuasive pitch-deck language, incomplete founder histories, and market data recorded at different frequencies.

One careless transformation can make a weak signal look predictive. One incorrect entity match can turn two companies into one. Likewise, one current database value inserted into a historical training row can contaminate an entire backtest.

How should developers convert funding events, team histories, documents, and market conditions into a reproducible feature vector?

A production-grade architecture should preserve event time, entity identity, source provenance, transformation logic, missingness state, and feature version. Only then should the scoring model consume the data.

For the wider model-development framework, including validation and known failure limits, read the AI deal-screening validation framework.

Build a Point-in-Time Evidence Layer

Anthropic provides a clear 2026 example of why a deal-scoring system must preserve historical company snapshots instead of joining every training record to the latest profile.

On January 15, 2024, a valid Anthropic feature vector could record Amazon’s initial $1.25 billion investment and its announced plan to invest up to $4 billion. It could not include the remaining $2.75 billion that Amazon completed on March 27, 2024, because that capital event occurred after the January screening cutoff.

The company’s financial profile changed substantially over the next two years. On February 12, 2026, Anthropic raised $30 billion at a $380 billion post-money valuation. At that point, the company reported a $14 billion annualized revenue run rate, while Claude Code alone had surpassed a $2.5 billion run rate. Those facts could enter a model scored after the announcement, but they would be future information for any training record dated before February 12.

The difference became even larger on May 28, 2026. Anthropic raised another $65 billion in a Series H round at a $965 billion post-money valuation. The company also said its annualized revenue run rate had crossed $47 billion earlier that month. Therefore, a database refreshed after May could show a valuation and commercial profile that did not exist during Anthropic’s earlier investment rounds.

A further event arrived on July 6, 2026, when TeraWulf disclosed a 20-year data-center lease with Anthropic. TeraWulf said the agreement was expected to generate approximately $19 billion in contracted revenue for TeraWulf and support about 401 megawatts of critical IT load. This is an infrastructure commitment linked to Anthropic, not Anthropic revenue or a new equity-financing round. A feature pipeline must classify it accordingly rather than add $19 billion to Anthropic’s funding or sales totals.

These dated events create four different versions of the same company:

  • January 2024 snapshot with Amazon’s initial investment and announced commitment
  • February 2026 snapshot with a $380 billion valuation and $14 billion revenue run rate
  • May 2026 snapshot with a $965 billion valuation and revenue run rate above $47 billion
  • July 2026 snapshot with a newly disclosed long-term infrastructure obligation

A model trained to reproduce the January 2024 decision must use only the first snapshot. Adding the February, May or July information would create look-ahead leakage and make the historical model appear more accurate than it could have been in production.

The ingestion layer should therefore separate the business event from the date on which the market could observe it. It should also preserve later corrections without deleting the original record.

source_id

source_event_id

entity_id

event_type

effective_at

published_at

observed_at

ingested_at

valid_from

valid_to

raw_object_hash

schema_version

parser_version

currency

source_confidence

supersedes_record_id

For Anthropic’s May 2026 round, event_type might be primary_equity_financing. The July TeraWulf agreement would require a different classification, such as infrastructure_lease_commitment. Treating both events as generic “capital” would distort funding velocity, runway estimates and valuation features.

A simplified historical record could look like this:

{

  "entity_id": "anthropic",

  "as_of": "2024-01-15T23:59:59Z",

  "included_events": [

    {

      "event_type": "strategic_investment_received",

      "investor": "Amazon",

      "amount_usd": 1250000000,

      "effective_at": "2023-09-25"

    }

  ],

  "announced_commitments": [

    {

      "investor": "Amazon",

      "maximum_amount_usd": 4000000000,

      "status": "partially_funded"

    }

  ],

  "excluded_future_events": [

    "amazon_investment_completion_2024_03_27",

    "series_g_2026_02_12",

    "series_h_2026_05_28",

    "terawulf_lease_2026_07_06"

  ]

}

The example also shows why received capital, announced commitments, valuation changes, revenue estimates, and infrastructure obligations must remain separate feature classes. They describe different economic conditions and should not be collapsed into one lifetime-funding field.

A reliable point-in-time evidence layer answers one precise question for every feature:

What information about this company was actually available when the score was generated?

When the pipeline can answer that question from stored records, developers can reproduce a historical feature vector, audit a score change and test the model without contaminating the result with later company developments.

Resolve Entities Before Calculating Features

Private-market data rarely uses one stable identifier.

A company may appear under a trading name, legal name, former brand, domain, subsidiary or acquired entity. Founders can have abbreviated names or overlapping employment histories. A token project may migrate contracts or deploy versions across several chains.

Entity resolution should combine deterministic and probabilistic methods.

Deterministic keys may include:

  • CIK and LEI identifiers
  • Verified company domains
  • Legal registration numbers
  • Contract addresses
  • Chain IDs
  • Transaction hashes
  • Verified professional-profile IDs

Probabilistic matching can compare names, locations, domains, role dates and associated investors. Low-confidence matches should enter a review queue rather than being forced into a canonical entity.

This control prevents one financing round from becoming several events and stops syndicated versions of one announcement from creating artificial momentum.

Corrections should create new versions rather than overwrite the original evidence. That design allows developers to reconstruct both what the source said and what the system knew at any previous decision date.

Engineer Capital Team and Market Features

Once the evidence layer is stable, the pipeline can begin constructing model-ready variables. The main feature groups normally cover capital formation, team and investor relationships, textual evidence, market conditions, and, where relevant, on-chain activity.

Measure Capital Formation Over Time

Lifetime funding is a weak standalone feature. A company that raised $30 million over eight years has a different capital profile from one that raised the same amount within nine months.

Funding velocity measures capital raised during a fixed historical window:

Funding Velocityw ​= ∑Capital Raised During Windoww​ / Length of Window in Months

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection: figure 2

Useful windows include 90, 180, and 365 days. Multiple windows allow the model to distinguish a recent funding surge from sustained capital formation.

Round cadence measures the interval between financing events:

Round Cadencet = Close Datet  - Close Datet-1

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection: figure 3

Valuation step-up measures the change between successive post-money valuations:

Valuation StepUpt = log (PostMoneyt  / PostMoneyt-1)

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection: figure 4

Before calculating those features, the pipeline should classify the financing event. Primary equity, venture debt, secondary share sales, grants, token sales, and convertible instruments do not represent the same type of capital.

For example, a secondary transaction may provide liquidity to an existing shareholder without adding operating cash to the company. Counting it as fresh funding would overstate funding velocity.

Valuation changes also require currency, security, and transaction-type normalization. Preferred share rights, liquidation preferences, bridge extensions, and secondary components can make two headline post-money figures economically different.

Other useful capital features include:

  • Days since the previous financing
  • Investor count by round
  • New-investor ratio
  • Follow-on investor retention
  • Capital raised relative to company age
  • Estimated runway
  • Down-round indicators
  • Debt-to-equity financing mix

Each value should retain the financing event IDs used in its calculation.

Convert Team Histories Into Temporal Graphs

A broad founder-pedigree score is difficult to inspect and can conceal bias. Developers should instead construct event-based variables that can be reproduced from dated records.

Examples include domain experience, previous operating roles, prior company outcomes, founder role continuity, cofounder tenure, team-size change and senior employee turnover.

Network features can then model relationships among founders, employees, companies and investors. Useful measures include:

  • Founder-investor degree
  • Betweenness centrality
  • PageRank
  • Shared-employer edges
  • Previous cofounder edges
  • Co-investor network density
  • Distance to a prior successful venture

Research using Crunchbase data found that network effects varied by financing stage. Competition-related signals appeared more relevant during early fundraising, while investor-network features became more influential at later growth stages. This suggests that one global network score may hide important stage-specific relationships.

The graph must also be temporal. Every node and edge should carry an effective date, and a historical screening record should exclude relationships formed after its cutoff.

University, geography, employer brand, and gender-coded variables should not be accepted as unexplained quality signals. Each feature needs an economic rationale, an identified owner and subgroup stability tests.

Extract Text Signals Without Duplicating Claims

Pitch decks, regulatory filings, company websites, and news articles contain useful evidence, but they also contain repetition and promotional language.

A practical NLP flow is:

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection: figure 5

The claim-classification layer should distinguish:

  • Verified facts
  • Regulatory disclosures
  • Independent reporting
  • Management claims
  • Forecasts
  • Opinions

When 12 articles repeat the same company announcement, the system should create one underlying claim cluster connected to 12 references. It should not treat those articles as 12 independent confirmations.

Potential text features include product-category embeddings, evidence-to-claim ratio, regulatory-risk entities, forecast intensity, source diversity and sector sentiment.

Research using 20,172 Crunchbase profiles found that textual self-descriptions contributed materially to predictive performance when combined with structured company information. However, this result shows predictive association within the research dataset; it does not prove that promotional language independently predicts investment returns.

Developers working with news and funding announcements should also review failure modes in funding-news sentiment extraction.

Add Market and On-Chain Context

Company features do not operate independently of the market cycle. Interest rates, sector financing volume, public comparable valuations and exit conditions can change the meaning of a company-level signal.

Market variables should therefore be lagged and stored with their release vintage. A later revision to an economic series should not replace the version available during the original screening process.

Tokenized opportunities may require additional features covering wallet concentration, vesting exposure, liquidity depth, contract authority, governance participation, and bridge activity.

The lineage key for an on-chain event should include the chain ID, block number, block hash, transaction hash, contract address, and log index. Pipelines should also define a confirmation threshold and a method for handling chain reorganizations.

Feature class

Raw evidence

Main transformation

Model-ready output

Main failure risk

Lineage key

Funding velocity

Dated financing events

Event classification and windowed aggregation

Capital rate

Revised or duplicated rounds

Financing event ID

Team network

Founder, employee, and investor histories

Temporal graph construction

Centrality and relationship scores

Identity errors or future edges

Person, organization and edge IDs

Text evidence

Dated filings, decks, and news

Claim extraction, deduplication, and embedding

Structured claims and vectors

Repeated promotion is counted as confirmation

Document hash and claim ID

Market context

Rates, sector flows, and comparable valuations

Lagging and vintage normalization

Market-regime variables

Revised or misaligned series

Series ID and release vintage

Token activity

Contract events and indexed transactions

Address classification and rolling aggregation

Concentration and liquidity measures

Exchange wallets, bridges or Sybil activity

Chain, block and transaction IDs

Normalize Features Without Erasing Meaning

Capital values, network scores, categorical fields and embeddings have different scales and distributions. They cannot enter a shared model matrix without controlled transformation.

Capital amounts often require log1p transformation and robust scaling because a few large rounds can dominate the distribution. Round intervals may need capping and stage-relative scaling. Network centrality values may also require logarithmic transformation because a small number of investors sit at the center of many graphs.

Categorical data presents another trade-off.

One-hot encoding is transparent but can create high-dimensional sparse arrays when sectors, locations, and investor types contain many rare categories. Hashing reduces dimensionality but makes collisions harder to inspect. Target encoding can be compact, although it must be fitted inside the training period to prevent outcome leakage.

Text embeddings need similar restraint. A dense vector with hundreds or thousands of dimensions can overwhelm a dataset containing only a small number of mature outcomes. Regularization, controlled dimensional reduction, and feature-group ablation tests help determine whether the text representation contributes repeatable information.

Missing data should retain its meaning. A blank revenue value might represent:

  • Confirmed zero revenue
  • Revenue not disclosed
  • A metric that does not apply
  • A failed or unavailable source

Combining those states into one zero value removes important context. It can also teach the model to score disclosure behaviour instead of operating performance.

Transform parameters should be learned from the training sample and stored with a version identifier. The production service must use the same clipping rules, category maps, scaling statistics, and embedding model used during training.

The PHBench preprint provides a useful warning about model selection under severe class imbalance. Its validation results reflected a best-of-144 selection process conducted on a validation set containing only 53 positive outcomes. Performance declined on the private test set, where the strongest ensemble achieved an average precision of 0.037 across 103 positive outcomes.

The authors also identified performance changes across market periods. It includes the 2020-2021 funding boom and the contraction that followed. Therefore, feature relationships should be tested across multiple market vintages rather than accepted because they performed well during one development period.

For a deeper discussion of unstable labels and small samples, see data sparsity in private-market machine learning.

Preserve Lineage From Source to Score

A funding-velocity feature of $1.25 million per month should never exist as an unexplained number.

A reviewer should be able to trace it back to the financing events, original currencies, effective dates, source documents, and transformation code used in its calculation.

The lineage chain may look like this:

Deal-Scoring Model Architecture: Feature Engineering for Private-Market Signal Detection: figure 6

Each stage should preserve its timestamp, identifier, version, source hash, and transformation reference. For example, the normalized financing event should point back to the source document, while the calculated funding-velocity feature should identify every financing event included in its historical window.

The W3C PROV-O standard provides a useful structure for this process by representing provenance through entities, activities, and agents. Relationships such as wasGeneratedBy, wasDerivedFrom, hadPrimarySource, and wasRevisionOf can describe how source evidence becomes a model-ready feature.

A feature registry should contain both the business definition and the technical contract:

feature_name

business_definition

source_dependencies

event_timestamp_field

transform_version

code_commit

owner

freshness_sla

valid_range

ttl

null_policy

model_dependencies

retirement_status

Historical retrieval should reproduce feature values at the event timestamp. Feast describes this as a point-in-time-correct join. Its historical retrieval process scans backward from each entity timestamp within the configured time-to-live window rather than attaching the latest available value.

A platform-neutral feature record could look like this:

{

 "entity_id": "org_12345",

 "as_of": "2026-06-30T23:59:59Z",

 "features": {

   "funding_velocity_180d": 1250000,

   "days_since_last_round": 74,

   "founder_network_pagerank": 0.018,

   "sector_sentiment_30d": -0.14

 },

 "missingness": {

   "revenue_growth_yoy": "not_disclosed"

 },

 "lineage": {

   "snapshot_id": "snap_20260630_88af",

   "feature_set_version": "deal_features_v12",

   "transform_commit": "7e3c4a1"

 }

}

The values are illustrative and do not disclose IPO Genie’s production schema.

This structure allows an engineer to determine whether a score changed because of new evidence, corrected entity mapping, a revised transform or a different model version.

Public disclosures show that investment platforms are incorporating machine learning and language models into sourcing and evaluation workflows.

Reject Weak Features Before Production

A feature should not enter production only because it improved one historical metric.

Each candidate should pass schema validation, deterministic unit tests, null checks, range tests, freshness monitoring, duplicate-source detection, and train-serving consistency checks. It should also survive source outages, temporal stability tests, subgroup reviews, and reconstruction from a stored snapshot.

Reject a feature when:

  • Its original evidence cannot be recovered
  • Its meaning differs between training and inference
  • It depends on a later revision
  • It duplicates an existing signal
  • Its contribution disappears across vintages
  • Its source is too unstable for the required freshness level
  • It acts mainly as an unjustified demographic or institutional proxy

Feature importance is not proof of validity. It shows that the model relied on a variable, not that the relationship is causal, fair, or durable.

Deterministic transformations are generally better suited to dates, financing amounts, contract events, ownership records, and vesting schedules. Learned representations are useful for documents and heterogeneous languages. However, embeddings should complement structured evidence rather than become the only explanation for a deal score.

A production-ready scoring record should answer five questions without requiring manual reconstruction:

  1. Which source produced the evidence?
  2. When was that evidence available?
  3. Which entity did it describe?
  4. Which transform created the feature?
  5. Which model version consumed it?

Reliable private-market signal detection starts with those answers. Model complexity cannot compensate for missing lineage, inconsistent entities or poorly defined features.

Disclaimer: A deal score should support structured investigation rather than replace investment judgment. It estimates relationships found in historical evidence; it does not guarantee that a company will raise capital, complete an IPO, produce returns, or avoid operational and market failure.

FAQs

What Features Belong in a Private-Market Deal-Scoring Model

The main classes include capital and financing signals, team and investor networks, textual evidence, market conditions, and relevant on-chain activity. Every feature should have a defined calculation, a historical timestamp, and a recoverable source.

How Is Funding Velocity Calculated

Funding velocity measures qualifying capital raised within a specified period divided by the length of that period. The calculation should distinguish primary equity from debt, grants, secondaries, and token sales.

How Should Team Signals Be Represented

Team signals should use dated operating histories and temporal relationship graphs. Reproducible variables are more defensible than a broad founder-pedigree score with no visible calculation.

How Do Point-in-Time Joins Protect Model Training

They retrieve the feature state that existed at each historical decision timestamp. This prevents current company records or later data revisions from entering older training rows.

How Should Missing Private-Market Data Be Encoded

Confirmed zero, non-disclosure, non-applicability, and source failure should remain separate states. They describe different conditions and should not be collapsed into one null value.

Can Text Embeddings Replace Structured Deal Features

No. Embeddings can represent product descriptions, technical documents, and market language, but they should be combined with dated capital, team, ownership, governance, and liquidity evidence.

Get Pre-IPO Insights Weekly

Join 5,000+ investors getting exclusive deal alerts.

Key Terms to Know

New to investing? Explore our glossary for more terms.

Related Articles

More from IPO Genie

Buy Now