@universis/percentile-ranking
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

@universis/percentile-ranking

Percentile ranking is a vital part of any student information system. It indicates how well a student performed in comparison to the students in the specific norm group, for example, in the same grade, class, or graduation event. This package implements two ways of calculating the rank, one where all grades have the same coefficient and another where the equal grades have a coefficient of 0.5.

Usage

This can be used with two ways: one with static functions and another with methods.

Static functions

import {Grades, PercentileRanking} from '@universis/percentile-ranking';
let grades: Array<Grades> = [
    {
        student: 1234,
        grade: 0.5
    },
    {
        student: 2345,
        grade: 0.2
    },
    {
        student: 3456,
        grade: 0.1
    }
];
PercentileRanking.simplePercentileCalculation(); // 1, 0.66, 0.33
PercentileRanking.complexPercentileCalculation(); // 0.833, 0.5, 0.166

To calculate the rank of a single item, use the following

import {Grades, PercentileRanking} from '@universis/percentile-ranking';
let grades: Array<Grades> = [
    {
        student: 1234,
        grade: 0.5
    },
    {
        student: 2345,
        grade: 0.2
    },
    {
        student: 3456,
        grade: 0.1
    }
];
PercentileRanking.calculateSingleSimpleRank(grades, grades[0]); // 1
PercentileRanking.calculateSingleComplexRank(grades, grades[0]); // 0.833

Class methods

import {Grades, PercentileRanking} from '@universis/percentile-ranking';
let grades: Array<Grades> = [
    {
        student: 1234,
        grade: 0.5
    },
    {
        student: 2345,
        grade: 0.2
    },
    {
        student: 3456,
        grade: 0.1
    }
];
let percentileRanking = new PercentileRanking(grades);
percentileRanking.simplePercentileCalculation(); // 1, 0.66, 0.33
percentileRanking.complexPercentileCalculation(); // 0.833, 0.5, 0.166

To calculate the rank of a single item, use the following

import {Grades, PercentileRanking} from '@universis/percentile-ranking';
let grades: Array<Grades> = [
    {
        student: 1234,
        grade: 0.5
    },
    {
        student: 2345,
        grade: 0.2
    },
    {
        student: 3456,
        grade: 0.1
    }
];
let percentileRanking = new PercentileRanking(grades);
percentileRanking.calculateSingleSimpleRank(grades[0]); // 1
percentileRanking.calculateSingleComplexRank(grades[0]); // 0.833

Note that the examples use a quite small dataset. To get more accurate rankings, make sure that you have a sufficiently large dataset.

Package Sidebar

Install

npm i @universis/percentile-ranking

Weekly Downloads

51

Version

1.0.1

License

LGPL-3.0-or-later

Unpacked Size

65.2 kB

Total Files

13

Last publish

Collaborators

  • universis