Hofstee cut-off calculation app

Link to app on my Google Drive:

This little app reads a .csv file of student marks (sorted or unsorted), calculates the Hofstee cut-off point for the data set, and draws the resultant chart as a cumulative percentage line, the Hofstee line and the FMin and FMax lines. (The app assumes the person is familiar with the use of the Hofstee method).

On first running, the app automatically creates an app data folder (using the Taifun File Extension), and then the user copies their .csv file into that folder (There is a .csv file already in the assets for user testing purposes).

Then the user enters the CMin, CMax, FMin and FMax. This can be done in two ways: (1) the data from each rater is entered, and the means are calculated, or (2) the final means are manually inserted/adjusted.

The raw data from the .csv are automatically sorted using Pevest.com’s - QuickSort Routine. From the raw data, cumulative percentages are calculated, and then Kate Manning and Emily Kager’s ChartMaker is used to draw the lines. Because ChartMaker can draw only straight lines based on the start and finish x,y, and the cumulative chart is not a straight line, each component of the cumulative chart is drawn separately.

The formula for the Hofstee line is determined algebraically, and then the x,y intercept with the relevant straight line in the cumulative line is determined. (I am not a mathematician, so I used my 40-year old high-school maths to determine the formula (based on sine and cosine rules), so the maths is probably horrific, but it works.)

Strengths of the App

  1. Time saving, as drawing the chart takes time.
  2. Accuracy: Reading off a hand-drawn chart is never accurate.
  3. What iffs: allowing the user to adjust the parameters means that they can test other possibilities.
  4. Big gaps: identifying large gaps also allows for adjustments. Although these should never be done, in reality, there are frequently not enough experts available, and so tweaks have to be made.

Weaknesses of the app.

  1. Because ChartMaker can draw only straight lines, and each line must have the same number of points, there is a problem when the y-value of the Hofstee line drop below 0. It has to be given a value, so I give it the value 0, and all Y values after that for the line are 0. Mostly, it looks fine (e.g. test with CMin=57, CMax=67, FMin=7, FMax=17). But, with some settings, (CMin=55, CMax=65, FMin=5, FMax=15) there is a kink in the Hofstee line as it approaches 0. It does not happen with all settings, but with many. (It happens because the next Hofstee Y-value is less than 0, the x-value has moved along, so, when I change the y-value to 0, the line kinks up).

  2. I can’t figure out how to draw the CMin and CMax lines, as these are vertical (e.g. 55,0;55,100; 65,0;65,100). If the CMin and CMax x-value was the same as a data point value, then I could get it to work, but I cannot assume that. (Of course, given that the cut-off is calculated algebraically, those lines are not necessary for finding the cut-off) but most people working with a Hofstee chart on paper are used to seeing them, and it would be good to see them.)


Nice work,

In the near future we will have a new Chart component.

I guess, some things in your app can be made more easily with the use of the new component.

1 Like

Thank you. Sounds great, and I look forward to that.

1 Like

Can't advise on how to deal with those without source code.

thank you for using the file extension

keep up the good work!


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by Taifun.

1 Like

Thanks. Unfortunately, I do not have access to the ChartMaker extension code, and that is the code that is being used to draw the chart.

Thank you for a great extension.

App has been updated to 0.2 to fix problems that occurred if any of the data items were “100” or had a varying number of decimal places.