mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 14:45:24 +02:00
feat: inject unfiltered ad data into experiments & deploy comprehensive KPI summary view
This commit is contained in:
@@ -606,6 +606,11 @@ const App: React.FC = () => {
|
|||||||
return mergeSalesAndAdsData(filteredData, filteredAdsData, globalAsinMetadata, trafficData, velocityMap);
|
return mergeSalesAndAdsData(filteredData, filteredAdsData, globalAsinMetadata, trafficData, velocityMap);
|
||||||
}, [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)
|
// Derived Data for Grid (YTD Filtered - Isolated)
|
||||||
// 1. Identify "Current Year" max week
|
// 1. Identify "Current Year" max week
|
||||||
const gridContext = useMemo(() => {
|
const gridContext = useMemo(() => {
|
||||||
@@ -963,7 +968,7 @@ const App: React.FC = () => {
|
|||||||
setPreselectedMarketplace(filters.customer[0] || '');
|
setPreselectedMarketplace(filters.customer[0] || '');
|
||||||
setShowCreateExperiment(true);
|
setShowCreateExperiment(true);
|
||||||
}}
|
}}
|
||||||
salesData={rawData}
|
salesData={unfilteredCombinedData}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Suspense>
|
</Suspense>
|
||||||
@@ -1036,7 +1041,7 @@ const App: React.FC = () => {
|
|||||||
<ExperimentDetail
|
<ExperimentDetail
|
||||||
experimentId={selectedExperimentId}
|
experimentId={selectedExperimentId}
|
||||||
onClose={() => setSelectedExperimentId(null)}
|
onClose={() => setSelectedExperimentId(null)}
|
||||||
salesData={rawData}
|
salesData={unfilteredCombinedData}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -255,30 +255,11 @@ const ExperimentDetail: React.FC<ExperimentDetailProps> = ({ experimentId, onClo
|
|||||||
{/* Performance Cards */}
|
{/* Performance Cards */}
|
||||||
{(experiment.experiment_units != null) && (
|
{(experiment.experiment_units != null) && (
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
|
<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="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="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
|
<PerformanceCard
|
||||||
label="Primary Target Lift"
|
label="Primary Target Lift"
|
||||||
|
|||||||
Reference in New Issue
Block a user