Skip to content

E-commerce API Services - Auto-generated Documentation v0.0.0


E-commerce API Services - Auto-generated Documentation / CustomerAnalyticsZeroExpansionService / CustomerAnalyticsZeroExpansionService

Class: CustomerAnalyticsZeroExpansionService

Defined in: CustomerAnalyticsZeroExpansionService.ts:61

Extends

  • BaseAnalyticsService

Constructors

Constructor

new CustomerAnalyticsZeroExpansionService(): CustomerAnalyticsZeroExpansionService

Defined in: CustomerAnalyticsZeroExpansionService.ts:67

Returns

CustomerAnalyticsZeroExpansionService

Overrides

BaseAnalyticsService.constructor

Properties

supabase?

protected optional supabase: SupabaseClient<any, "public", any>

Defined in: base/BaseAnalyticsService.ts:39

Inherited from

BaseAnalyticsService.supabase

Methods

aggregateValues()

protected aggregateValues(data, field, method): number

Defined in: base/BaseAnalyticsService.ts:174

聚合數值陣列

Parameters

data

any[]

數據陣列

field

string

要聚合的欄位

method

聚合方法

"sum" | "avg" | "count" | "max" | "min"

Returns

number

聚合結果

Inherited from

BaseAnalyticsService.aggregateValues


applyDateFilters()

protected applyDateFilters(query, params, dateField): any

Defined in: base/BaseAnalyticsService.ts:89

應用日期篩選到查詢

Parameters

query

any

Supabase 查詢對象

params

DateRangeParams

日期範圍參數

dateField

string = 'created_at'

日期欄位名稱(預設為 created_at)

Returns

any

應用篩選後的查詢

Inherited from

BaseAnalyticsService.applyDateFilters


applyOrdering()

protected applyOrdering(query, orderBy?, direction?): any

Defined in: base/BaseAnalyticsService.ts:132

應用排序到查詢

Parameters

query

any

Supabase 查詢對象

orderBy?

string

排序欄位

direction?

排序方向

"asc" | "desc"

Returns

any

應用排序後的查詢

Inherited from

BaseAnalyticsService.applyOrdering


applyPagination()

protected applyPagination(query, params): any

Defined in: base/BaseAnalyticsService.ts:115

應用分頁到查詢

Parameters

query

any

Supabase 查詢對象

params

PaginationParams

分頁參數

Returns

any

應用分頁後的查詢

Inherited from

BaseAnalyticsService.applyPagination


calculateConversionRate()

protected calculateConversionRate(numerator, denominator): number

Defined in: base/BaseAnalyticsService.ts:205

計算轉換率

Parameters

numerator

number

分子(轉換數量)

denominator

number

分母(總數量)

Returns

number

轉換率百分比

Inherited from

BaseAnalyticsService.calculateConversionRate


calculateCustomerKPIs()

calculateCustomerKPIs(data): object

Defined in: CustomerAnalyticsZeroExpansionService.ts:165

🚀 整合共用分析工具:計算客戶分析關鍵指標 展示如何整合 AnalyticsAggregator 和 BaseAnalyticsService

Parameters

data
churnRates

number[]

customerValues

number[]

orderCounts

number[]

Returns

object

avgValue

avgValue: number

customerDistribution

customerDistribution: object[]

medianValue

medianValue: number

riskLevel

riskLevel: "low" | "medium" | "high"

totalValue

totalValue: number

valueGrowthTrend

valueGrowthTrend: "increasing" | "stable" | "decreasing"


calculatePeriodComparison()

protected calculatePeriodComparison(currentPeriodData, previousPeriodData, valueField): object

Defined in: base/BaseAnalyticsService.ts:148

計算時期比較數據

Parameters

currentPeriodData

any[]

當前時期數據

previousPeriodData

any[]

前一時期數據

valueField

string

要比較的數值欄位

Returns

object

比較結果

change

change: number

current

current: number = currentValue

direction

direction: "stable" | "up" | "down"

growthRate

growthRate: number

previous

previous: number = previousValue

Inherited from

BaseAnalyticsService.calculatePeriodComparison


clearCache()

clearCache(): void

Defined in: CustomerAnalyticsZeroExpansionService.ts:156

🚀 清除所有快取 (可用於偵錯或強制重新載入)

Returns

void


createEmptyAnalyticsResult()

protected createEmptyAnalyticsResult<T>(structure): T

Defined in: CustomerAnalyticsZeroExpansionService.ts:272

🚀 創建空的分析結果結構

Type Parameters

T

T

Parameters

structure

T

Returns

T

Overrides

BaseAnalyticsService.createEmptyAnalyticsResult


exportCustomerAnalyticsBasic()

exportCustomerAnalyticsBasic(params): Promise<ApiResponse<CustomerAnalyticsBasicExportData>>

Defined in: CustomerAnalyticsZeroExpansionService.ts:2170

導出分析數據 - 零擴展版本

Parameters

params

CustomerAnalyticsBasicParams

Returns

Promise<ApiResponse<CustomerAnalyticsBasicExportData>>


formatAnalyticsResponse()

protected formatAnalyticsResponse<T>(data, metadata?): ApiResponse<T>

Defined in: base/BaseAnalyticsService.ts:71

格式化分析響應

Type Parameters

T

T

Parameters

data

T

響應數據

metadata?

Record<string, any>

元數據(如總數、頁數等)

Returns

ApiResponse<T>

標準化響應格式

Inherited from

BaseAnalyticsService.formatAnalyticsResponse


formatCurrency()

protected formatCurrency(value, currency): string

Defined in: base/BaseAnalyticsService.ts:282

格式化貨幣

Parameters

value

number

金額

currency

string = 'NT$'

貨幣符號

Returns

string

格式化的貨幣字符串

Inherited from

BaseAnalyticsService.formatCurrency


formatPercentage()

protected formatPercentage(value, decimals): string

Defined in: base/BaseAnalyticsService.ts:272

格式化百分比

Parameters

value

number

數值

decimals

number = 2

小數位數

Returns

string

格式化的百分比字符串

Inherited from

BaseAnalyticsService.formatPercentage


generatePreviousPeriodRange()

protected generatePreviousPeriodRange(params): DateRangeParams

Defined in: base/BaseAnalyticsService.ts:215

生成前一期間的日期範圍

Parameters

params

DateRangeParams

原始日期參數

Returns

DateRangeParams

前一期間的日期範圍

Inherited from

BaseAnalyticsService.generatePreviousPeriodRange


getCustomerAnalyticsBasic()

getCustomerAnalyticsBasic(params, onProgress?): Promise<ApiResponse<CustomerAnalyticsBasic>>

Defined in: CustomerAnalyticsZeroExpansionService.ts:357

獲取完整的基礎客戶分析數據

🔄 應用層計算流程:

  1. 並行獲取原始數據 (customers, orders, rfm, ltv) - 🏆 新增分頁限制
  2. JavaScript 層進行數據聚合和分析
  3. 計算行為模式、流失風險、價值成長等指標

⚡ 效能特性 (優化後):

  • 適合 < 50K 客戶記錄 (分頁載入減少記憶體使用)
  • 預期回應時間:1-2 秒 (從 3-5秒 優化)
  • 記憶體使用:低到中等 (預設限制 1000 筆記錄)
  • 網路傳輸:減少 70% (欄位篩選 + 分頁)

Parameters

params

CustomerAnalyticsBasicParams

onProgress?

(stage, percentage) => void

Returns

Promise<ApiResponse<CustomerAnalyticsBasic>>


handleError()

protected handleError(error, context): ApiResponse<any>

Defined in: base/BaseAnalyticsService.ts:51

統一的錯誤處理方法

Parameters

error

unknown

錯誤對象

context

string = '分析服務錯誤'

錯誤上下文

Returns

ApiResponse<any>

標準化錯誤響應

Inherited from

BaseAnalyticsService.handleError


logPerformanceMetrics()

protected logPerformanceMetrics(operation, startTime, metadata?): void

Defined in: base/BaseAnalyticsService.ts:324

記錄效能指標

Parameters

operation

string

操作名稱

startTime

number

開始時間

metadata?

Record<string, any>

額外元數據

Returns

void

Inherited from

BaseAnalyticsService.logPerformanceMetrics


processBatches()

protected processBatches<T, R>(data, batchSize, processor): Promise<R[]>

Defined in: base/BaseAnalyticsService.ts:302

批次處理數據

Type Parameters

T

T

R

R

Parameters

data

T[]

數據陣列

batchSize

number

批次大小

processor

(batch) => Promise<R[]>

處理函數

Returns

Promise<R[]>

處理結果

Inherited from

BaseAnalyticsService.processBatches


sanitizeNumericValue()

protected sanitizeNumericValue(value, defaultValue): number

Defined in: base/BaseAnalyticsService.ts:261

清理和驗證數值

Parameters

value

any

原始值

defaultValue

number = 0

預設值

Returns

number

清理後的數值

Inherited from

BaseAnalyticsService.sanitizeNumericValue


validateRequiredParams()

protected validateRequiredParams(params, requiredFields): void

Defined in: base/BaseAnalyticsService.ts:242

驗證必要參數

Parameters

params

Record<string, any>

參數對象

requiredFields

string[]

必要欄位陣列

Returns

void

Throws

如果缺少必要參數則拋出錯誤

Inherited from

BaseAnalyticsService.validateRequiredParams