Cost calculation


This page explains the operations involved in calculating the cost of a training course.

This page is accompanied by a general diagram of a fictitious formation to which the various examples provided correspond.

  1. What is a ELP carrier?
  2. What is an EU?
  3. What is a lower-level ELP ?
  4. What is a stage?
  5. What is a milestone?
  6. How is the carrier stage defined?
  7. What is the impact of the carrier stage?
  8. What's the point of a standard?
  9. How do I find out which standard I'm using?
  10. What is the impact of entering an estimated headcount?
  11. How is seized headcount recovered and used?
    1. Simple case
    2. Case of mutualization of an intermediate ODF element (here a ELP)
    3. Pooling of teaching hours
  12. How is weight calculated?
  13. What's the difference between calculated and entered headcounts?
  14. How are staff numbers broken down?
  15. Where do you get the maximum and minimum additional headcount?
  16. How are groups calculated?
  17. How is the total TD equivalent (eqTD) calculated?
  18. How is the breakdown of TD equivalents (eqTD) calculated?
  19. Algorithms
    1. Groups

What is a ELP carrier?

TheELP carrier is a non-modifiable field in teaching hours. It is automatically defined when a teaching hour is created. Teaching hours are created from a ELP, which automatically becomes theELP carrier.

What is an EU?

A UE (Unité d'Enseignement - Teaching Unit) is a ELP (teaching element) whose nature bears the UE code.
Example: UE 1 - Sciences, UE 2 - Modern language, UE 3 - Support.

What is a lower-level ELP ?

ELP has no list ofELP in its structure.
Example: Algebra, Geometry, Statistics, Advanced Statistics, Logic, Physics, Chemistry, Business English, English, German, Spanish, TOEIC, Mathematics.

What is a stage?

This is a container whose type has the code "annee".
Example: Year 1, Year 2, Year 3.

What is a milestone?

The carrier stage of a ELP is a year-type container whoseELP is part of the hierarchy and is its reference.

How is the carrier stage defined?

A carrier step is defined at the ELP level. This is an optional field, as it is not essential to define one.

Starting from the same point, the way to retrieve the stage carrying the teaching hours is the same as for its ELP carrier.

If theELP has a value in its carrier step field, this is defined as its carrier step.
Otherwise, the algorithm goes back to all the parents of theELP , which are containers of type year (steps).
Then, if there is only one step, it is the carrier.
Otherwise, no carrier step is defined.

What is the impact of the carrier stage?

It can be used to guide the choice of certain values for calculations in control reports, as well as the display in certain reports.

The carrier step is not mandatory, as default values can be taken into account.

What's the point of a standard?

A standard is a configuration in which it is possible to define for each type of teaching (CM, TD, TP, etc.) the maximum and minimum additional enrolment thresholds.

It is not compulsory to enter thresholds for all types of teaching.

A standard can be defined at different levels:

  • Container (used only as part of a carrier stage)
  • Teaching hours

Assigning a standard is not required either, as it is possible to define default values for maximum and minimum additional enrolments in the teaching type reference table.

How do I find out which standard I'm using?

The most important standard is the one linked to teaching hours, which is the most precise.

However, this standard is only valid if it has values for the teaching nature of current teaching hours.

If not, the standard of the carrier step is retrieved (if a carrier step is identified), and we check again that it is valid before applying it.

Finally, if the standard is still not identified, then no standard is applied and the default values for maximum and minimum additional enrolments entered in the teaching type reference table are retrieved.

What is the impact of entering an estimated headcount?

It is advisable to enter a minimum of estimated headcounts at year level, and to adjust them according to the specific features of each course. In particular, it will often be necessary to adjust the number of ELP students in optional lists.

How is seized headcount recovered and used?

The number of employees entered is the number of employees manually filled in by the user in the "Estimated number of employees" field. 

The headcount entered is retrieved by moving up the tree structure from teaching hours. As each level of the tree structure can be shared by several other entities ODF (mutualization), all the headcounts entered in the parent objects are retrieved and added together.

The algorithm then goes back up all the parent trees of the teaching hours, and stops in each tree as soon as estimated headcounts have been found. At this point, the weighting between the teaching hours from which the algorithm began and the element on which the estimated headcount was found is applied to the headcount.

Simple case

For example, in our diagram, if an estimated headcount of 60 is entered in the "Year 1" container, we will have :

  • Algebra: 60 x 1 (Semester list) x 1 (UE 1 list) x 1 (Compulsory subjects) = 60
  • Advanced statistics: 60 x 1 (Semester list) x 1 (UE 1 list) x 1/2 (Electives) = 30
  • English classic: 60 x 1 (Semester list) x 1/3 (UE 2 list) x 1/2 (Electives) = 10
  • Professional English: 60 x 1 (Semester list) x 1/3 (UE 2 list) x 1/2 (Elective subjects) = 10
  • German: 60 x 1 (Semester list) x 1/3 (UE 2 list) = 20
  • Spanish: 60 x 1 (Semester list) x 1/3 (UE 2 list) = 20
  • TOEIC : 60 x 1 (Semester list) x 0 (UE 3 list) = 0

However, if we specify an estimated headcount on theELP "English" of 50, we get :

  • Classical English: 50 x 1/2 (Electives) = 25
  • Professional English: 50 x 1/2 (Elective subjects) = 25

Note that this does not affect other staffing levels. It may be necessary to redefine the headcount for ELP at the same level to adjust.

Case of mutualization of an intermediate ODF element (here a ELP)

Let's take a look at the case of mutualization: let's imagine that we only have enrolments in the years of licenses X, Y and Z. TheELP "English" is mutualized between years 1 of these three licenses. A mutualization diagram accompanies this example.

  • Licence X - Year 1: Estimated 250 students. The weight is 0 because it is part of an optional UE.
  • Licence Y - Year 1: Estimated 600 students. The weight is 1/3 because it follows the scheme given as an example.
  • Licence Z - Year 1 : Estimated 120 students. The weight is 1 because it is part of a tree structure containing only "mandatory" lists.

The algorithm then sums the estimated numbers weighted by their weight recovered from each branch:

Total number of students entered forELP "English": 250 x 0 + 600 x 1/3 + 120 x 1 = 320 students

The total number of employees entered then flows to the ELP addresses below theELP "English" address by applying their respective weights:

  • ELP "Classical English: 320 x 1/2 = 160 students
  • ELP "Professional English: 320 x 1/2 = 160 students

Pooling of teaching hours

The pooling of teaching hours makes it possible to share certain teaching hours at ELP without pooling everything. Typically, certain hours of lectures can be shared between several courses, yet another part of the lectures in this subject will depend on the course, as will the tutorials and practical work.

The calculation method is identical to that used for other pooling arrangements, but offers the possibility of placing a precise headcount on each ELP parent, since the latter is not pooled.

How is weight calculated?

Starting with an initial weight of 1, each time a list ofELP is traversed by the algorithm, the weight is updated in this way according to the type ofELP :

  • mandatory: multiplied by 1
  • optional: multiplied by 0
  • à choix: multiplied by the minimum number ofELP to choose from and divided by the total number ofELP on the list.

Example:

  • Algebra: 1 (Compulsory subjects) x 1 (UE 1 list) x 1 (Semester list) = weight 1 for year 1
  • Advanced statistics: 1/2 (Elective subjects) x 1 (EU 1 list) x 1 (Semester list) = weight 1/2 in relation to year 1
  • Classical English: 1/2 (Elective subjects) x 1/3 (List of UE 2) x 1 (List of semesters) = weight 1/6 compared to year 1 but weight 1/2 compared toELP English
  • German: 1/3 (List UE 2) x 1 (List semester) = weight 1/3 compared to year 1
  • TOEIC : 0 (List UE 3) x 1 (List semester) = weight 0 compared to year 1

What's the difference between calculated and entered headcounts?

As we saw in the previous point, the numbers entered are in fact deducted from a calculation. The numbers calculated are purely deducted from the steps and do not take into account intermediate elements (except for the weight calculation).

How are staff numbers broken down?

The number of employees broken down is the number of employees present on thestage (it is recommended that this field be filled in for all year-type containers) multiplied by its weight since the teaching hours concerned.

Where do you get the maximum and minimum additional headcount?

The maximum and minimum additional numbers can be retrieved from various places:

  • If a standard has been identified, the maximum and minimum supplementary headcount corresponding to the nature of the current teaching hours are read into the standard.
  • If there is no standard, the default values for the type of teaching entered in the "Type of teaching" reference table are taken into account.

However, as these fields are not mandatory, it is possible that no value is found. If the additional maximum and/or minimum number of employees is missing, the calculation cannot continue.

How are groups calculated?

As a prerequisite, it is necessary to have first retrieved the total headcount entered, the total headcount calculated, the maximum headcount and the minimum additional headcount.

If the total number of employees entered is greater than zero, then the algorithm will use this number to calculate the groups.
Otherwise, the number of employees used to calculate the groups will be the number calculated.

The number of groups calculated is as follows:

  • 0 if the base workforce is zero
  • 1 if the base workforce is less than the maximum workforce
  • In all other cases, the basic workforce is divided by the maximum workforce.
  • If the remainder of the division is greater than or equal to the minimum additional number, the number is incremented by 1.

Here are a few examples, based on 110 students:

  • Max. number = 20, min. additional number = 10: 110/20 = 5 groups, 110 - (5 x 20) = 10 => 10 is equal to the minimum additional number, the algorithm increments the result by 1, making 6 groups.
  • Max. number = 20, min. additional number = 12: 110/20 = 5 groups, 110 - (5 x 20) = 10 => 10 is less than the minimum additional number, the algorithm retains the initial result of 5 groups.
  • Max. number = 40, min. additional number = 20: 110/20 = 2 groups, 110 - (2 x 40) = 30 => 30 is greater than the minimum additional number, the algorithm increments the result by 1, making 3 groups.
  • Max. number of employees = 120, min. additional = 50: 110 is less than the maximum number of employees, only one group is open.

How is the total TD equivalent (eqTD) calculated?

The TD equivalent is based on three parameters:

  • Coefficient eqTD
    By default, the value entered in the "Type of teaching" reference table is taken into account, but it can be overwritten for teaching hours with a more precise value.
  • Number of groups
    By default, the value of previously calculated groups is taken into account, unless a user has manually entered a value in the "Groups to open" field in teaching hours, in which case it takes precedence.
  • Teaching hours
    This is the "Teaching hours" field.

The calculation is as follows: number of groups x hourly volume x eqTD coefficient

How is the breakdown of TD equivalents (eqTD) calculated?

The breakdown of TD equivalents is calculated from the breakdown of headcount by taking the ratio between headcount per stage and total headcount. This ratio is then applied to the total TD equivalent for each stage to obtain the breakdown.

 

Algorithms

Hours per student

For each component
For all the component's courses
Retrieve all the TUs
For each TU
Go through the structure (downwards) until you reach the ELP of lowest level
Calculate the weight
If ELP of lowest level reached and weight greater than 0
Aggregate the hourly volumes by teaching type
Add this hourly volume to theTU:
- Multiplied by the weight for the average
- Without additional operation for the total

Groups

For each component
For each course in the component
For each stage in the course
Browse the structure (downwards) until you reach the lowest-levelELP
For each "teaching hour"
Check that theELP carrier still exists
Retrieve the carrier stage
Retrieve the standard
Retrieve maximum and minimum supplementary headcount
If maximum and minimum supp. not empty
Recover enrolment data
Calculate total enrolment
Break down enrolment by stage
Update groups and enrolments calculated in teaching hours
Check enrolment breakdown: sum of calculated enrolments must be equal to total calculated enrolment
Calculate groups
Calculate total TD equivalent
Breakdown of EqTDs

                        Check the breakdown of TD equivalents: sum of breakdown eqTD must equal total eqTD

Back to top

Steering assistance