<!-- ZenPays documentation · https://docs.zenpayz.com/docs/api-reference/analytics -->

# Analytics

Access dashboard metrics, revenue trends, reports, and business insights. Access via `zenpays.analytics`.

## Dashboard

### getDashboardOverview

<Tabs groupId="language">
  <TabItem value="javascript" label="JavaScript" default>

```typescript
const overview = await zenpays.analytics.getDashboardOverview('30d')
```

  </TabItem>
  <TabItem value="python" label="Python">

```python
overview = zenpays.analytics.get_dashboard_overview("30d")
```

  </TabItem>
</Tabs>

---

### getBusinessInsights

```typescript
const insights = await zenpays.analytics.getBusinessInsights()
```

---

## Revenue

### getRevenueTrends

```typescript
const trends = await zenpays.analytics.getRevenueTrends('30d', 'day') // granularity: 'hour' | 'day' | 'week' | 'month'
```

---

### getRevenueMetrics

```typescript
const metrics = await zenpays.analytics.getRevenueMetrics('30d')
```

---

## Payments

### getPaymentMethodBreakdown

```typescript
const breakdown = await zenpays.analytics.getPaymentMethodBreakdown('30d')
```

---

### getPaymentStatusDistribution

```typescript
const distribution = await zenpays.analytics.getPaymentStatusDistribution('30d')
```

---

### getRecentPayments

```typescript
const payments = await zenpays.analytics.getRecentPayments(10)
```

---

### getFailedPaymentsAnalysis

```typescript
const analysis = await zenpays.analytics.getFailedPaymentsAnalysis('30d')
```

---

## Customers

### getTopCustomers

```typescript
const customers = await zenpays.analytics.getTopCustomers(10, '30d')
```

---

### getRecentCustomerActivity

```typescript
const activity = await zenpays.analytics.getRecentCustomerActivity(10)
// Returns: [{ customerId, name, lastActivity, type }]
```

---

## Reports

### generateReport

<Tabs groupId="language">
  <TabItem value="javascript" label="JavaScript" default>

```typescript
const report = await zenpays.analytics.generateReport({
  type: 'transactions',
  format: 'pdf',
  startDate: '2024-01-01',
  endDate: '2024-12-31',
  currency: 'INR',
})
```

  </TabItem>
  <TabItem value="python" label="Python">

```python
report = zenpays.analytics.generate_report({
    "type": "transactions",
    "format": "pdf",
    "startDate": "2024-01-01",
    "endDate": "2024-12-31",
    "currency": "INR",
})
```

  </TabItem>
</Tabs>

---

### listReports

```typescript
const { data } = await zenpays.analytics.listReports({ type: 'transactions', limit: 10 })
```

---

### getReport

```typescript
const report = await zenpays.analytics.getReport('rpt_xxx')
```

---

### downloadReport

```typescript
const downloadUrl = await zenpays.analytics.downloadReport('rpt_xxx')
```

---

## Report Schedules

### createReportSchedule

```typescript
const schedule = await zenpays.analytics.createReportSchedule({
  type: 'transactions',
  format: 'csv',
  frequency: 'weekly',
  recipients: ['finance@company.com'],
})
```

---

### listReportSchedules

```typescript
const schedules = await zenpays.analytics.listReportSchedules()
```

---

### updateReportSchedule

```typescript
const updated = await zenpays.analytics.updateReportSchedule('sched_xxx', {
  frequency: 'monthly',
})
```

---

### deleteReportSchedule

```typescript
await zenpays.analytics.deleteReportSchedule('sched_xxx')
```
