diff --git a/services/experimentAnalysis.ts b/services/experimentAnalysis.ts index ed172ba..3ad6918 100644 --- a/services/experimentAnalysis.ts +++ b/services/experimentAnalysis.ts @@ -42,10 +42,10 @@ interface ComputedWeeklyMetrics extends WeeklyMetrics { roas: number; } -function getISOWeekStart(year: number, week: number): number { - const jan4 = new Date(year, 0, 4); - const day = jan4.getDay() || 7; - const startYear = new Date(year, 0, 4 - day + 1); +function getWeekStartSunday(year: number, week: number): number { + const jan1 = new Date(year, 0, 1); + const day = jan1.getDay(); // 0 = Sunday, 1 = Monday... + const startYear = new Date(year, 0, 1 - day); // Sunday of the week containing Jan 1 return startYear.getTime() + (week - 1) * 7 * 86400000; } @@ -70,7 +70,7 @@ function aggregateWeeklyMetrics( if (!weeklyMap.has(key)) { weeklyMap.set(key, { week: key, - timestamp: getISOWeekStart(year, weekNum), + timestamp: getWeekStartSunday(year, weekNum), units: 0, revenue: 0, sessions: 0,