import fs from 'fs'; import { processCSV } from './services/dataProcessor'; import { processAdsExcel, mergeSalesAndAdsData } from './services/dataProcessor'; import { computeDiD } from './services/experimentAnalysis'; async function runTest() { console.log("Loading sales data..."); const csvStr = fs.readFileSync('public/Craze analytix 2026.csv', 'utf-8'); const sales = await processCSV(csvStr); console.log("Loading ads data..."); const excelBuffer = fs.readFileSync('public/ads.xlsx').buffer; const ads = await processAdsExcel(excelBuffer); console.log("Sales rows:", sales.length); console.log("Ads rows:", ads.length); // Check INKEE DE explicitly const inkeeSales = sales.filter(s => s.asin.includes('B0CQ')) console.log("INKEE Sales rows:", inkeeSales.length); const inkeeAds = ads.filter(a => a.asin.includes('B0CQ')) console.log("INKEE Ad rows:", inkeeAds.length); console.log("Merging..."); const merged = mergeSalesAndAdsData(sales, ads); const mergedInkee = merged.filter(m => m.asin.includes('B0CQ') && m.year === 2024); const totalCost = mergedInkee.reduce((sum, r) => sum + (r.cost || 0), 0); const totalAdSales = mergedInkee.reduce((sum, r) => sum + (r.salesAds || 0), 0); console.log("Merged INKEE total cost 2024:", totalCost); console.log("Merged INKEE total ad sales 2024:", totalAdSales); const experiment = { id: "INKEE_DE", name: "INKEE DE Test", status: "active", type: "advertising", asins: ["B0CQXNBGBQ"], // Assuming this is INKEE DE control_asins: [], marketplace: "Amazon DE", // Matching the UI start_date: "2024-03-01", end_date: "2024-04-15", baseline_start_date: "2024-01-01", baseline_end_date: "2024-02-28", primary_metric: "acos" } as any; console.log("Running DiD..."); const did = computeDiD(experiment, merged); console.log("DiD Output:", JSON.stringify(did.metrics, null, 2)); } runTest().catch(console.error);