mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 12:45:23 +02:00
fix: use detailLevelBSR in BSR vs Units chart with topLevel fallback
Detail category BSR is more granular and relevant per ASIN. Falls back to topLevelBSR if detailLevelBSR is null for a record. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
f1e11ca79a
commit
31d1755122
@@ -76,13 +76,14 @@ export const BSRUnitsCorrelationChart: React.FC<Props> = ({ bsrData, combinedSal
|
||||
|
||||
// Per-market chart data: BSR avg + units sum aligned by week
|
||||
const { chartData, pearsonCorrelation } = useMemo(() => {
|
||||
// BSR: average topLevelBSR per week
|
||||
// BSR: average detailLevelBSR per week (falls back to topLevelBSR if detail is unavailable)
|
||||
const bsrByWeek = new Map<number, { sum: number; count: number }>();
|
||||
bsrData
|
||||
.filter(r => r.market === resolvedMarket && r.topLevelBSR != null)
|
||||
.filter(r => r.market === resolvedMarket && (r.detailLevelBSR != null || r.topLevelBSR != null))
|
||||
.forEach(r => {
|
||||
const bsr = r.detailLevelBSR ?? r.topLevelBSR!;
|
||||
const e = bsrByWeek.get(r.week) ?? { sum: 0, count: 0 };
|
||||
bsrByWeek.set(r.week, { sum: e.sum + r.topLevelBSR!, count: e.count + 1 });
|
||||
bsrByWeek.set(r.week, { sum: e.sum + bsr, count: e.count + 1 });
|
||||
});
|
||||
|
||||
// Units: sum unitsTotal per week for current year
|
||||
@@ -136,7 +137,7 @@ export const BSRUnitsCorrelationChart: React.FC<Props> = ({ bsrData, combinedSal
|
||||
}, [pearsonCorrelation]);
|
||||
|
||||
const tooltipFormatter = (value: unknown, name: string) => {
|
||||
if (name === 'BSR') return [typeof value === 'number' ? value.toLocaleString('de-DE') : '–', 'BSR Rank'];
|
||||
if (name === 'BSR') return [typeof value === 'number' ? value.toLocaleString('de-DE') : '–', 'Detail BSR'];
|
||||
if (name === 'Units') return [typeof value === 'number' ? value.toLocaleString('de-DE') : '–', 'Units Sold'];
|
||||
return [value, name];
|
||||
};
|
||||
@@ -149,7 +150,7 @@ export const BSRUnitsCorrelationChart: React.FC<Props> = ({ bsrData, combinedSal
|
||||
<div>
|
||||
<h3 className="text-[17px] font-semibold text-white tracking-wide">BSR vs Units Sold</h3>
|
||||
<p className="text-[13px] text-[#64748b] mt-0.5">
|
||||
Weekly correlation · {currentYear} · Top-level category BSR
|
||||
Weekly correlation · {currentYear} · Detail category BSR
|
||||
</p>
|
||||
</div>
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user