Skip to main content

default

chainalign-backend


chainalign-backend / services/SKUSegmentationService / default

Variable: default

default: object

Defined in: services/SKUSegmentationService.js:342

Type Declaration

batchSegmentSKUs()

batchSegmentSKUs: (skus) => Promise<any[]>

Batch segment multiple SKUs

Parameters

skus

any[]

Array of SKU data objects

Returns

Promise<any[]>

Array of segmentation results

calculateDataQualityScore()

calculateDataQualityScore: (params) => number

Calculate data quality score (0-1)

Components:

  • Completeness: (1 - fraction of missing/null values)
  • Freshness: max(0, 1 - days_since_last_update / 30)
  • Consistency: 1 - min(1, CV / 3)
  • Outlier Score: (1 - fraction of outliers) where outliers are > 3 std deviations

Final score: 0.3 * completeness + 0.2 * freshness + 0.3 * consistency + 0.2 * outlier_score

Parameters

params
demandHistory

number[]

Historical demand (may contain nulls)

lastUpdated

Date

Timestamp of last data update

Returns

number

Data quality score (0-1)

classifySKU()

classifySKU: (demandHistory) => any

Classify SKU into demand segment

Decision tree:

  1. Check for trend (ramp-up or phase-out) - R² > 0.7
  2. Check for sparse demand - intermittence > 0.4 OR CV > 1.5
  3. Check for regular demand - CV < 0.5
  4. Default to irregular

Parameters

demandHistory

number[]

Historical demand values

Returns

any

{ segment, confidence, metrics }

segmentSKU()

segmentSKU: (params) => any

Segment and score a single SKU

Parameters

params
demandHistory

number[]

Historical demand values

lastUpdated

Date

Last update timestamp

skuId

string

SKU identifier

tenantId

string

Tenant identifier

Returns

any

Segmentation result