feat: simplify verdict to winner/unsuccessful with >50% threshold

- 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 <noreply@anthropic.com>
This commit is contained in:
Christian Vidal Wolf
2026-03-10 13:47:01 +01:00
co-authored by Claude Sonnet 4.6
parent 127fa9c279
commit 2363982144
3 changed files with 7 additions and 8 deletions
+3 -3
View File
@@ -676,9 +676,9 @@ const ExperimentDetailView: React.FC<{
Negative Effect Confirmed Negative Effect Confirmed
</span> </span>
) : ( ) : (
<span className="bg-amber-500/10 text-amber-400 border border-amber-500/20 text-[10px] font-bold uppercase tracking-widest px-4 py-2 rounded-full inline-flex items-center gap-1.5"> <span className="bg-red-500/10 text-red-400 border border-red-500/20 text-[10px] font-bold uppercase tracking-widest px-4 py-2 rounded-full inline-flex items-center gap-1.5">
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" /></svg> <svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
Inconclusive More Data Needed Unsuccessful
</span> </span>
)} )}
</div> </div>
+2 -3
View File
@@ -435,9 +435,8 @@ export function computeVerdict(
const prob = result.posterior_prob_positive; const prob = result.posterior_prob_positive;
if (prob >= 0.90) return { verdict: 'winner', probability: prob }; if (prob > 0.50) return { verdict: 'winner', probability: prob };
if (prob <= 0.10) return { verdict: 'loser', probability: prob }; return { verdict: 'loser', probability: prob };
return { verdict: 'inconclusive', probability: prob };
} }
// ============ Counterfactual Time Series ============ // ============ Counterfactual Time Series ============
+2 -2
View File
@@ -264,8 +264,8 @@ export const getVerdictColor = (verdict?: ExperimentVerdict): string => {
export const getVerdictLabel = (verdict?: ExperimentVerdict): string => { export const getVerdictLabel = (verdict?: ExperimentVerdict): string => {
switch (verdict) { switch (verdict) {
case 'winner': return 'Winner'; case 'winner': return 'Winner';
case 'loser': return 'Loser'; case 'loser': return 'Unsuccessful';
case 'inconclusive': return 'Inconclusive'; case 'inconclusive': return 'Unsuccessful';
default: return 'Pending'; default: return 'Pending';
} }
}; };