Dance Difficulty

David McQuillan

This little article is for those who want to know how I calculate a difficulty rating for dances. My rating isn’t particularly wonderful compared to that in Keith Napier's Index, which by the way gives a difficulty rating for about 5000 dances, but it is an attempt to automate the whole process.

Basically the assumption is that every event has an overall difficulty rating. This can be assessed from that of the dances in the event. Then in a recursive fashion the difficulty rating of the dances can be assessed from that of the events they are in. The whole process is kick started by putting in a selection of ratings I know of from the Napier Index.

This is a work in progress so it will change!

The Grisly Details

I assume events have a difficulty spread which differs from event to event. The assessment of the difficult of a dance also has a variance which must be gauged from that of the events they are in.

The difficulty level of a dance is given as:

Sum of (mean/variance) for the events the dance is in / Sum(1/variance) for the events the dance is in.

This figure is then given 1/2*count nudge towards the mean which seems about right to counter too high a effect of the rare ones tending to extreme values. I'll have to look at this as it makes the overall rank order comparison with Napier slightly worse but the result looks better in practice.

This has to be normalised by expanding the range as it would all tend towards the mean.

For each event the mean and variance is given as the mean of the dances in it and the straightforward sum square difference from the mean divided by the number of dances used.

In fact I also currently use the variance of the dances in assessing that of the events to bump up the overall variance. It probably would be easier and better to just add some fudge factor so a very small variance doesn’t have too big an effect.

Currently most of the progammes come from the Summer Tuesdays SCD email list. The dances are recognised using a Double Metaphone matching algorithm

Major Problems

The simpler dances don’t tend to be on published programmes.

The most popular dances appear to be less difficult than they are intrinsically because it is assumed people know them. It may be possible to do some adjustment dependng on the popularity of a dance (i.e. how often it is in programmes). On the other hand it may be that this effect is actually desrable.

The less popular dances may easily have their difficult assessed from only one or two events. I should try to get programmes from a wider area to avoid this effect to some extent.

The dances just beside a hard dance tend to be simpler

Clubs tend to a difficulty level and especially the same event by a club in successive years.

The maths could be greatly improved! It is only faith that leads me to believe the whole process works. I have run some rank order tests compared to Napier to check it out but the ones I've done haven't really been much help in figuring out how to improve things.

Results I'm not happy with

The programme seems a bit funny on some I think:
NameProgrammeShould be?
The Robertson Rant3.1~ 3.6
Round Reel of Eight1.5~ 3.0
Saint Andrew’ Nicht2.8~ 3.5
Shiftin’ Bobbins2.3~ 2.8
Virginia Reel1.7~ 2.5
The Dashing White Sergeant1.3~ 2.0


Release 11 Dec 2009:

The average difference in difficulty of start and end dances, the extras and dances marked hard from the programmes they are in is used to adjust the figures when assessing the difficulty level of dances.

The difficulty levels of programmes is made tend to that of the more difficult dances in it by adjusting the difficulty level of the dances in it so the easy levels bunch together.

The difficulty level of dances is amde tend to that of the simplest programmes they are in by adjusting the difficulty levels of the programmes so the harder levels bunch together.

The output levels has the spread adjusted in two stages. First the dances are spread in difficulty level with the difference between successive dances set by the square root of the count minus 1. This makes the central dances takes up rather more than a fair share of the range 1 to 5. This is then adjusted by making the central range squash together more and the outsides widen a bit.

The last three adjustments were done using cubic bezier curves on the difficulty levels

Rhoda’s list of dances into 6 difficulty levels has been used as a seed for the programme along with a selection of some figures from Napier I've come across.

Other Ideas

Another way of assessing difficulty automatically is to use the length of the description of the dance in MiniCrib. I’ve been considering using a variant where the dances are compressed so frequently occurring phrases take up less space, e.g. cross, cast, half figure of eight.