fix(experiments): change weekly boundaries to start on Sunday instead of ISO Monday

This commit is contained in:
Christian Vidal Wolf
2026-02-25 13:35:10 +01:00
parent 0fb312d537
commit b39831c417
+5 -5
View File
@@ -42,10 +42,10 @@ interface ComputedWeeklyMetrics extends WeeklyMetrics {
roas: number; roas: number;
} }
function getISOWeekStart(year: number, week: number): number { function getWeekStartSunday(year: number, week: number): number {
const jan4 = new Date(year, 0, 4); const jan1 = new Date(year, 0, 1);
const day = jan4.getDay() || 7; const day = jan1.getDay(); // 0 = Sunday, 1 = Monday...
const startYear = new Date(year, 0, 4 - day + 1); const startYear = new Date(year, 0, 1 - day); // Sunday of the week containing Jan 1
return startYear.getTime() + (week - 1) * 7 * 86400000; return startYear.getTime() + (week - 1) * 7 * 86400000;
} }
@@ -70,7 +70,7 @@ function aggregateWeeklyMetrics(
if (!weeklyMap.has(key)) { if (!weeklyMap.has(key)) {
weeklyMap.set(key, { weeklyMap.set(key, {
week: key, week: key,
timestamp: getISOWeekStart(year, weekNum), timestamp: getWeekStartSunday(year, weekNum),
units: 0, units: 0,
revenue: 0, revenue: 0,
sessions: 0, sessions: 0,