An exact solver for decision-focused de-censoring
An exact solver that decides which censored outcomes to recover before a constrained portfolio is allocated, internally reproduced, with certificates for when the answer is to recover nothing.
What it proves
That the "which missing outcomes to recover" decision can be solved exactly at useful speed, with whole-set zero-value-of-information certificates, internally reproduced, rather than approximated.
Built with
Clojure · Exact rational arithmetic · Multiobjective knapsack DP
This is the implementation behind the paper Which missing outcomes should you pay to recover?: the proof of concept that took the idea from a whiteboard argument to a frozen, internally reproduced result.
What it does
Given a set of censored historical outcomes, a cost and success law for recovering each, and a downstream portfolio decision constrained by capacity, specialists and a service floor, the solver returns which outcomes to recover to most improve the downstream decision, exactly.
It is built in layers, each verified before the next: an exact combinatorial core, a specialisation that exploits structure particular to this decision, and certificates that prove some evidence sets carry no value at all, that the best action is unchanged, without enumerating their histories first.
The specialisation is the contribution and we are not publishing it. What is worth stating is the shape of the guarantee: the solver is exact in the sense of correct, not polynomial-time, and it is that specialisation which keeps realistic instances tractable rather than merely solvable.
What we measured
On a separately frozen twelve-seed synthetic population, small scale, tens of cases, the kernel matched every acquisition score and selected action (12/12, zero mismatches), collapsed about 65% of posterior cells, removed about 61% of label-vector tests, and ran 2.37× faster end-to-end than our own scalar baseline, with the pre-declared gates (exactness, decision-agreement, structural reduction, runtime and breadth) all passing on the single permitted validation run. The speed-up is against an internal baseline. Comparison against a tuned external solver (a MIP or POMDP α-vector implementation) and a runtime-versus-instance-size curve are the stated next step.
Why it is a proof of concept and not yet a product
Because the honest boundary is exactly where the science is. The computational result holds; a general method-novelty claim does not. The next frontier steps, decision-stability certificates, adaptive recovery under failure, distributional robustness, build on this verified kernel, each with its own frozen falsifier. When the pattern repeats across buyers with data, it graduates.
Method disclosure
The method is not published.
The specialisation is the contribution and is not published.
We publish selectively and say which. Open-source, academic and pro bono work is published in full. Where the mechanism is the commercial asset we publish the result, the evidence grade and the boundary, and state that the mechanism is withheld, and never write around the gap.
Limitations & novelty boundary
An exact application kernel on an admitted generator, not a general-method claim. Validated on frozen synthetic and semi-synthetic populations; several extensions were negative results and are reported as such. A field claim would require prospective execution on operational recovery channels.