fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Arithmetic Mean

Install and import#

bash
npm install fintech-algorithms
ts
import { arithmeticMean } from "fintech-algorithms/foundations/location-ranking-and-exploratory-summaries/arithmetic-mean";

Signature#

arithmeticMean(input)

Divides the sum of a numeric series by the number of observations and reports both the mean and the count it was divided by.

Parameters#

NameTypeNotes
input{ values: number[] }The observations to average, under the key values. Entries are coerced with Number, and every one must be finite.

Returns#

{ mean: number; count: number }

mean is the arithmetic average and count is the divisor used, so the reader can see how many observations stand behind the number.

Errors#

  • When input is null, an array, or not an object — throws TypeError
  • When values is missing, is not an array, or is empty — throws RangeError
  • When any entry of values does not coerce to a finite number — throws RangeError

Complexity: time O(n log n), space O(n).

Worked example#

verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.

Input#

input
{
  "values": [1, 2, 2, 4, 9],
  "weights": [1, 1, 2, 1, 1],
  "trimProportion": 0.2,
  "bins": 4
}

Call#

arithmeticMean(input)

Returns#

object with 2 fields: mean, count

{
  "mean": 3.6,
  "count": 5
}

Diagrams#

Arithmetic Mean — article hero
Arithmetic Mean — calculation ledger
Arithmetic Mean — comparison map
Arithmetic Mean — concept anatomy
Arithmetic Mean — mistake contrast
Arithmetic Mean — scenario map

How it works#

This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.

Read the article →

References#

  • Measures of Location
  • Historical-example decision

The rest of the Location, Ranking, and Exploratory Summaries family#