Strava recently debuted its "Suffer Score", which attempts to quantify in one way how hard an activity was. Suffer score, they claim, is based on heartrate: ride further or harder and suffer score is higher.
Suffer score is a good move for Strava. Strava's market segment is informal competition. Other web sites have logged how far people ride, and where, but Strava really locked into the demand for competition: competition via social networking. To date these rankings have been based primarily on speed over "segments": routes defined by users, for example on roads or trails, typically up climbs. They then added contests for volume: most miles ridden in a week and most feet climbed, for example. But with Suffer Score, they combine the two: a metric combining both quantity and quantity.
Why's this important? Of course not everyone can climb fast enough to compete for KOMs on popular climbs. But a heartrate-based metric levels the playing field to a large extent. Anyone who's been riding regularly for long enough can go out with the goal of generating an "epic" suffer score for the day.
Suffer score is an obvious correlary with the Coggan "training stress score" (TSS). TSS is an attempt to quantify the training stress of a ride: it's effect on fatigue and its stimulus for physiological adaptation. That both of these can be captured with the same simple metric is far from obvious, but TSS is a blunt instrument, and its popularity among hardcore power meter fans proves people find it useful.
But Strava's focus isn't on hard-core training junkies. It's on the typical Mission Cycling or SF2G rider: people who like to ride, and when they ride like to ride quickly, and as a consequence of this quick riding tend to acquire fitness. However, the goal of every ride is still the joy of the ride, not strictly to improve fitness. So "suffer score" is a "don't take me quite so seriously" number by which long-hard-rides can be compared. "Pain is good", it suggests, not only for it's "training stress".
The big question, however, is how Suffer Score is calculated? To test this, I used a Perl script to generate ride data at constant heartrate. My "rides" consoisted of perfect 1 km radius circules in the Bonneville Salt Flats ridden at a perfect 10 meters per second. Each ride had a different heart rate, perfectly constant, or a different duration.
First I tried using the GPX file format for this purpose, but Strava wouldn't digest the heartrate numbers. So I switched to TCX. This worked nicely.
Here's one of my rides:
From a few tests, I was able to guess the following formula was used for Suffer Score:
Suffer score = K1 t1 + K2 t2 + K3 t3 + K4 t4 + K5 t5
t1 = time in hours in zone 1
t2 = time in hours in zone 2
t3 = time in hours in zone 3
t4 = time in hours in zone 4
t5 = time in hours in zone 5
With coefficient roughly equal to the following (may be off by 1/hr):
K1 = 12/hr
K2 = 24/hr
K3 = 45/hr
K4 = 100/hr
K5 = 120/hr
I like this approach, although I'd be tempted to increase K5, for example to 200. Time in Z5 is very, very painful. Of course this depends on having a good number for maximum heart rate, which may not be the case. In fact a geometric progression would have worked well here: 12, 24, 48, 96, 192. I think this would have helped the criticism I've been reading that it's too endurance-focused.