[**@s4ai/core Documentation v0.3.23**](../../../../README.md)

***

[@s4ai/core Documentation](../../../../modules.md) / [@s4ai/core/business](../README.md) / CLVOptimizer

# Class: CLVOptimizer

Defined in: business/clv-optimizer.js:8

## Constructors

### Constructor

> **new CLVOptimizer**(): `CLVOptimizer`

Defined in: business/clv-optimizer.js:9

#### Returns

`CLVOptimizer`

## Properties

### defaultChurnRate

> **defaultChurnRate**: `number`

Defined in: business/clv-optimizer.js:10

***

### defaultMargin

> **defaultMargin**: `number`

Defined in: business/clv-optimizer.js:11

## Methods

### calculateARPU()

> **calculateARPU**(`revenueHistory`, `months?`): `number`

Defined in: business/clv-optimizer.js:51

#### Parameters

##### revenueHistory

`any`

##### months?

`number` = `6`

#### Returns

`number`

***

### calculateCLV()

> **calculateCLV**(`userId`): `Promise`\<\{ `arpu`: `number`; `churn_rate`: `number`; `clv`: `number`; `confidence`: `number`; `retention_months`: `number`; `user_id`: `any`; \}\>

Defined in: business/clv-optimizer.js:57

#### Parameters

##### userId

`any`

#### Returns

`Promise`\<\{ `arpu`: `number`; `churn_rate`: `number`; `clv`: `number`; `confidence`: `number`; `retention_months`: `number`; `user_id`: `any`; \}\>

***

### getChurnRate()

> **getChurnRate**(`userId`): `Promise`\<`number`\>

Defined in: business/clv-optimizer.js:33

#### Parameters

##### userId

`any`

#### Returns

`Promise`\<`number`\>

***

### getRevenueHistory()

> **getRevenueHistory**(`userId`, `lookbackDays?`): `Promise`\<`any`\>

Defined in: business/clv-optimizer.js:14

#### Parameters

##### userId

`any`

##### lookbackDays?

`number` = `180`

#### Returns

`Promise`\<`any`\>

***

### getSegmentCLV()

> **getSegmentCLV**(): `Promise`\<`any`\>

Defined in: business/clv-optimizer.js:102

#### Returns

`Promise`\<`any`\>

***

### recordSnapshot()

> **recordSnapshot**(`userId`, `snapshot`): `Promise`\<`void`\>

Defined in: business/clv-optimizer.js:85

#### Parameters

##### userId

`any`

##### snapshot

`any`

#### Returns

`Promise`\<`void`\>
