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;
}
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,