How to Join Point-in-Time Supply Chain Data for Backtesting
Published August 29, 2026
Altsets
Research by Altsets Research
Build a supply chain backtest with dated edges, compatible metric versions and explicit availability cutoffs. Keep current relationships out of old universes.
Dataset reference:Altsets supply chain relationships dataset covers 115k+ entities, 550k+ relationships, and history since 2006 across the full dataset; individual analyses use a narrower scope.
Key findings
- An asOf relationship query does not by itself resolve source publication lag or later estimate revisions; the researcher needs a documented availability rule.
- The historical edge universe must be selected before attaching economic weights, rather than obtained from today’s supplier list.
- Saving the exact inputs and cutoff for each rebalance makes future revisions distinguishable from changes a strategy could have observed.
A supply chain backtest needs historical relationship state as well as historical prices. Point-in-time supply chain data prevents today's suppliers and customers from silently choosing yesterday's investment universe, but the join still needs an explicit information cutoff. An economic period, a source publication date and a dataset availability date do different jobs.
The practical rule is to select the network that was available at each decision, then attach the compatible metric versions and tradable securities. Do not start with today's supplier list and retrieve old prices for its members. That process can admit future relationships even when every price observation is correctly dated. Later estimates, revised company aliases and surviving listings can introduce additional hindsight through otherwise ordinary joins.
Altsets supports historical asOf relationship queries and describes its preservation practices in the methodology. Those provide the starting point for dated network research. They are not a reason to assume that every response exposes source publication or revision timestamps. The researcher must establish what the selected export preserves, record the availability basis and retain the exact rows accepted at each rebalance. The result should be an experiment whose old inputs remain reproducible after the current graph changes.
Four clocks govern one historical join
| Time field | Job in the backtest | Error it prevents |
|---|---|---|
| Economic period | Identifies the activity an estimate describes | Treating fiscal activity as immediately observable |
| Source publication time | Identifies when supporting evidence became public | Using a filing before publication |
| Dataset availability time | Identifies when that record version was accessible | Backfilling a later discovery or revision |
| Decision cutoff | Defines the strategy's admissible information set | Mixing pre-close and post-close information |
These are research requirements, not a claim that all four are fields in the Altsets API. A historical query date identifies the requested network state. Consult the API documentation for retrieval syntax and available response fields, then document any additional source or version evidence used to establish observability.
Select the edge universe before selecting its weights
At each rebalance, resolve the companies and securities valid for that decision date. Retrieve the corresponding relationship universe, then join the metric versions accepted under the availability rule. Only after that should the pipeline attach prices and the trading calendar.
This ordering matters for an economically ranked supplier screen. An edge newly present in the graph changes which suppliers can be ranked. A changed supplier revenue percentage changes the ordering within that universe. A coverage improvement may make an old structural edge newly measurable. Those are different explanations for turnover and should not be compressed into one feature update.
For an illustrative month-end screen, retain supplier ID, customer ID, snapshot date, directional metric, metric availability basis and decision cutoff. Also save structural edges excluded from the numeric rank and the reason for exclusion. Missing percentages remain unknown; absence of an edge does not by itself establish that the commercial relationship ended.
A December estimate can be unavailable in February
Suppose an estimate describes a December economic period, but its supporting filing is published on March 15. A February 28 decision cannot use that filing-derived value. A March decision may use it only if both the source and the relevant dataset version were available before its cutoff.
This is a hypothetical timing example, not an Altsets observation. It makes the distinction concrete: labeling a feature "December" does not prove it was usable in December. Nor does imposing a fixed reporting lag prove that an otherwise undocumented historical edge existed. When availability is unresolved, disclose that limitation, apply a declared conservative lag where appropriate and show how results change under alternative lags.
The same discipline applies to identity. A modern company alias or current listing can make a historical join easier while erasing what the strategy could actually trade then. Preserve the economic entity and the dated security mapping separately.
Staleness and revision rules belong in the experiment
Fresh-observation-only, fixed-maximum-age and carry-until-replaced policies can produce different baskets from the same observations. Specify the rule before evaluating returns. Retain the last economic observation and feature age so an unchanged value is distinguishable from a newly observed value of the same magnitude.
Freeze accepted data versions and preprocessing before each walk-forward test interval. A later correction may justify a separately labeled rerun; it should not silently replace the inputs of the original experiment. The saved universe, exclusions and weights should explain whether a changed result comes from strategy logic, commercial change or a data revision.
Keep assembly separate from measuring the damage
This guide specifies how to assemble admissible inputs. The current-network backfill study measures how projecting a current network backward changes historical exposures and rankings. That empirical question should remain distinct from the engineering rules above.
For reusable storage across several models, the point-in-time feature store guide develops lineage, immutable input references and consistent offline and live definitions. An individual backtest still needs its own cutoff and stale-data policy. A historically labeled dataset becomes a defensible backtest input only when the experiment can show which information it accepted and when.
Sources
Related research
Methodology
Cite this research
Altsets Research. "How to Join Point-in-Time Supply Chain Data for Backtesting." Published August 29, 2026. https://www.altsets.com/research/point-in-time-supply-chain-backtesting
