UNPKG

@rsc-labs/medusa-store-analytics

Version:
55 lines (54 loc) 2.14 kB
import { OrderStatus, TransactionBaseService } from "@medusajs/medusa"; type CustomersHistory = { customerCount: string; date: string; }; export type CustomersHistoryResult = { dateRangeFrom?: number; dateRangeTo?: number; dateRangeFromCompareTo?: number; dateRangeToCompareTo?: number; current: CustomersHistory[]; previous: CustomersHistory[]; }; type CustomersCounts = { dateRangeFrom?: number; dateRangeTo?: number; dateRangeFromCompareTo?: number; dateRangeToCompareTo?: number; current: number; previous: number; }; type Distributions = { returnCustomerRate?: number; orderOneTimeFrequency?: number; orderRepeatFrequency?: number; }; type CustomersOrdersDistribution = { dateRangeFrom?: number; dateRangeTo?: number; dateRangeFromCompareTo?: number; dateRangeToCompareTo?: number; current: Distributions; previous: Distributions; }; type CustomersRetentionRate = { dateRangeFrom?: number; dateRangeTo?: number; dateRangeFromCompareTo?: number; dateRangeToCompareTo?: number; current: number; previous: number; }; export default class CustomersAnalyticsService extends TransactionBaseService { private readonly customerService; private readonly orderService; constructor(container: any); getHistory(from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<CustomersHistoryResult>; getNewCount(from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<CustomersCounts>; getNumberOfReturningCustomers(): Promise<number>; getRepeatCustomerRate(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<CustomersOrdersDistribution>; getCumulativeHistory(from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<CustomersHistoryResult>; getRetentionRate(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<CustomersRetentionRate>; } export {};