From 236398214440b1f52f55ca305dea57addab8c29c Mon Sep 17 00:00:00 2001 From: Christian Vidal Wolf Date: Tue, 10 Mar 2026 13:47:01 +0100 Subject: [PATCH] feat: simplify verdict to winner/unsuccessful with >50% threshold MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - winner if posterior probability > 50%, unsuccessful otherwise - Removes inconclusive — binary outcome based on Bayesian signal - Label "Loser" renamed to "Unsuccessful" - Updated all stored experiment verdicts in DB Co-Authored-By: Claude Sonnet 4.6 --- components/ExperimentsView.tsx | 6 +++--- services/experimentAnalysis.ts | 5 ++--- services/experiments.ts | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/components/ExperimentsView.tsx b/components/ExperimentsView.tsx index 8ab9d59..257bef1 100644 --- a/components/ExperimentsView.tsx +++ b/components/ExperimentsView.tsx @@ -676,9 +676,9 @@ const ExperimentDetailView: React.FC<{ Negative Effect Confirmed ) : ( - - - Inconclusive — More Data Needed + + + Unsuccessful )} diff --git a/services/experimentAnalysis.ts b/services/experimentAnalysis.ts index 99a5154..10758d9 100644 --- a/services/experimentAnalysis.ts +++ b/services/experimentAnalysis.ts @@ -435,9 +435,8 @@ export function computeVerdict( const prob = result.posterior_prob_positive; - if (prob >= 0.90) return { verdict: 'winner', probability: prob }; - if (prob <= 0.10) return { verdict: 'loser', probability: prob }; - return { verdict: 'inconclusive', probability: prob }; + if (prob > 0.50) return { verdict: 'winner', probability: prob }; + return { verdict: 'loser', probability: prob }; } // ============ Counterfactual Time Series ============ diff --git a/services/experiments.ts b/services/experiments.ts index 16a9158..6a2f1aa 100644 --- a/services/experiments.ts +++ b/services/experiments.ts @@ -264,8 +264,8 @@ export const getVerdictColor = (verdict?: ExperimentVerdict): string => { export const getVerdictLabel = (verdict?: ExperimentVerdict): string => { switch (verdict) { case 'winner': return 'Winner'; - case 'loser': return 'Loser'; - case 'inconclusive': return 'Inconclusive'; + case 'loser': return 'Unsuccessful'; + case 'inconclusive': return 'Unsuccessful'; default: return 'Pending'; } };