# ABC Analysis

## Curve

The basis for the ABC analysis is the ABCcurve struct. This curve is similar to the Lorenz curve and represents the effort of an element and its its relative cumulative yield in decreasing order of gain.

CalculatedABC.ABCcurveType
ABCcurve(data::Vector{<:Real})

Construct an ABCcurve from the given data.

Fields

• effort::AbstractRange: The effort as equidistant steps between 0 and 1.
• yield::Vector: The cumulative relative yield.
• interpolation::AbstractInterpolation: A cubic spline interpolation of the curve.

## Analysis

An ABCanalysis struct takes either a data array or a previously calculated ABCcurve. It determines three points important for further analysis, the Pareto point, Break Even point and the Submarginal point. If you provide the raw data, it also gives back the indices of the elements in the sets A, B and C. For both curve and data input there are also convenience constructors ABCanalysis.

CalculatedABC.ABCanalysis4CurveType
ABCanalysis4Curve(curve::ABCcurve) <: ABCanalysis

Calculate an ABC analysis for the given curve.

Fields

• pareto: Nearest point to a theoretically ideal Break Even point.
• break_even: Point on the curve where the gain ($dABC$) is 1.
• demark_AB Point on the curve at which most of the yield is already obtained; the smaller of the Pareto and Break Even points. Demarkation between A and B.
• submarginal: Point on the curve after which the gain can be considered trivial. Demarkation between B and C.
• curve: The given curve. Used for plotting.
CalculatedABC.ABCanalysis4DataType
ABCanalysis4Data(data::Vector{<:Real}) <: ABCanalysis

Calculate an ABC analysis for the given data.

Fields

Extends ABCanalysis4Curve with:

• a_indices: Indices of elements in the A set.
• b_indices: Indices of elements in the B set.
• c_indices: Indices of elements in the C set.