Add RFM segmentation analytics
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m12s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m12s
This commit is contained in:
38
src/types.ts
38
src/types.ts
@@ -40,6 +40,44 @@ export interface DashboardAnalytics {
|
||||
}>;
|
||||
}
|
||||
|
||||
export interface RfmClient {
|
||||
name: string;
|
||||
phone: string;
|
||||
monetary: number;
|
||||
frequency: number;
|
||||
quantityPurchased: number;
|
||||
lastPurchaseDate: string;
|
||||
recencyDays: number;
|
||||
recencyScore: 1 | 2 | 3;
|
||||
frequencyScore: 1 | 2 | 3;
|
||||
monetaryScore: 1 | 2 | 3;
|
||||
valueScore: 1 | 2 | 3;
|
||||
rfmScore: string;
|
||||
segmentKey: string;
|
||||
segmentLabel: string;
|
||||
}
|
||||
|
||||
export interface RfmSegment {
|
||||
key: string;
|
||||
label: string;
|
||||
count: number;
|
||||
totalRevenue: number;
|
||||
averageRevenue: number;
|
||||
}
|
||||
|
||||
export interface RfmAnalytics {
|
||||
range: {
|
||||
start: string | null;
|
||||
end: string | null;
|
||||
};
|
||||
clients: RfmClient[];
|
||||
segments: RfmSegment[];
|
||||
matrix: {
|
||||
recencyScores: number[];
|
||||
valueScores: number[];
|
||||
};
|
||||
}
|
||||
|
||||
export type CampaignStatus = 'pending' | 'processing' | 'sent' | 'failed' | 'skipped';
|
||||
|
||||
export interface CampaignQueueItem {
|
||||
|
||||
Reference in New Issue
Block a user