mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 15:45:24 +02:00
Fix Forecast Seasonality: Process weights using global data even when filtered
This commit is contained in:
@@ -246,7 +246,7 @@ const App: React.FC = () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const viewData = calculateForecastViewData(sales, fcRecords, meta, activeFilters, velocityMap);
|
const viewData = calculateForecastViewData(sales, fcRecords, meta, activeFilters, velocityMap, globalSales.length > 0 ? globalSales : undefined);
|
||||||
setForecastData(viewData);
|
setForecastData(viewData);
|
||||||
console.log('[App] Forecast calculation complete:', viewData.length, 'records');
|
console.log('[App] Forecast calculation complete:', viewData.length, 'records');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -1638,10 +1638,13 @@ export const calculateForecastViewData = (
|
|||||||
forecastData: ForecastRecord[],
|
forecastData: ForecastRecord[],
|
||||||
asinMetadata: Map<string, { sku: string; title: string; line: string }>,
|
asinMetadata: Map<string, { sku: string; title: string; line: string }>,
|
||||||
filters?: FilterState,
|
filters?: FilterState,
|
||||||
velocityMap?: Map<string, number>
|
velocityMap?: Map<string, number>,
|
||||||
|
referenceData?: SalesRecord[] // NEW: Full dataset for global seasonality context
|
||||||
): ProductForecastData[] => {
|
): ProductForecastData[] => {
|
||||||
const data2025 = rawData.filter(r => r.year === 2025);
|
// Use referenceData if provided (for global weights), otherwise fallback to rawData
|
||||||
const data2026 = rawData.filter(r => r.year === 2026);
|
const seasonalitySource = referenceData || rawData;
|
||||||
|
const data2025 = seasonalitySource.filter(r => r.year === 2025);
|
||||||
|
const data2026 = seasonalitySource.filter(r => r.year === 2026);
|
||||||
|
|
||||||
// Calculate Seasonality weights for 2025
|
// Calculate Seasonality weights for 2025
|
||||||
const getWeightsInfo = (records: SalesRecord[]): { weights: number[]; monthsCount: number } | null => {
|
const getWeightsInfo = (records: SalesRecord[]): { weights: number[]; monthsCount: number } | null => {
|
||||||
|
|||||||
Reference in New Issue
Block a user