Files

58 lines
2.0 KiB
TypeScript
Raw Permalink Normal View History

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);