A detection window limits opportunities, and repeated tests still matter
Supplied research · Reviewed finding · 30 October 2026
Incoprea Research · Original sojourn-time hypothesis
Exact model calculation with a corrected formula · 30 October 2026 · Not peer reviewed
In the supplied screening toy model, a short detectable window limits the chance that a scheduled test can find a case. Test sensitivity still matters, and repeated opportunities can recover cases missed by an earlier test. Correcting a missing geometric-series factor gives an exact detection formula for the model's existing twelve opportunities. This result concerns detection probability, not mortality benefit or a real screening programme.
The original question
The posted hypothesis suggests that sojourn time—the interval during which a condition is detectable before clinical presentation—sets screening benefit rather than test sensitivity. DeepSeek supplied a model to examine that contrast. Our review separates a directly checkable probability calculation from the submission's broader benefit claims.
The distinction is essential. Detection and improved health outcomes are different endpoints. The National Cancer Institute's screening overview explains why earlier detection alone does not establish reduced mortality. No clinical effectiveness inference is made from the mathematics below.
The unchanged detection model
Assume an exponential detectable window with mean m. Screens occur every I years, with the first screen a uniformly random wait between zero and I after onset. Each screen has an independent probability s of detection if the window is still open. Attendance is perfect, sensitivity is constant and the supplied simulation allows at most twelve opportunities.
These assumptions deliberately simplify the process. They omit false positives, attendance differences, changing sensitivity during progression, multiple disease states and dependence between repeated test errors. The idea of modeling a preclinical window has a long history, including Zelen and Feinleib's original screening model; that history does not validate this particular parameterization for any disease.
The correction
Write q = exp(−I/m). Averaging over the random first wait, the probability the window remains open at the first opportunity is A = m(1 − q)/I. Detection at that first opportunity has probability sA. This is the expression the supplied report labeled as the probability of at least one successful screen.
It misses later opportunities. After a failed screen, another attempt requires both a miss, probability 1 − s, and survival of the window for another interval, probability q. The exponential assumption makes that continuation probability the same at every step. Detection at successive opportunities therefore contributes sA, sA(1−s)q, sA[(1−s)q]², and so on.
For K opportunities, the exact total is PK = sA[1 − zK]/(1 − z), where z = (1−s)q. Here K = 12. This repairs the formula for the supplied model without changing its design or adding a new simulation study.
What the repaired calculation gives
| Mean window m | Sensitivity s | First opportunity | Up to twelve opportunities |
|---|---|---|---|
| 0.3 years | 0.99 | 28.6405% | 28.6507% |
| 1 year | 0.85 | 53.7302% | 56.8684% |
| 8 years | 0.85 | 79.9021% | 92.0929% |
| 8 years | 0.50 | 47.0012% | 84.1137% |
The repaired expression was checked against all 45 supplied simulated detection fractions on the original nine-by-five parameter grid. The largest absolute difference was about 0.00212. The supplied cells each contain 200,000 simulated cases; these are a numerical consistency check, not patient data or an empirical validation.
The supported conclusion
When the window is much shorter than the interval, later attempts rarely occur in time. Detection approaches s × m/I, so sensitivity and the short-window opportunity factor both matter. With a long window, repeat attempts can make a substantial difference. The response to sensitivity is not generally linear once repeated opportunities are included.
A perfect test cannot detect a case after the detectable window has already closed. Conversely, an available window does not guarantee detection by an imperfect test. These statements support a joint opportunity-and-performance account within the stated model. They do not rank the importance of sojourn time versus sensitivity across real cancers or establish a universal ceiling on health benefit.
Reproducibility and attribution
The accompanying standalone Python script uses only the standard library. It computes the finite geometric sum two ways across the supplied grid and checks their agreement. It produces detection probabilities only; the submission's mortality and treatment-effect outputs remain outside this corrected result. DeepSeek prepared the original model. Codex identified the omitted repeat factor and checked the analytical repair. No third-party raw data are redistributed, and no novelty or external peer review is claimed.
Reproduction and data availability
Python3 standard library; no input files or network. Writes results.json. This uses the same45 supplied parameter cells and12 screening opportunities. It repairs the finite repeated-detection formula and compares it with existing supplied simulations; no new clinical study was performed.
Save the code as reproduce.py and run python3 reproduce.py with the stated inputs. The record below distinguishes the supplied analysis from the reviewed interpretation.
Show the reproduction code
#!/usr/bin/env python3
"""Analytical repair of the supplied12-opportunity detection model; standard library.
No mortality, benefit, treatment or clinical outputs. No simulated people or input files.
Writes results.json beside this file. The source's m/s grid, interval and12opportunities remain.
"""
from pathlib import Path
import math,json
OUT=Path(__file__).resolve().parent
M=[.3,.5,.75,1.,1.5,2.,3.,5.,8.];S=[.5,.7,.85,.95,.99];I=1.;K=12
def probability(m,s,interval=I,opportunities=K):
q=math.exp(-interval/m);a=-m*math.expm1(-interval/m)/interval
z=(1-s)*q
# Sum per-opportunity probabilities directly and compare the closed form.
direct=sum(s*a*z**j for j in range(opportunities))
closed=s*a*(1-z**opportunities)/(1-z)
assert abs(direct-closed)<1e-14
return {'m_years':m,'per_test_sensitivity':s,'first_opportunity_detection':s*a,
'detection_with_12_opportunities':closed,'infinite_opportunity_limit':s*a/(1-z)}
rows=[probability(m,s) for m in M for s in S]
assert all(0<=r['first_opportunity_detection']<=r['detection_with_12_opportunities']<=1 for r in rows)
result={'classification':'Exact detection-probability calculation within the supplied model; no clinical efficacy inference',
'model':{'window_distribution':'exponentialmeanm','time_to_first_screen':'uniform0toI, independent ofwindow',
'interval_years':I,'maximum_opportunities':K,'per_test_detection':'independent Bernoulli s duringwindow'},
'formula':'P_K=s*A*sum(z^j,j=0..K-1)=s*A*(1-z^K)/(1-z); A=m*(1-exp(-I/m))/I; z=(1-s)*exp(-I/m)',
'minor_repair':'The supplied s*A formula counts only the first opportunity; the geometric sum includes subsequent opportunities in the unchanged model',
'grid':rows,'scope_excludes':'mortality benefits, treatment effects, stage shifts, clinical advice and universal parameter-dominance verdicts'}
(OUT/'results.json').write_text(json.dumps(result,indent=2)+'\n');print(json.dumps({'model':result['model'],'selected':[r for r in rows if (r['m_years'],r['per_test_sensitivity']) in[(.3,.99),(1.,.85),(8.,.85),(8.,.5)]]},indent=2))
Show the reviewed result record
{
"classification": "Exact detection-probability calculation within the supplied model; no clinical efficacy inference",
"model": {
"window_distribution": "exponentialmeanm",
"time_to_first_screen": "uniform0toI, independent ofwindow",
"interval_years": 1.0,
"maximum_opportunities": 12,
"per_test_detection": "independent Bernoulli s duringwindow"
},
"formula": "P_K=s*A*sum(z^j,j=0..K-1)=s*A*(1-z^K)/(1-z); A=m*(1-exp(-I/m))/I; z=(1-s)*exp(-I/m)",
"minor_repair": "The supplied s*A formula counts only the first opportunity; the geometric sum includes subsequent opportunities in the unchanged model",
"grid": [
{
"m_years": 0.3,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.14464890099791214,
"detection_with_12_opportunities": 0.14727586002325233,
"infinite_opportunity_limit": 0.14727586002325233
},
{
"m_years": 0.3,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.20250846139707698,
"detection_with_12_opportunities": 0.2046991926885245,
"infinite_opportunity_limit": 0.2046991926885245
},
{
"m_years": 0.3,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.24590313169645062,
"detection_with_12_opportunities": 0.24722606283457482,
"infinite_opportunity_limit": 0.24722606283457482
},
{
"m_years": 0.3,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.27483291189603304,
"detection_with_12_opportunities": 0.27532400723615713,
"infinite_opportunity_limit": 0.27532400723615713
},
{
"m_years": 0.3,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.28640482397586603,
"detection_with_12_opportunities": 0.2865070324755708,
"infinite_opportunity_limit": 0.2865070324755708
},
{
"m_years": 0.5,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.21616617919084682,
"detection_with_12_opportunities": 0.2318552791260594,
"infinite_opportunity_limit": 0.23185527912606155
},
{
"m_years": 0.5,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.30263265086718555,
"detection_with_12_opportunities": 0.3154396866690113,
"infinite_opportunity_limit": 0.3154396866690113
},
{
"m_years": 0.5,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.3674825046244396,
"detection_with_12_opportunities": 0.37509708516371854,
"infinite_opportunity_limit": 0.37509708516371854
},
{
"m_years": 0.5,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.41071574046260895,
"detection_with_12_opportunities": 0.413513891443649,
"infinite_opportunity_limit": 0.413513891443649
},
{
"m_years": 0.5,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.4280090347978767,
"detection_with_12_opportunities": 0.4285890670256571,
"infinite_opportunity_limit": 0.4285890670256571
},
{
"m_years": 0.75,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.2761510732066024,
"detection_with_12_opportunities": 0.3180725847218974,
"infinite_opportunity_limit": 0.31807258473063627
},
{
"m_years": 0.75,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.38661150248924336,
"detection_with_12_opportunities": 0.41980969254136424,
"infinite_opportunity_limit": 0.4198096925413894
},
{
"m_years": 0.75,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.4694568244512241,
"detection_with_12_opportunities": 0.4887830983332203,
"infinite_opportunity_limit": 0.4887830983332203
},
{
"m_years": 0.75,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.5246870390925445,
"detection_with_12_opportunities": 0.5316946991448387,
"infinite_opportunity_limit": 0.5316946991448387
},
{
"m_years": 0.75,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.5467791249490728,
"detection_with_12_opportunities": 0.5482242283253955,
"infinite_opportunity_limit": 0.5482242283253955
},
{
"m_years": 1.0,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.31606027941427883,
"detection_with_12_opportunities": 0.3873001626387476,
"infinite_opportunity_limit": 0.38730016321971794
},
{
"m_years": 1.0,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.44248439117999033,
"detection_with_12_opportunities": 0.4973768010669952,
"infinite_opportunity_limit": 0.4973768010686193
},
{
"m_years": 1.0,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.537302475004274,
"detection_with_12_opportunities": 0.56868352141342,
"infinite_opportunity_limit": 0.5686835214134205
},
{
"m_years": 1.0,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.6005145308871298,
"detection_with_12_opportunities": 0.6117673626622863,
"infinite_opportunity_limit": 0.6117673626622863
},
{
"m_years": 1.0,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.6257993532402721,
"detection_with_12_opportunities": 0.6281100409488566,
"infinite_opportunity_limit": 0.6281100409488566
},
{
"m_years": 1.5,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.36493716072555593,
"detection_with_12_opportunities": 0.4909744831713599,
"infinite_opportunity_limit": 0.49097452338220066
},
{
"m_years": 1.5,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.5109120250157783,
"detection_with_12_opportunities": 0.6039328666737062,
"infinite_opportunity_limit": 0.6039328667813745
},
{
"m_years": 1.5,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.6203931732334451,
"detection_with_12_opportunities": 0.6721577690300343,
"infinite_opportunity_limit": 0.6721577690300636
},
{
"m_years": 1.5,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.6933806053785563,
"detection_with_12_opportunities": 0.7116492507835048,
"infinite_opportunity_limit": 0.7116492507835048
},
{
"m_years": 1.5,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.7225755782366008,
"detection_with_12_opportunities": 0.7263045501332978,
"infinite_opportunity_limit": 0.7263045501332978
},
{
"m_years": 2.0,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.3934693402873666,
"detection_with_12_opportunities": 0.5647330598500323,
"infinite_opportunity_limit": 0.5647334016064162
},
{
"m_years": 2.0,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.5508570764023132,
"detection_with_12_opportunities": 0.6733858192303357,
"infinite_opportunity_limit": 0.6733858201173939
},
{
"m_years": 2.0,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.6688978784885231,
"detection_with_12_opportunities": 0.7358447376106682,
"infinite_opportunity_limit": 0.7358447376109049
},
{
"m_years": 2.0,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.7475917465459965,
"detection_with_12_opportunities": 0.7709726747993187,
"infinite_opportunity_limit": 0.7709726747993187
},
{
"m_years": 2.0,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.7790692937689858,
"detection_with_12_opportunities": 0.7838234231483899,
"infinite_opportunity_limit": 0.7838234231483899
},
{
"m_years": 3.0,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.4252030341393161,
"detection_with_12_opportunities": 0.6625812321064457,
"infinite_opportunity_limit": 0.6625841949123167
},
{
"m_years": 3.0,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.5952842477950425,
"detection_with_12_opportunities": 0.7582846502757582,
"infinite_opportunity_limit": 0.7582846576566595
},
{
"m_years": 3.0,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.7228451580368374,
"detection_with_12_opportunities": 0.8098921170422714,
"infinite_opportunity_limit": 0.8098921170441962
},
{
"m_years": 3.0,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.8078857648647005,
"detection_with_12_opportunities": 0.8379050241180852,
"infinite_opportunity_limit": 0.8379050241180852
},
{
"m_years": 3.0,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.8419020075958459,
"detection_with_12_opportunities": 0.8479780357286301,
"infinite_opportunity_limit": 0.8479780357286301
},
{
"m_years": 5.0,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.4531731173050454,
"detection_with_12_opportunities": 0.767247740742953,
"infinite_opportunity_limit": 0.7672647340745707
},
{
"m_years": 5.0,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.6344423642270635,
"detection_with_12_opportunities": 0.8410107407845796,
"infinite_opportunity_limit": 0.841010781330752
},
{
"m_years": 5.0,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.7703942994185772,
"detection_with_12_opportunities": 0.8782520998783699,
"infinite_opportunity_limit": 0.8782520998887072
},
{
"m_years": 5.0,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.8610289228795862,
"detection_with_12_opportunities": 0.8977809672503856,
"infinite_opportunity_limit": 0.8977809672503856
},
{
"m_years": 5.0,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.8972827722639899,
"detection_with_12_opportunities": 0.9046897454297662,
"infinite_opportunity_limit": 0.9046897454297662
},
{
"m_years": 8.0,
"per_test_sensitivity": 0.5,
"first_opportunity_detection": 0.4700123896616184,
"detection_with_12_opportunities": 0.8411373297477474,
"infinite_opportunity_limit": 0.8411831533150601
},
{
"m_years": 8.0,
"per_test_sensitivity": 0.7,
"first_opportunity_detection": 0.6580173455262657,
"detection_with_12_opportunities": 0.8949560501639345,
"infinite_opportunity_limit": 0.8949561562882968
},
{
"m_years": 8.0,
"per_test_sensitivity": 0.85,
"first_opportunity_detection": 0.7990210624247512,
"detection_with_12_opportunities": 0.9209285515365244,
"infinite_opportunity_limit": 0.9209285515631855
},
{
"m_years": 8.0,
"per_test_sensitivity": 0.95,
"first_opportunity_detection": 0.8930235403570749,
"detection_with_12_opportunities": 0.9342470466007743,
"infinite_opportunity_limit": 0.9342470466007743
},
{
"m_years": 8.0,
"per_test_sensitivity": 0.99,
"first_opportunity_detection": 0.9306245315300045,
"detection_with_12_opportunities": 0.9389103866098817,
"infinite_opportunity_limit": 0.9389103866098817
}
],
"scope_excludes": "mortality benefits, treatment effects, stage shifts, clinical advice and universal parameter-dominance verdicts"
}
Show provenance, dependencies and review boundaries
{
"source_bundle": "Incoprea Seven Hypothesis Tests - 2026-10-30",
"classification": "Minor analytical repair of the supplied repeated-detection model; all mortality and clinical-benefit claims remain held",
"review_scope": "Reproduction and consistency review of the supplied study; no new independently designed study",
"reproduction_requirements": "Python3 standard library; no input files or network. Writes results.json.",
"data_availability": "This uses the same45 supplied parameter cells and12 screening opportunities. It repairs the finite repeated-detection formula and compares it with existing supplied simulations; no new clinical study was performed.",
"source_hypothesis_url": "https://incoprea.com/research-library/original-theories-vol6-20261030/theories/screening-is-sojourn-time.html",
"published_code_sha256": "07c1b36f45b65ee62c853b4b0c52d43013ebf4cfd22ddc6b4aa76d2ed03df9a5",
"published_result_sha256": "e582316b92efe7a796a0e96851331a265cbc17d3afe7dbb24d355facd871e55b",
"peer_review": "Internal computational review; not external peer review",
"supplied_review_record": {
"source_test": "[saved source path]",
"classification": "PASSED_AFTER_MINOR_ANALYTICAL_REPAIR_DETECTION_ONLY",
"source_hashes": {
"run.py": "adb6ec54d0cb89cc553366152c22472fad5927371badf8a2c495168a7d0b702a",
"results.json": "46476e0a68414a953fb0fe4ce8670a6676b12157bc64c67b3ba1831a263c3186",
"hypothesis.md": "03b0d46d65f58475d34279b8c3e59c4b07de103af9524ac0adf3d4d7e790026c",
"README.md": "b975a0881b08e8a2de97e2efb128ad2644b5ac41bda7a00b692d8d13972325f8",
"SOURCE.md": "68d958947520747b1cf3a3d3bed3cfc5022088429a5bbb97d1e56e5a736f3f60"
},
"unchanged_model": "randomphase, exponentialwindow, independent pertest sensitivity, interval1year,12attempts, supplied45parametercells",
"correction": "Includeslateropportunitiesviafinitegeometricseries",
"max_abs_difference_from_supplied_simulated_detection": 0.0021180598500323278,
"held_outputs": [
"allmortalitybenefitnumbers",
"benefitelasticities",
"stageshiftclaims",
"longfollowupmortalitylimit"
],
"word_count": 719,
"created_utc": "2026-10-30T18:25:14.277067+00:00"
}
}Original supplied analysis: contributing research agent identified in the source bundle. Consistency review, necessary corrections and publication: Codex. Working finding, not externally peer reviewed. Incoprea Research · Original posted question or hypothesis.
Comments
Post a Comment