feat: inject unfiltered ad data into experiments & deploy comprehensive KPI summary view

This commit is contained in:
Christian Vidal Wolf
2026-02-21 22:56:37 +01:00
parent 99d524db12
commit 09cfc1e6a8
2 changed files with 12 additions and 26 deletions
+7 -2
View File
@@ -606,6 +606,11 @@ const App: React.FC = () => {
return mergeSalesAndAdsData(filteredData, filteredAdsData, globalAsinMetadata, trafficData, velocityMap);
}, [filteredData, filteredAdsData, globalAsinMetadata, trafficData, velocityMap]);
// Unfiltered combined data for Experiment calculations (so they aren't affected by UI filters)
const unfilteredCombinedData = useMemo(() => {
return mergeSalesAndAdsData(rawData, adsData, globalAsinMetadata, trafficData, velocityMap);
}, [rawData, adsData, globalAsinMetadata, trafficData, velocityMap]);
// Derived Data for Grid (YTD Filtered - Isolated)
// 1. Identify "Current Year" max week
const gridContext = useMemo(() => {
@@ -963,7 +968,7 @@ const App: React.FC = () => {
setPreselectedMarketplace(filters.customer[0] || '');
setShowCreateExperiment(true);
}}
salesData={rawData}
salesData={unfilteredCombinedData}
/>
</div>
</Suspense>
@@ -1036,7 +1041,7 @@ const App: React.FC = () => {
<ExperimentDetail
experimentId={selectedExperimentId}
onClose={() => setSelectedExperimentId(null)}
salesData={rawData}
salesData={unfilteredCombinedData}
/>
)}
+3 -22
View File
@@ -255,30 +255,11 @@ const ExperimentDetail: React.FC<ExperimentDetailProps> = ({ experimentId, onClo
{/* Performance Cards */}
{(experiment.experiment_units != null) && (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
{experiment.type === 'pricing' && (
<>
<MetricDeltaCard title="Conversion Rate" baseline={experiment.baseline_cvr} experimentVal={experiment.experiment_cvr} format="percent" />
<MetricDeltaCard title="Total Revenue" baseline={experiment.baseline_revenue} experimentVal={experiment.experiment_revenue} format="currency" />
</>
)}
{experiment.type === 'advertising' && (
<>
<MetricDeltaCard title="Glance Views" baseline={experiment.baseline_gv} experimentVal={experiment.experiment_gv} format="number" />
<MetricDeltaCard title="ACOS" baseline={experiment.baseline_acos} experimentVal={experiment.experiment_acos} format="percent" invertColors={true} />
</>
)}
{experiment.type === 'content' && (
<>
<MetricDeltaCard title="Glance Views (SEO)" baseline={experiment.baseline_gv} experimentVal={experiment.experiment_gv} format="number" />
<MetricDeltaCard title="CVR (Persuasion)" baseline={experiment.baseline_cvr} experimentVal={experiment.experiment_cvr} format="percent" />
</>
)}
{experiment.type === 'promotion' && (
<>
<MetricDeltaCard title="Units Sold" baseline={experiment.baseline_units} experimentVal={experiment.experiment_units} format="number" />
<MetricDeltaCard title="Revenue" baseline={experiment.baseline_revenue} experimentVal={experiment.experiment_revenue} format="currency" />
</>
)}
<MetricDeltaCard title="Glance Views" baseline={experiment.baseline_gv} experimentVal={experiment.experiment_gv} format="number" />
<MetricDeltaCard title="Conversion Rate" baseline={experiment.baseline_cvr} experimentVal={experiment.experiment_cvr} format="percent" />
<MetricDeltaCard title="ACOS" baseline={experiment.baseline_acos} experimentVal={experiment.experiment_acos} format="percent" invertColors={true} />
<PerformanceCard
label="Primary Target Lift"