Page 1 of 2

Decathlon-style multi-event score from logbook

Posted: August 21st, 2023, 10:19 am
by HornetMaX
Hi all,

in a recent thread on this forum somebody was praising a fellow Erger for his PBs being consistently above 95% across many different events, from 1min to Full Marathon.

To have a measure of how good one is across the whole spectrum of events (or across some subsets of it), we could have a scoring system similar to decathlon: for each one of the 10 events you have tables that converts your result (time for distance-based events, distance for time-based events) to a number of points. The you add your points across all the events (or across a given subset of the events) to get your overall score. We could call these c2athlons :)

For us, the computations could be done using the seasons' PBs across the selected events (so the data is already there).
As for the rest of the logbook, when you check your score you could narrow down with the usual criteria (sex, age range, weight etc).
Variations:
  1. Events that count: in the logbook I see 14 rowerg events, 14 skierg events and 11 bikeerg events. Concept2 could pre-define R2 as being RowErg 2K and 5K, R4 as being 1K, 2K, 5k and 10K. Same for BikeErg and SkiErg. These are just examples, somebody with appropriate knowledge could decide what makes sense. You could even have multi-events mixing some RowErg, SkiErg and BikeErg events.
  2. You could have flash c2athlons, in which you have to complete the events in a period of time (e.g. a week, ouch !).
Something similar is done by Nonathlon but number of participants seems very low and you have to enter the data manually. Integrating the same idea in the c2 logbook could solve both issues. And maybe even push users to compete on events out of their comfort zone (yeah, that full marathon is waiting for you).

Final note: there are already some tables that could be used as starting point for this (e.g. https://rowinglevel.com/rowing-times/2000m-times). A cheaper (but less clean) way of doing something similar would be to take your average percentile across the selected events (0% if you haven't completed the event). But conversion tables are better (as they are fixed, not depending on the participants in a given category/age range etc).

Re: Decathlon-style multi-event score from logbook

Posted: August 24th, 2023, 5:07 am
by HornetMaX
I was bored yesterday so I banged out some python code that gets all the ranked workouts of a season (including past ones) from c2 logbook.

For the time being I'll do something simple for the scoring system. Something like linear interpolation between rowinglevel.com "Beginner" and "WR" times (maybe watts is better ?) for a given event, 0 points / 1000 points respectively.

Or maybe I'll take the best times ever from c2 seasons ad figure out something for the other end-point (e.g. take a low percentile like 5% from c2 data across "performance" age range like 20-40). Using only data from c2 logbook (instead of rowinglevel.com) has the advantage of being also applicable to skierg and bikeerg at basically no extra cost.

If anybody has a suggestion about scoring, please let me know !

Re: Decathlon-style multi-event score from logbook

Posted: August 28th, 2023, 4:58 am
by HornetMaX
After looking a bit more at the available data, I'll likely do this for the scoring:
  1. Use c2 world records for "high perf" end point. Note: there're no BikeErg records so I won't be able to cover BikeErg.
  2. Use a simple rule to figure out the "low perf" endpoint: from what I see in RowingLevel data, there seems to be a fairly constant ration between "high perf" times (category WR) and "low perf" time (categori Beginnenr, ~5% percentile), something like a factor 1.85 - 2.3. This seems to be the case too for T&F decathlon tables (at least for track events, jumps and throws are different)).
  3. Simple linear interpolation between "low" and :high" point, with low point giving 0 points and high point giving 1000 points.
  4. I could use different end points depending on gender (as c2 records are available per gender), but I'm wondering if it wouldn't be better to have the same scoring for M and F (maybe lowering a bit more the "low perf" point.
Likely the result will be a Google Sheet document available to all, with:
  • one spreadsheet per season, including the ongoing season (the ongoing season will be updated periodically, say once a month)
  • A table with all the entries (each ranked workout of each athlete)
  • A pivot table in which you see HW the scores, drilling down to the "category" you want (e.g. M only scores, M LW scores, M HW 40-49 years etc)

Re: Decathlon-style multi-event score from logbook

Posted: September 2nd, 2023, 11:32 am
by HornetMaX
Hmm, I've found what looks like a bug in c2 rankings pages.
I was parsing them one by one (e.g. for 2023 / rower / 1min / Male / HW you have 11 pages) and merging the results I was getting duplicates, meaning there was the very same entry on two different pages.

After some checks it seems that when a few entries have the same distance (for a 1min event), the entries have the same Pos. but their sorting is random: if you reload the page, the sorting can change.

This is a problem because if you have 4 entries for athletes A / B / C / D all with the same 1min distance and they happen to be across page 1 and page 2, this means that instead of seeing a consistent sorting (like A & B as last two entries of page 1, C &D as first two entries of page 2), you can get something very wrong as A B as last two entries of page 1, A & D as first two entries of page 2. You've a duplicate A entry (no big deal, I can fix that) and you've missed the entry for athlete C (that I cannot fix).

Yopu an check this by yourself looking at page 1 for the 2023 / rower / 1min / Male / HW rankings: just glancing at the page you'll see that reloading it in your browser will alter the sorting. The last 3 entries are all on Pos. 47 and the names change if you keep reloading (F5 or ctrl+F5).

I've notified C2 via their contact page.

Re: Decathlon-style multi-event score from logbook

Posted: September 10th, 2023, 7:15 am
by HornetMaX
One sample file: 2023 ranked workouts, combined scores for rowerg 2K + 5K + 10K (only rowerg, no slides or dynamic, only verified entries): https://docs.google.com/spreadsheets/d/ ... drive_link

Re: Decathlon-style multi-event score from logbook

Posted: September 10th, 2023, 9:38 am
by Sakly
I have to less pieces ranked this season, so no idea of a possible ranking 😄
But the idea is very nice! It will get interesting at the end of season, when all rankings are more filled.

Re: Decathlon-style multi-event score from logbook

Posted: September 10th, 2023, 3:48 pm
by HornetMaX
Just to be clear: the sample file above is for the past season (2022-2023).
I can of course run the whole thing on the current season (2023-2024) but yeah, rankings come in over time.
For the ongoing season I could setup scripts to run it periodically (e.g. every month).

Re: Decathlon-style multi-event score from logbook

Posted: September 10th, 2023, 10:43 pm
by Sakly
HornetMaX wrote: ↑
September 10th, 2023, 3:48 pm
Just to be clear: the sample file above is for the past season (2022-2023).
Ah ok. Was wondering, because I could not find my entry by scrolling through. But now I scrolled more way down to find position 378 and see that there is no 2k time, but I definitely had ranked this piece with a 6:45.

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 3:17 am
by HornetMaX
Sakly wrote: ↑
September 10th, 2023, 10:43 pm
HornetMaX wrote: ↑
September 10th, 2023, 3:48 pm
Just to be clear: the sample file above is for the past season (2022-2023).
Ah ok. Was wondering, because I could not find my entry by scrolling through. But now I scrolled more way down to find position 378 and see that there is no 2k time, but I definitely had ranked this piece with a 6:45.
It could be due to the problem I mentioned (c2 ranking pages losing some entries).
I'm trying to find a workaround (as I didn't get any reply from c2 on the problem).

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 3:41 am
by Sakly
HornetMaX wrote: ↑
September 11th, 2023, 3:17 am
Sakly wrote: ↑
September 10th, 2023, 10:43 pm
HornetMaX wrote: ↑
September 10th, 2023, 3:48 pm
Just to be clear: the sample file above is for the past season (2022-2023).
Ah ok. Was wondering, because I could not find my entry by scrolling through. But now I scrolled more way down to find position 378 and see that there is no 2k time, but I definitely had ranked this piece with a 6:45.
It could be due to the problem I mentioned (c2 ranking pages losing some entries).
I'm trying to find a workaround (as I didn't get any reply from c2 on the problem).
I looked into the rankings with no filter except verified, I'm placed at 525. With 50 results per page it is very unlikely to match the mentioned condition 😄
No idea what the problem could be.

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 4:03 am
by HornetMaX
Sakly wrote: ↑
September 11th, 2023, 3:41 am
I looked into the rankings with no filter except verified, I'm placed at 525. With 50 results per page it is very unlikely to match the mentioned condition 😄
It depends on the exact filters used. For technical reasons I have to do some acrobatics and retrieve some filters combos individually (e.g. M+LW, M+HW, F+LW, F+HW instead of getting them all together in one go).

I will look in the intermediate file (right after the grab of the rankings) and see if your entry was there or not: ff it was, the problem is in my code (which could be, for example yesterday I fixed how to deal with age changes where some of your entries are at 49yo and some others at 50yo).

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 5:24 am
by Sakly
HornetMaX wrote: ↑
September 11th, 2023, 4:03 am
Sakly wrote: ↑
September 11th, 2023, 3:41 am
I looked into the rankings with no filter except verified, I'm placed at 525. With 50 results per page it is very unlikely to match the mentioned condition 😄
It depends on the exact filters used. For technical reasons I have to do some acrobatics and retrieve some filters combos individually (e.g. M+LW, M+HW, F+LW, F+HW instead of getting them all together in one go).

I will look in the intermediate file (right after the grab of the rankings) and see if your entry was there or not: ff it was, the problem is in my code (which could be, for example yesterday I fixed how to deal with age changes where some of your entries are at 49yo and some others at 50yo).
Logically it makes sense as you need the individual filter anyway, so you can also use them combined to get all without creating a new filter group, which would be redundant.
As I have no idea about what you are doing and how you get the data at all, I will let you do your thing and see how it goes on 😄

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 6:07 am
by HornetMaX
Sakly wrote: ↑
September 11th, 2023, 5:24 am
HornetMaX wrote: ↑
September 11th, 2023, 4:03 am
Sakly wrote: ↑
September 11th, 2023, 3:41 am
I looked into the rankings with no filter except verified, I'm placed at 525. With 50 results per page it is very unlikely to match the mentioned condition 😄
It depends on the exact filters used. For technical reasons I have to do some acrobatics and retrieve some filters combos individually (e.g. M+LW, M+HW, F+LW, F+HW instead of getting them all together in one go).
Logically it makes sense as you need the individual filter anyway, so you can also use them combined to get all without creating a new filter group, which would be redundant.
Problem is on c2 rankings pages the gender and weight are not part of the resulting table so if you don't set these filters you have no easy way to know if an athlete is a M-HW or a F-LW. If gender and weight were added as columns in the rankings, that would avoid me to fetch the 4 combos individually ([M,F] x [HW,LW], just 2 combos for skierg and bikeerg as they have no weight categories) and then put the right columns in place and concat everything together.

So yeah, I have to do some acrobatics (not a big deal, but fetching pages is slow so fetching 4 times instead of 1 is annoying) to get what I want: a single table with columns UserID / Name / Age / Gender / Weight / Event / Result (plus some other technical columns like ErgType, RowerType, Verified etc).

With that table I can then do everything, like get the c2athlons rankings for rower2000m + skierg10000m for F LW in age range 17-12 considering only rowers on slides and verified results. Processing the rankings is slow (as I have to retrieve pages one by one and the response time on c2 side is slow, even if I parallelize the hell out of it) but once this is done once for all, querying for a c2athlon ranking like the example I just gave is nearly instantaneous.

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 6:21 am
by Sakly
For C2 it would probably be easier to do that stuff, as they don't have to fetch the data before and they know their data well 😄
In the end these are "only" data base command combinatorics aka filter on already existing data.
Obviously the hard part is to get the data in a form that you can apply the same/needed filter on them.
Will there be any "site" where one can choose filters to see some results? Or what's the idea in the end?

Re: Decathlon-style multi-event score from logbook

Posted: September 11th, 2023, 8:01 am
by HornetMaX
Sakly wrote: ↑
September 11th, 2023, 6:21 am
For C2 it would probably be easier to do that stuff, as they don't have to fetch the data before and they know their data well 😄
In the end these are "only" data base command combinatorics aka filter on already existing data.
If they had better table format and the possibility to download the entire rankings for a season in a single csv file, that part (fetching) would be a piece of cake.

But yeah, if they want to do it that would be better. That said, I don't expect them to be willing to put money in doing that stuff. Seems a very niche thing.
Sakly wrote: ↑
September 11th, 2023, 6:21 am
Will there be any "site" where one can choose filters to see some results? Or what's the idea in the end?
I suck at web development, so probably there won't be a web site for that. What I can surely do is:
- publish some rankings (past seasons + ongoing season) for a fixed set of c2athlons and/or
- provide the intermediary data for each season (.csv file) and give you a python script you can run with the options you want (e.g. which events, gender etc) to produce the ranking you want.