@optima-chat/bi-cli 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/analytics.d.ts.map +1 -1
- package/dist/commands/analytics.js +89 -14
- package/dist/commands/analytics.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +14 -6
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/product.d.ts.map +1 -1
- package/dist/commands/product.js +77 -13
- package/dist/commands/product.js.map +1 -1
- package/dist/commands/sales.d.ts.map +1 -1
- package/dist/commands/sales.js +24 -4
- package/dist/commands/sales.js.map +1 -1
- package/dist/commands/traffic.d.ts.map +1 -1
- package/dist/commands/traffic.js +110 -22
- package/dist/commands/traffic.js.map +1 -1
- package/dist/commands/trends.d.ts.map +1 -1
- package/dist/commands/trends.js +80 -13
- package/dist/commands/trends.js.map +1 -1
- package/dist/index.js +19 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/analytics.ts +98 -17
- package/src/commands/auth.ts +18 -6
- package/src/commands/product.ts +87 -13
- package/src/commands/sales.ts +28 -4
- package/src/commands/traffic.ts +122 -22
- package/src/commands/trends.ts +90 -13
- package/src/index.ts +21 -9
package/dist/commands/traffic.js
CHANGED
|
@@ -15,14 +15,39 @@ function formatDuration(seconds) {
|
|
|
15
15
|
return mins > 0 ? `${mins}m ${secs}s` : `${secs}s`;
|
|
16
16
|
}
|
|
17
17
|
export function createTrafficCommand() {
|
|
18
|
-
const traffic = new Command('traffic').description(
|
|
18
|
+
const traffic = new Command('traffic').description(`Traffic analytics.
|
|
19
|
+
|
|
20
|
+
Analyze website visits, traffic sources, conversion funnels, search keywords.`);
|
|
19
21
|
// traffic overview
|
|
20
22
|
traffic
|
|
21
23
|
.command('overview')
|
|
22
|
-
.description(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
.description(`Traffic overview.
|
|
25
|
+
|
|
26
|
+
Get page views, unique visitors, sessions, and comparison with previous period.
|
|
27
|
+
|
|
28
|
+
Returns JSON:
|
|
29
|
+
{
|
|
30
|
+
"period": { "start": "2024-01-01", "end": "2024-01-30", "days": 30 },
|
|
31
|
+
"summary": {
|
|
32
|
+
"page_views": 10000,
|
|
33
|
+
"unique_visitors": 3000,
|
|
34
|
+
"sessions": 5000,
|
|
35
|
+
"avg_session_duration": 180, // seconds
|
|
36
|
+
"bounce_rate": 0.35 // 35%
|
|
37
|
+
},
|
|
38
|
+
"comparison": {
|
|
39
|
+
"page_views_change": 0.15, // +15%
|
|
40
|
+
"unique_visitors_change": 0.10
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
Examples:
|
|
45
|
+
bi-cli traffic overview # Last 30 days, all pages
|
|
46
|
+
bi-cli traffic overview --days 7 # Last 7 days
|
|
47
|
+
bi-cli traffic overview --product <uuid> # Filter by product`)
|
|
48
|
+
.option('--days <number>', 'Number of days (range: 1-365, default: 30)', '30')
|
|
49
|
+
.option('--product <id>', 'Filter by product ID (UUID format)')
|
|
50
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
26
51
|
.action(async (options) => {
|
|
27
52
|
const cfg = getConfig();
|
|
28
53
|
if (!cfg.accessToken) {
|
|
@@ -63,10 +88,27 @@ export function createTrafficCommand() {
|
|
|
63
88
|
// traffic sources
|
|
64
89
|
traffic
|
|
65
90
|
.command('sources')
|
|
66
|
-
.description(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
91
|
+
.description(`Traffic source analysis.
|
|
92
|
+
|
|
93
|
+
Analyze visitor sources (Google, WeChat, direct, etc.).
|
|
94
|
+
|
|
95
|
+
Returns JSON:
|
|
96
|
+
{
|
|
97
|
+
"sources": [
|
|
98
|
+
{
|
|
99
|
+
"source": "google",
|
|
100
|
+
"medium": "organic",
|
|
101
|
+
"visitors": 1000,
|
|
102
|
+
"page_views": 3000,
|
|
103
|
+
"percentage": 0.35 // 35%
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
Use case: Evaluate channel effectiveness, optimize marketing spend.`)
|
|
109
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
110
|
+
.option('--limit <number>', 'Number of results (default: 10)', '10')
|
|
111
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
70
112
|
.action(async (options) => {
|
|
71
113
|
const cfg = getConfig();
|
|
72
114
|
if (!cfg.accessToken) {
|
|
@@ -103,10 +145,26 @@ export function createTrafficCommand() {
|
|
|
103
145
|
// traffic funnel
|
|
104
146
|
traffic
|
|
105
147
|
.command('funnel')
|
|
106
|
-
.description(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
148
|
+
.description(`Conversion funnel analysis.
|
|
149
|
+
|
|
150
|
+
Analyze user journey from visit to purchase:
|
|
151
|
+
Visit → View Product → Add to Cart → Checkout → Purchase
|
|
152
|
+
|
|
153
|
+
Returns JSON:
|
|
154
|
+
{
|
|
155
|
+
"funnel": [
|
|
156
|
+
{ "step": "page_view", "count": 10000, "rate": 1.0, "conversion": 1.0 },
|
|
157
|
+
{ "step": "product_view", "count": 5000, "rate": 0.5, "conversion": 0.5 },
|
|
158
|
+
{ "step": "add_to_cart", "count": 1000, "rate": 0.1, "conversion": 0.2 },
|
|
159
|
+
{ "step": "checkout", "count": 500, "rate": 0.05, "conversion": 0.5 },
|
|
160
|
+
{ "step": "purchase", "count": 300, "rate": 0.03, "conversion": 0.6 }
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
Note: rate = ratio from start, conversion = conversion from previous step.`)
|
|
165
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
166
|
+
.option('--product <id>', 'Filter by product ID (UUID format)')
|
|
167
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
110
168
|
.action(async (options) => {
|
|
111
169
|
const cfg = getConfig();
|
|
112
170
|
if (!cfg.accessToken) {
|
|
@@ -141,11 +199,25 @@ export function createTrafficCommand() {
|
|
|
141
199
|
// traffic search
|
|
142
200
|
traffic
|
|
143
201
|
.command('search')
|
|
144
|
-
.description(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
202
|
+
.description(`Site search analytics.
|
|
203
|
+
|
|
204
|
+
Analyze search keywords, result counts, and click-through rates.
|
|
205
|
+
|
|
206
|
+
Returns JSON:
|
|
207
|
+
{
|
|
208
|
+
"searches": [
|
|
209
|
+
{ "query": "dress", "count": 500, "avg_results": 25, "click_rate": 0.65 }
|
|
210
|
+
],
|
|
211
|
+
"zero_results": [
|
|
212
|
+
{ "query": "nonexistent product", "count": 10 }
|
|
213
|
+
]
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
Use case: Optimize product titles, add missing products, improve search.`)
|
|
217
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
218
|
+
.option('--limit <number>', 'Number of results (default: 20)', '20')
|
|
219
|
+
.option('--zero-results', 'Show only zero-result queries')
|
|
220
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
149
221
|
.action(async (options) => {
|
|
150
222
|
const cfg = getConfig();
|
|
151
223
|
if (!cfg.accessToken) {
|
|
@@ -188,10 +260,26 @@ export function createTrafficCommand() {
|
|
|
188
260
|
// traffic pages
|
|
189
261
|
traffic
|
|
190
262
|
.command('pages')
|
|
191
|
-
.description(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
263
|
+
.description(`Top pages analysis.
|
|
264
|
+
|
|
265
|
+
View most popular pages sorted by page views.
|
|
266
|
+
|
|
267
|
+
Returns JSON:
|
|
268
|
+
{
|
|
269
|
+
"pages": [
|
|
270
|
+
{
|
|
271
|
+
"path": "/products/xxx",
|
|
272
|
+
"page_views": 5000,
|
|
273
|
+
"unique_visitors": 2000,
|
|
274
|
+
"sessions": 3000
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
Use case: Understand browsing patterns, optimize popular page experience.`)
|
|
280
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
281
|
+
.option('--limit <number>', 'Number of results (default: 20)', '20')
|
|
282
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
195
283
|
.action(async (options) => {
|
|
196
284
|
const cfg = getConfig();
|
|
197
285
|
if (!cfg.accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/commands/traffic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoDnF,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/commands/traffic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trends.d.ts","sourceRoot":"","sources":["../../src/commands/trends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+EpC,wBAAgB,mBAAmB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"trends.d.ts","sourceRoot":"","sources":["../../src/commands/trends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+EpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgV7C"}
|
package/dist/commands/trends.js
CHANGED
|
@@ -3,14 +3,34 @@ import axios from 'axios';
|
|
|
3
3
|
import { getConfig } from '../config/index.js';
|
|
4
4
|
import { outputJson, outputPretty, error, OutputFormat, info } from '../utils/output.js';
|
|
5
5
|
export function createTrendsCommand() {
|
|
6
|
-
const trends = new Command('trends').description(
|
|
6
|
+
const trends = new Command('trends').description(`Trend analytics.
|
|
7
|
+
|
|
8
|
+
Analyze revenue trends, order heatmaps, seasonality, and forecasts.`);
|
|
7
9
|
// trends revenue
|
|
8
10
|
trends
|
|
9
11
|
.command('revenue')
|
|
10
|
-
.description(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
.description(`Revenue trend analysis.
|
|
13
|
+
|
|
14
|
+
View revenue over time with hourly/daily/weekly aggregation and 7-day moving average.
|
|
15
|
+
|
|
16
|
+
Returns JSON:
|
|
17
|
+
{
|
|
18
|
+
"statistics": {
|
|
19
|
+
"total_revenue": number,
|
|
20
|
+
"avg_revenue": number,
|
|
21
|
+
"trend_direction": "up" | "down" | "stable"
|
|
22
|
+
},
|
|
23
|
+
"trend": [
|
|
24
|
+
{ "period": "2024-01-01", "revenue": 1000, "orders": 50, "moving_avg_7": 950 }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Examples:
|
|
29
|
+
bi-cli trends revenue # Last 30 days, daily
|
|
30
|
+
bi-cli trends revenue --days 7 --granularity hourly # Last 7 days, hourly`)
|
|
31
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
32
|
+
.option('--granularity <type>', 'Time granularity: hourly | daily | weekly', 'daily')
|
|
33
|
+
.option('--pretty', 'Output as table')
|
|
14
34
|
.action(async (options) => {
|
|
15
35
|
const cfg = getConfig();
|
|
16
36
|
if (!cfg.accessToken) {
|
|
@@ -63,9 +83,23 @@ export function createTrendsCommand() {
|
|
|
63
83
|
// trends heatmap
|
|
64
84
|
trends
|
|
65
85
|
.command('heatmap')
|
|
66
|
-
.description(
|
|
67
|
-
|
|
68
|
-
|
|
86
|
+
.description(`Orders heatmap by day and hour.
|
|
87
|
+
|
|
88
|
+
Analyze order distribution by day of week and hour to find peak times.
|
|
89
|
+
|
|
90
|
+
Returns JSON:
|
|
91
|
+
{
|
|
92
|
+
"heatmap": [
|
|
93
|
+
{ "day": "Monday", "hours": [ { "hour": 10, "orders": 15, "revenue": 500 }, ... ] }
|
|
94
|
+
],
|
|
95
|
+
"peak_times": [
|
|
96
|
+
{ "day": "Saturday", "hour": "14:00-15:00", "orders": 25 }
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
Use case: Optimize marketing timing, schedule customer service staff.`)
|
|
101
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
102
|
+
.option('--pretty', 'Output as table')
|
|
69
103
|
.action(async (options) => {
|
|
70
104
|
const cfg = getConfig();
|
|
71
105
|
if (!cfg.accessToken) {
|
|
@@ -115,8 +149,24 @@ export function createTrendsCommand() {
|
|
|
115
149
|
// trends seasonality
|
|
116
150
|
trends
|
|
117
151
|
.command('seasonality')
|
|
118
|
-
.description(
|
|
119
|
-
|
|
152
|
+
.description(`Monthly/seasonal pattern analysis.
|
|
153
|
+
|
|
154
|
+
Analyze sales by month to identify peak and low seasons.
|
|
155
|
+
|
|
156
|
+
Returns JSON:
|
|
157
|
+
{
|
|
158
|
+
"monthly_pattern": [
|
|
159
|
+
{ "month": 1, "month_name": "January", "revenue": 50000, "orders": 500, "index": 120 }
|
|
160
|
+
],
|
|
161
|
+
"insights": {
|
|
162
|
+
"peak_months": ["December", "November"],
|
|
163
|
+
"low_months": ["February"],
|
|
164
|
+
"avg_monthly_revenue": 45000
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
Note: index is percentage relative to average (>100 = above average).`)
|
|
169
|
+
.option('--pretty', 'Output as table')
|
|
120
170
|
.action(async (options) => {
|
|
121
171
|
const cfg = getConfig();
|
|
122
172
|
if (!cfg.accessToken) {
|
|
@@ -160,9 +210,26 @@ export function createTrendsCommand() {
|
|
|
160
210
|
// trends forecast
|
|
161
211
|
trends
|
|
162
212
|
.command('forecast')
|
|
163
|
-
.description(
|
|
164
|
-
|
|
165
|
-
|
|
213
|
+
.description(`Revenue forecast.
|
|
214
|
+
|
|
215
|
+
Predict future revenue based on historical data, considering trends and day-of-week patterns.
|
|
216
|
+
|
|
217
|
+
Returns JSON:
|
|
218
|
+
{
|
|
219
|
+
"trend": { "direction": "up", "daily_change": 50.5 },
|
|
220
|
+
"forecast": [
|
|
221
|
+
{ "date": "2024-01-15", "day_of_week": "Monday", "predicted_revenue": 5000, "confidence": "medium" }
|
|
222
|
+
],
|
|
223
|
+
"disclaimer": "For reference only..."
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
Note: Forecast based on simple linear model, for reference only.
|
|
227
|
+
|
|
228
|
+
Examples:
|
|
229
|
+
bi-cli trends forecast # Forecast next 7 days
|
|
230
|
+
bi-cli trends forecast --days 14 # Forecast next 14 days`)
|
|
231
|
+
.option('--days <number>', 'Days to forecast (default: 7)', '7')
|
|
232
|
+
.option('--pretty', 'Output as table')
|
|
166
233
|
.action(async (options) => {
|
|
167
234
|
const cfg = getConfig();
|
|
168
235
|
if (!cfg.accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trends.js","sourceRoot":"","sources":["../../src/commands/trends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA4EzF,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"trends.js","sourceRoot":"","sources":["../../src/commands/trends.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,17 @@ const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-
|
|
|
16
16
|
const program = new Command();
|
|
17
17
|
program
|
|
18
18
|
.name('bi-cli')
|
|
19
|
-
.description(
|
|
19
|
+
.description(`Optima BI CLI - E-commerce business intelligence tool for LLM agents.
|
|
20
|
+
|
|
21
|
+
IMPORTANT: Run 'bi-cli auth login' first to authenticate before using other commands.
|
|
22
|
+
|
|
23
|
+
Output: All commands output JSON by default (for programmatic parsing). Use --pretty for human-readable tables.
|
|
24
|
+
|
|
25
|
+
Common use cases:
|
|
26
|
+
- Get sales data → bi-cli sales get --days 7
|
|
27
|
+
- Top selling products → bi-cli product best-sellers --limit 10
|
|
28
|
+
- Revenue trends → bi-cli trends revenue --days 30
|
|
29
|
+
- Compare periods → bi-cli analytics compare --days 7`)
|
|
20
30
|
.version(pkg.version);
|
|
21
31
|
// Auth commands
|
|
22
32
|
program.addCommand(createAuthCommand());
|
|
@@ -33,30 +43,30 @@ program.addCommand(createTrafficCommand());
|
|
|
33
43
|
// Config commands (placeholder)
|
|
34
44
|
program
|
|
35
45
|
.command('config')
|
|
36
|
-
.description('
|
|
46
|
+
.description('[NOT IMPLEMENTED] Configuration management')
|
|
37
47
|
.action(() => {
|
|
38
|
-
console.log('
|
|
48
|
+
console.log('This feature is not yet implemented');
|
|
39
49
|
});
|
|
40
50
|
// Customer commands (placeholder)
|
|
41
51
|
program
|
|
42
52
|
.command('customer')
|
|
43
|
-
.description('Customer analytics')
|
|
53
|
+
.description('[NOT IMPLEMENTED] Customer analytics')
|
|
44
54
|
.action(() => {
|
|
45
|
-
console.log('
|
|
55
|
+
console.log('This feature is not yet implemented');
|
|
46
56
|
});
|
|
47
57
|
// Inventory commands (placeholder)
|
|
48
58
|
program
|
|
49
59
|
.command('inventory')
|
|
50
|
-
.description('Inventory analytics')
|
|
60
|
+
.description('[NOT IMPLEMENTED] Inventory analytics')
|
|
51
61
|
.action(() => {
|
|
52
|
-
console.log('
|
|
62
|
+
console.log('This feature is not yet implemented');
|
|
53
63
|
});
|
|
54
64
|
// Platform commands (admin only - placeholder)
|
|
55
65
|
program
|
|
56
66
|
.command('platform')
|
|
57
|
-
.description('Platform analytics (admin only)')
|
|
67
|
+
.description('[NOT IMPLEMENTED] Platform analytics (admin only)')
|
|
58
68
|
.action(() => {
|
|
59
|
-
console.log('
|
|
69
|
+
console.log('This feature is not yet implemented');
|
|
60
70
|
});
|
|
61
71
|
program.parse();
|
|
62
72
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,iCAAiC;AACjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,iCAAiC;AACjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV;;;;;;;;;;wDAUoD,CACrD;KACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,gBAAgB;AAChB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAExC,iBAAiB;AACjB,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEzC,mBAAmB;AACnB,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE3C,kBAAkB;AAClB,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,qBAAqB;AACrB,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAE7C,mBAAmB;AACnB,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE3C,gCAAgC;AAChC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,kCAAkC;AAClC,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,mCAAmC;AACnC,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,+CAA+C;AAC/C,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -72,19 +72,38 @@ interface FunnelResponse {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export function createAnalyticsCommand(): Command {
|
|
75
|
-
const analytics = new Command('analytics').description(
|
|
75
|
+
const analytics = new Command('analytics').description(
|
|
76
|
+
`Advanced analytics.
|
|
77
|
+
|
|
78
|
+
Period comparison, growth analysis, customer cohorts, order funnels.`
|
|
79
|
+
);
|
|
76
80
|
|
|
77
81
|
// analytics compare
|
|
78
82
|
analytics
|
|
79
83
|
.command('compare')
|
|
80
|
-
.description(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
.description(
|
|
85
|
+
`Period comparison analysis.
|
|
86
|
+
|
|
87
|
+
Compare current period with previous period or year-over-year.
|
|
88
|
+
|
|
89
|
+
Returns JSON:
|
|
90
|
+
{
|
|
91
|
+
"current": { "revenue": 10000, "orders": 100, "avg_order_value": 100, "customers": 80 },
|
|
92
|
+
"previous": { "revenue": 8000, "orders": 90, ... },
|
|
93
|
+
"changes": {
|
|
94
|
+
"revenue": { "absolute": 2000, "percentage": 25.0 },
|
|
95
|
+
...
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
Examples:
|
|
100
|
+
bi-cli analytics compare # Last 30 days vs previous 30
|
|
101
|
+
bi-cli analytics compare --days 7 # This week vs last week
|
|
102
|
+
bi-cli analytics compare --compare-to previous_year # Year-over-year`
|
|
86
103
|
)
|
|
87
|
-
.option('--
|
|
104
|
+
.option('--days <number>', 'Number of days to compare (default: 30)', '30')
|
|
105
|
+
.option('--compare-to <type>', 'Compare to: previous_period | previous_year', 'previous_period')
|
|
106
|
+
.option('--pretty', 'Output as table')
|
|
88
107
|
.action(async (options) => {
|
|
89
108
|
const cfg = getConfig();
|
|
90
109
|
if (!cfg.accessToken) {
|
|
@@ -167,10 +186,32 @@ export function createAnalyticsCommand(): Command {
|
|
|
167
186
|
// analytics growth
|
|
168
187
|
analytics
|
|
169
188
|
.command('growth')
|
|
170
|
-
.description(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
189
|
+
.description(
|
|
190
|
+
`Growth trend analysis.
|
|
191
|
+
|
|
192
|
+
View revenue and order growth rates by day/week/month.
|
|
193
|
+
|
|
194
|
+
Returns JSON:
|
|
195
|
+
{
|
|
196
|
+
"trends": [
|
|
197
|
+
{
|
|
198
|
+
"period": "2024-01-01",
|
|
199
|
+
"revenue": 5000,
|
|
200
|
+
"orders": 50,
|
|
201
|
+
"customers": 40,
|
|
202
|
+
"revenue_growth": 15.5 // Growth rate vs previous period (%), null for first
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
Examples:
|
|
208
|
+
bi-cli analytics growth # Daily, last 30 periods
|
|
209
|
+
bi-cli analytics growth --period weekly # Weekly
|
|
210
|
+
bi-cli analytics growth --period monthly --limit 12 # Monthly, last 12 months`
|
|
211
|
+
)
|
|
212
|
+
.option('--period <type>', 'Period type: daily | weekly | monthly', 'daily')
|
|
213
|
+
.option('--limit <number>', 'Number of periods (default: 30)', '30')
|
|
214
|
+
.option('--pretty', 'Output as table')
|
|
174
215
|
.action(async (options) => {
|
|
175
216
|
const cfg = getConfig();
|
|
176
217
|
if (!cfg.accessToken) {
|
|
@@ -221,8 +262,27 @@ export function createAnalyticsCommand(): Command {
|
|
|
221
262
|
// analytics cohort
|
|
222
263
|
analytics
|
|
223
264
|
.command('cohort')
|
|
224
|
-
.description(
|
|
225
|
-
|
|
265
|
+
.description(
|
|
266
|
+
`Customer cohort analysis.
|
|
267
|
+
|
|
268
|
+
Group customers by first purchase month and analyze lifetime value (LTV).
|
|
269
|
+
|
|
270
|
+
Returns JSON:
|
|
271
|
+
{
|
|
272
|
+
"cohorts": [
|
|
273
|
+
{
|
|
274
|
+
"month": "2024-01",
|
|
275
|
+
"customers": 100, // New customers in this month
|
|
276
|
+
"avg_lifetime_value": 500, // Average customer lifetime value
|
|
277
|
+
"avg_orders": 2.5, // Average orders per customer
|
|
278
|
+
"total_revenue": 50000 // Total revenue from this cohort
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
Use case: Evaluate customer acquisition quality, optimize marketing strategy.`
|
|
284
|
+
)
|
|
285
|
+
.option('--pretty', 'Output as table')
|
|
226
286
|
.action(async (options) => {
|
|
227
287
|
const cfg = getConfig();
|
|
228
288
|
if (!cfg.accessToken) {
|
|
@@ -270,9 +330,30 @@ export function createAnalyticsCommand(): Command {
|
|
|
270
330
|
// analytics funnel
|
|
271
331
|
analytics
|
|
272
332
|
.command('funnel')
|
|
273
|
-
.description(
|
|
274
|
-
|
|
275
|
-
|
|
333
|
+
.description(
|
|
334
|
+
`Order status funnel analysis.
|
|
335
|
+
|
|
336
|
+
Analyze conversion rates and drop-offs from order creation to delivery.
|
|
337
|
+
|
|
338
|
+
Returns JSON:
|
|
339
|
+
{
|
|
340
|
+
"total_orders": 1000,
|
|
341
|
+
"conversion_rate": 85.5, // Final completion rate (%)
|
|
342
|
+
"funnel": [
|
|
343
|
+
{ "stage": "pending", "count": 1000, "amount": 100000, "percentage": 100 },
|
|
344
|
+
{ "stage": "paid", "count": 950, "amount": 95000, "percentage": 95 },
|
|
345
|
+
{ "stage": "shipped", "count": 900, "amount": 90000, "percentage": 90 },
|
|
346
|
+
{ "stage": "delivered", "count": 855, "amount": 85500, "percentage": 85.5 }
|
|
347
|
+
],
|
|
348
|
+
"dropoffs": [
|
|
349
|
+
{ "status": "cancelled", "count": 50, "amount": 5000, "percentage": 5 }
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
Use case: Identify order drop-off points, optimize fulfillment process.`
|
|
354
|
+
)
|
|
355
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
356
|
+
.option('--pretty', 'Output as table')
|
|
276
357
|
.action(async (options) => {
|
|
277
358
|
const cfg = getConfig();
|
|
278
359
|
if (!cfg.accessToken) {
|