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

***

[@s4ai/core Documentation](../../../modules.md) / [business/autonomous-revenue-optimizer](../README.md) / PricingStrategy

# Class: PricingStrategy

Defined in: business/autonomous-revenue-optimizer.js:7

## Extends

- [`Revenue`](../../../@s4ai/core/business/variables/Revenue.md)

## Constructors

### Constructor

> **new PricingStrategy**(`productId`, `basePrice`, `config?`): `PricingStrategy`

Defined in: business/autonomous-revenue-optimizer.js:8

#### Parameters

##### productId

`any`

##### basePrice

`any`

##### config?

#### Returns

`PricingStrategy`

#### Overrides

`EventEmitter.constructor`

## Properties

### basePrice

> **basePrice**: `any`

Defined in: business/autonomous-revenue-optimizer.js:11

***

### currentPrice

> **currentPrice**: `any`

Defined in: business/autonomous-revenue-optimizer.js:12

***

### elasticity

> **elasticity**: `any`

Defined in: business/autonomous-revenue-optimizer.js:15

***

### maxPrice

> **maxPrice**: `any`

Defined in: business/autonomous-revenue-optimizer.js:14

***

### minPrice

> **minPrice**: `any`

Defined in: business/autonomous-revenue-optimizer.js:13

***

### optimizationStrategy

> **optimizationStrategy**: `any`

Defined in: business/autonomous-revenue-optimizer.js:18

***

### performanceHistory

> **performanceHistory**: `any`[]

Defined in: business/autonomous-revenue-optimizer.js:17

***

### productId

> **productId**: `any`

Defined in: business/autonomous-revenue-optimizer.js:10

***

### variants

> **variants**: `any`[]

Defined in: business/autonomous-revenue-optimizer.js:16

## Methods

### calculateOptimalPrice()

> **calculateOptimalPrice**(`demand`, `inventory`): `object`

Defined in: business/autonomous-revenue-optimizer.js:22

#### Parameters

##### demand

`any`

##### inventory

`any`

#### Returns

`object`

##### basePrice

> **basePrice**: `any`

##### demandFactor

> **demandFactor**: `number`

##### inventoryFactor

> **inventoryFactor**: `number`

##### suggestedPrice

> **suggestedPrice**: `number`

***

### createPriceVariant()

> **createPriceVariant**(`priceMultiplier`): `object`

Defined in: business/autonomous-revenue-optimizer.js:38

#### Parameters

##### priceMultiplier

`any`

#### Returns

`object`

##### conversions

> **conversions**: `number` = `0`

##### createdAt

> **createdAt**: `number`

##### id

> **id**: `string`

##### impressions

> **impressions**: `number` = `0`

##### multiplier

> **multiplier**: `any` = `priceMultiplier`

##### price

> **price**: `number`

##### revenue

> **revenue**: `number` = `0`

##### winner

> **winner**: `boolean` = `false`

***

### determineBestVariant()

> **determineBestVariant**(): `any`

Defined in: business/autonomous-revenue-optimizer.js:85

#### Returns

`any`

***

### getRevenueMetrics()

> **getRevenueMetrics**(): `object`

Defined in: business/autonomous-revenue-optimizer.js:107

#### Returns

`object`

##### avgConversionRate

> **avgConversionRate**: `string`

##### productId

> **productId**: `any`

##### revenuePerImpression

> **revenuePerImpression**: `string`

##### totalConversions

> **totalConversions**: `any`

##### totalImpressions

> **totalImpressions**: `any`

##### totalRevenue

> **totalRevenue**: `any`

##### variantCount

> **variantCount**: `number`

***

### getVariantMetrics()

> **getVariantMetrics**(): `any`[]

Defined in: business/autonomous-revenue-optimizer.js:75

#### Returns

`any`[]

***

### recordConversion()

> **recordConversion**(`variantId`, `amount`): `void`

Defined in: business/autonomous-revenue-optimizer.js:58

#### Parameters

##### variantId

`any`

##### amount

`any`

#### Returns

`void`

***

### recordImpression()

> **recordImpression**(`variantId`): `void`

Defined in: business/autonomous-revenue-optimizer.js:67

#### Parameters

##### variantId

`any`

#### Returns

`void`
