ABC Analysis


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.


Construct an ABCcurve from the given data.


  • 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.


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.

ABCanalysis4Curve(curve::ABCcurve) <: ABCanalysis

Calculate an ABC analysis for the given curve.


  • 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.
ABCanalysis4Data(data::Vector{<:Real}) <: ABCanalysis

Calculate an ABC analysis for the given data.


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.