Methodology
How Consequitur works
Consequitur models how a move in one event's probability propagates to another through a graph of conditional dependencies. This page explains the value frame, the vocabulary, and the math—briefly—then how the Scenarios sandbox and sharing fit together.
What Consequitur does
Consequitur is exploration-led. The core value is letting you trace how shorter-term market movements propagate to longer-term ones through the AI's estimate of each dependency's sensitivity. You get that value whether or not you ever record an estimate of your own: move a catalyst's probability and watch the projection ripple through the chain to the target.
Applying your own estimate is the amplification beat, not the entry requirement. Where you hold a conditional view—“if A happens, B becomes much more likely than the AI thinks”—recording it sharpens the propagation through that dependency. Until then, the AI's sensitivities carry the model. The beta is useful from the first minute, and more useful as you estimate.
If you hold event contracts, the graph is your catalyst map: an event's upstream table is the calendar of prints and decisions that can reprice it, and each dependency is the size of the repricing to expect if one resolved YES today.
Vocabulary
Key words that carry the model
Event—A future occurrence with an objective settlement criterion and a settlement date. Every event resolves YES or NO against a written rule.
Catalyst & Target—Two roles an event plays within a single dependency, never fixed labels. In the dependency A→B, A is the catalyst and B is the target; the same event is a target in one relationship and a catalyst in another.
Dependency—A directed edge between two events carrying the conditional sensitivity of the target to the catalyst. The dependency is the edge.
Baseline probability—An event's standalone probability before any what-if adjustment—what a statistician would call its marginal probability. We show it as the AI Baseline, refreshed live for every event.
The four views—Each event is read through four per-event views. Network shows the event between its inbound catalysts and the events it influences. Upstream tabulates the catalysts that feed it. Scenarios is the what-if sandbox over its upstream tree. Downstream tabulates the events it is a catalyst for.
Canonical framing—Each event has one question, framed once at curation time. The slider always shows the probability of that question's YES outcome; it does not flip across chains. Different chains express direction through the sign of β, not by re-asking the question.
The math, by example
First, one idea. The rest of this leans on log-odds. Probabilities don't combine cleanly—you can't add or subtract percentage points and stay sensible near 0% or 100%. Their log-odds do, so the model works there: logit converts a probability into log-odds, and sigmoid converts it back. Everything below is just moving between the two.
A worked example.Two events are linked: a hot inflation print this month—core CPI rising 0.3% or more—and the Fed's target falling to 3.50% or lower by its next meeting, a few weeks later. On its own, that low-rate outcome is running at 40%: its baseline, the standalone odds before any what-if.
You hold a view: ifCPI runs hot, the Fed is less likely to have cut that far—you'd put it at 20%. You record that as your conditional on the link between the two.
The model keeps your 20% exactly as you entered it—frozen against the 40% baseline it was made against. But what it re-usesas the world moves isn't the 20%; it's the shift between the two, in log-odds (where shifts add cleanly and the result is always a valid probability):
shift (β) = logit(0.20) − logit(0.40)
= −1.39 − (−0.41)
= −0.98That −0.98—call it “a hot print roughly halves the odds”—is your durable input. On the graph, the link now reads: if a hot CPI prints, Fed ≤ 3.50% moves 40% → 20% (−20 points).
A week later, you come back. The cut now looks more likely—the AI has repriced that baseline up to 55% on its own. You haven't touched anything. The model re-applies your same −0.98 shift to the new baseline (sigmoid turns log-odds back into a probability):
P(Fed ≤ 3.50% | hot CPI) = sigmoid(logit(0.55) − 0.98)
= 31%Your read now shows 31%, not 20%—and you never re-entered it. That's the point of anchoring on a shift, not a number: your conviction (the −0.98) is what you actually believe, and it stays fixed; the odds it produces move with the world. The 31% is the model extrapolating your shift, not a new opinion of yours—so if a baseline ever drifts far from where you estimated, the honest move is a fresh read.
In general.A dependency's strength is that single number, β—the conditional log-odds shift the catalyst applies to the target. Working in log-odds (logit) space keeps the arithmetic additive and the result always a valid probability.
logit(p) = ln( p / (1 − p) ) β = logit(P(B | A = YES)) − logit(P(B)) P(B | A = YES) = sigmoid( logit(P(B)) + β )
Total-effect semantics. A β is the total conditional shift over the implied time horizon—the net of every way the catalyst bears on the target, integrated into one number. The beta does not decompose a dependency into separate direct and indirect effects.
Direct edges win.When both a direct dependency A→C and a chain A→B→C exist, the direct β is authoritative for how A moves C—it already captures A's total effect, so the chain is not added on top. The chain edges still drive their own intermediate projections (how A moves B, how B moves C).
Catalysts compose additively. When several catalysts bear on one target, their β shifts add in logit space. That additivity is an independence assumption—no interaction terms between catalysts—and it is a deliberate beta simplification, in the same family as holding β fixed while baseline probabilities move.
Derived conditionals by coherence. You estimate forward-only: how the target shifts given the catalyst resolves YES. Everything else propagation needs—the target given the catalyst resolves NO, or the catalyst given the target—is derived on the fly from your forward β and the current baseline probabilities, via the law of total probability and Bayes. One estimate, coherently extended.
Auto-update. Because β lives in logit space and is applied to current baselines, a projection refreshes whenever the underlying baselines move—the conditional tracks the baseline without any re-entry on your part.
None of this mathematics is novel, and it isn't meant to be. Conditional log-odds shifts, Bayesian coherence, and crowd-corrected priors descend from the combinatorial information markets literature—Hanson on combinatorial and decision markets, Pennock and Chen on the pricing of combinatorial claims, Sun, Hanson, Laskey, and Twardy on Bayesian-network market makers. Consequitur's contribution is the productization: a curated cross-platform event graph with these mechanics running live on top of it.
Going deeper. For the full formal treatment—the propagation algorithm, the coherence derivations, and the calibration details—see the Consequitur technical document (PDF).
Source attribution and propagation
The Scenarios view
In Scenarios, every node shows its highest-priority value, marked so you always know where the number came from:
- ● User-defined—you set this probability directly with the slider. Your assertion.
- ◐ User-modeled—you didn't set it, but it moved because an upstream probability you adjusted propagated down through the dependencies.
- △ AI fallback—neither of the above; the AI Baseline is shown as-is, and its delta versus the AI is zero.
A delta versus the AI Baseline sits beside every value, always visible, so divergences read off the graph directly—there is no separate panel ranking them.
Override disables upstream. When you set a node's probability by hand, that node is pinned: the dependencies feeding it go inert and their sliders gray out at that position, because nothing upstream can change a value you have fixed. An event that appears in more than one place stays adjustable wherever it still has an active path.
What persists. Scenario adjustments are a sandbox—they do not persist across sessions; the URL and the Share affordance are the way to keep one. The estimates you apply to dependencies in the drawer are recorded, and it is those that shape your modeled projections.
The split is deliberate.The marginal is the world's live state—the AI keeps it current, and the what-ifs you drag against it are a sandbox. The conditional is your view of how two events relate, so that is what we save: each time you return, we re-apply it to the latest baselines, and your reads get re-priced as the world moves—no re-entry. When a baseline shifts far enough to matter, we flag it rather than quietly restating your number.
Sharing semantics
A shared scenario URL encodes your hypothesis only—the catalyst values you moved away from their defaults. Whoever opens it sees those overrides evaluated against the current AI Baselines and sensitivities at view time, so your assumptions stay fixed while the world stays live. Your recorded estimates and your identity do not travel with the link—sharing is anonymous.
What's next
More surfaces will light up as estimates accumulate. If there's something you want sooner, the request link in the footer goes straight to us.
Ready to explore? Browse the events and open any dependency to see the model in motion.