From 411448e4d2c6a6ba53c9cc5aa552cbff837f81e6 Mon Sep 17 00:00:00 2001 From: Christian Vidal Wolf Date: Sat, 21 Feb 2026 22:31:28 +0100 Subject: [PATCH] fix: resolve NaN algorithm corruption causing empty experiment calculations on save --- services/experiments.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/experiments.ts b/services/experiments.ts index ca6cdd1..61ce24c 100644 --- a/services/experiments.ts +++ b/services/experiments.ts @@ -270,15 +270,15 @@ export const calculateExperimentPerformance = async ( recordDate >= startDate && recordDate <= endDate; }); - const baseline_units = baselineData.reduce((sum, r) => sum + r.unitsTotal, 0); - const baseline_revenue = baselineData.reduce((sum, r) => sum + r.salesTotal, 0); + const baseline_units = baselineData.reduce((sum, r) => sum + (r.unitsTotal || 0), 0); + const baseline_revenue = baselineData.reduce((sum, r) => sum + (r.salesTotal || 0), 0); const baseline_gv = baselineData.reduce((sum, r) => sum + (r.glanceViews || 0), 0); const baseline_cvr = baseline_gv > 0 ? (baseline_units / baseline_gv) * 100 : 0; const baseline_spend = baselineData.reduce((sum, r) => sum + (r.cost || 0), 0); const baseline_acos = baseline_revenue > 0 ? (baseline_spend / baseline_revenue) * 100 : 0; - const experiment_units = experimentData.reduce((sum, r) => sum + r.unitsTotal, 0); - const experiment_revenue = experimentData.reduce((sum, r) => sum + r.salesTotal, 0); + const experiment_units = experimentData.reduce((sum, r) => sum + (r.unitsTotal || 0), 0); + const experiment_revenue = experimentData.reduce((sum, r) => sum + (r.salesTotal || 0), 0); const experiment_gv = experimentData.reduce((sum, r) => sum + (r.glanceViews || 0), 0); const experiment_cvr = experiment_gv > 0 ? (experiment_units / experiment_gv) * 100 : 0; const experiment_spend = experimentData.reduce((sum, r) => sum + (r.cost || 0), 0);