# I made a thing for comp organizers that sorts people into heats based on WCA records



## 4Chan (Dec 29, 2015)

Please excuse my microphone quality, it's from a cheap USB webcam.

I used python to code this thing that's bad and inefficient but can sort people into heats based on their previous records.

I don't actually know how to code, but I took a programming course in college over half a decade ago and Python is pretty useful in science research.


----------



## Deleted member 19792 (Dec 29, 2015)

FINALLY THANK GOD DOING HEATS WAS A PAIN IN THE ASS


----------



## 4Chan (Dec 29, 2015)

Ohhh wowww, I totally thought this thing existed already and I was doing redundant work!

I'll compile it into an executable file shortly and post a link for anyone who wants it.


----------



## not_kevin (Dec 29, 2015)

I'm curious, what criteria are you using for defining heats? My biggest issues with making heats were always trying to divvy up staff and scheduling the timing for each heat (well, I mean, I've split up the competitors so that each heat took about the same time, but then there's a bit of a risk for competitive integrity, where all the fast people get different scrambles), which on the surface doesn't seem to be addressed with your program.

Great work, 'tho - I'd love to see a tool like this in the WCA software suite  Hopefully we can get to a place in the future where all the WCA-specific pre-organization is effortless!


----------



## 4Chan (Dec 29, 2015)

Yeahhhh, it doesn't include an option that specifies for staff.

In my head, I assumed that I would just have to do some more editing with the heats by fiddling around with the staff scorecards after the thing initially splits the people.



Someone good with computers should totally make something like this and include staff options !!

EDIT: I just realised that the staff thing is relatively easy to code for, and I could even have options for different distribution of staff members, such as "First two rounds", "Evenly divide", "Staff round"

But I'm too tired and lazy, maybe if someone really wants it, I can do it!


Also, I can't compile it into a windows executable currently, will have to do it another day due to weird errors in installing python on my desktop LOL


----------



## Kit Clement (Dec 29, 2015)

For most events I have delegated, I've found that creating groups with similar average times is actually very unimportant. Things that really make certain groups fall behind are a lack of volunteers to fill all stations. I usually just identify all the competitors that are likely to help, and split them evenly across all groups to have a balanced group of volunteers. Also, avoiding groups with multiple people of the same name prevents a lot of potential headaches.


----------



## tseitsei (Dec 29, 2015)

Kit Clement said:


> For most events I have delegated, I've found that creating groups with similar average times is actually very unimportant. Things that really make certain groups fall behind are a lack of volunteers to fill all stations. I usually just identify all the competitors that are likely to help, and split them evenly across all groups to have a balanced group of volunteers.



This.

In Finland we try to divide groups so that the older/more experienced people are evenly divided in different groups so that there will always be competent scramblers and judges for everyone.

If we just divide by time we could quite easily get a round that has 2 groups:
Group 1 has bunch of 7-9 year old kids that are competing first or second time and none of whom can scramble the cube
Group 2 has all the older/ more experienced people
--> There won't be enough competent scramblers/judges for group 2 and it will take forever....


----------



## DGCubes (Dec 29, 2015)

Kit Clement said:


> Also, avoiding groups with multiple people of the same name prevents a lot of potential headaches.



Even as a non-delegate/organizer (yet) I still get that. Why are there are so many Daniels...


----------



## JustinTimeCuber (Dec 29, 2015)

DGCubes said:


> Even as a non-delegate/organizer (yet) I still get that. Why are there are so many Daniels...



http://www.cubingusa.com/KCubing2015/competitors.php

Look at the first two competitors registered.
They are in fact two different people and it was a pain when they were solving.


----------



## Kit Clement (Dec 29, 2015)

tseitsei said:


> This.
> 
> In Finland we try to divide groups so that the older/more experienced people are evenly divided in different groups so that there will always be competent scramblers and judges for everyone.
> 
> ...



I think the purpose of this program is to ensure the average time of the groups is the same, not to group fast/slow people together. My "similar average times" was a bit misleading, I meant the overall average of the group of people, not a group of people with similar averages. Still, an unbalanced scenario that you describe can easily occur in either setup. Ignoring the first or second timers, there is little relationship between speed and willingness to help, and you can still end up with a group of people who vary in skill, but few are willing to help.


----------



## Matt11111 (Dec 29, 2015)

JustinTimeCuber said:


> http://www.cubingusa.com/KCubing2015/competitors.php
> 
> Look at the first two competitors registered.
> They are in fact two different people and it was a pain when they were solving.



Well, they could have just said, "Adam Green (with/without) an E at the end." My humanities teacher does the same thing. There are two Henrys in my class. One went by his middle name up until a few months into this school year, then he decided to change the spelling of his name to Henri (pronounced the same). Basically he wanted to mess with the Henry that's always gone by Henry. So what my humanities teacher does is she calls him Henri with an I to avoid confusion. So they could have done something similar with the Adam Green(e)s.


----------



## JustinTimeCuber (Dec 29, 2015)

Matt11111 said:


> Well, they could have just said, "Adam Green (with/without) an E at the end." My humanities teacher does the same thing. There are two Henrys in my class. One went by his middle name up until a few months into this school year, then he decided to change the spelling of his name to Henri (pronounced the same). Basically he wanted to mess with the Henry that's always gone by Henry. So what my humanities teacher does is she calls him Henri with an I to avoid confusion. So they could have done something similar with the Adam Green(e)s.



they actually did that, they called "Adam Green No E" and "Adam Green With an E" or something to that effect if I remember correctly. I'm pretty sure I judged one of them, but that's beside the point.


----------



## Matt11111 (Dec 29, 2015)

JustinTimeCuber said:


> they actually did that, they called "Adam Green No E" and "Adam Green With an E" or something to that effect if I remember correctly. I'm pretty sure I judged one of them, but that's beside the point.



Oh. Welp, in that case they did it right.


----------



## not_kevin (Jan 5, 2016)

Nah man, you haven't seen bad: https://www.worldcubeassociation.org/results/c.php?byPerson=By+Person&competitionId=NiseiWeek2015

There were literally two Sean Saito's - we had a couple mixups  You'll even notice that the WCA website's not quite sure how to handle this case, and has 2014SAIT02 listed separately for each of his events XD


----------



## tseitsei (Jan 6, 2016)

Kit Clement said:


> I think the purpose of this program is to ensure the average time of the groups is the same, not to group fast/slow people together. My "similar average times" was a bit misleading, I meant the overall average of the group of people, not a group of people with similar averages. Still, an unbalanced scenario that you describe can easily occur in either setup. Ignoring the first or second timers, there is little relationship between speed and willingness to help, and you can still end up with a group of people who vary in skill, but few are willing to help.



Oh that makes much more sense now


----------



## biscuit (Jan 6, 2016)

JustinTimeCuber said:


> they actually did that, they called "Adam Green No E" and "Adam Green With an E" or something to that effect if I remember correctly. I'm pretty sure I judged one of them, but that's beside the point.



First off, why didn't I see this post before I made my own script for google sheets to do something similar to this (but completely random, not sorted by times)

Second, I don't think there were any heats where both Adam's were together. If there were, I missed it. I tried to keep them separated.

EDIT: Could you share the code used? I'd like to look at it, and see if I can replicate it in JS (so it can be in google sheets and be automatically inserted into the spreadsheet). I might do something like this anyway, but I mostly want to see how you created the groups.


----------



## JustinTimeCuber (Jan 6, 2016)

biscuit said:


> First off, why didn't I see this post before I made my own script for google sheets to do something similar to this (but completely random, not sorted by times)
> 
> Second, I don't think there were any heats where both Adam's were together. If there were, I missed it. I tried to keep them separated.
> 
> EDIT: Could you share the code used? I'd like to look at it, and see if I can replicate it in JS (so it can be in google sheets and be automatically inserted into the spreadsheet). I might do something like this anyway, but I mostly want to see how you created the groups.



I'm not sure, but I do remember people saying that. You did 2 heats at a time mostly, so maybe that was it?


----------



## 4Chan (Jan 6, 2016)

Biscuit, my isp currently terminated my connection, but I'll pm you when it goes back up (soon hopefully)

I'm pretty bad at coding, so theres tons of bad habits, but I'll add lots of comments throughout so things might make a tiny bit of sense!


----------



## biscuit (Jan 6, 2016)

4Chan said:


> Biscuit, my isp currently terminated my connection, but I'll pm you when it goes back up (soon hopefully)
> 
> I'm pretty bad at coding, so theres tons of bad habits, but I'll add lots of comments throughout so things might make a tiny bit of sense!



Thanks!


----------



## suushiemaniac (Jan 6, 2016)

Has anybody actually ever thought about a WCA competition suite?
Some of the more experienced organizers (maybe recommended by the delegates) brainstorm on algorithms for automatically calculating event schedules and dividing competitors into heats and stuff. This is then compacted to some GUI-ish program so the organizer only says which events he wants to offer, how many rounds per event and a list of competitors and the program then returns a proposed schedule which can be reviewed or fine-tuned/adapted.

I'm not quite sure whether creating algorithms to calculate an event schedule is even possible or how that could be done for the slightly different competition systems in different countries. So I'm hoping for some feedback


----------



## Prakhar (Jan 6, 2016)

Can it manage heats for parallel events? And can you please share the code?


----------



## 4Chan (Jan 6, 2016)

No, I'm not good enough to code for parallel events, but I think a good programmer or software engineer should totally make one!

My code is horribly horrible, and I won't have internet until monday, so I'll post the code sometime when I go to a mcdonalds or Starbucks to submit delegate things later tonight.


----------



## AlexMaass (Jan 6, 2016)

JustinTimeCuber said:


> http://www.cubingusa.com/KCubing2015/competitors.php
> 
> Look at the first two competitors registered.
> They are in fact two different people and it was a pain when they were solving.



I would make them have middle names lol.


----------



## JustinTimeCuber (Jan 6, 2016)

AlexMaass said:


> I would make them have middle names lol.



lol honestly I don't know why I didn't ever think of that xD or at least middle initial


----------



## Torch (Jan 6, 2016)

AlexMaass said:


> I would make them have middle names lol.



I would just call the second one Adam Green-E (pronounced Greenie)


----------



## 4Chan (Jan 7, 2016)

Here's the code guys! Again, it's REALLY bad, like, SUPER BAD.
I literally have no idea how to code.


----------



## JustinTimeCuber (Jan 7, 2016)

I'm worse at coding, hands down. Like, yeah, I suck. A lot.


----------

