[FRC Blog] Preference System for Event Registration

From: Preference System for Event Registration | FIRST

Preference System for Event Registration
Written by Frank Merrick

https://www.firstinspires.org/sites/default/files/uploadedImages/Robotics_Programs/FRC/arnie.gif
Arnie really wants a slot at that Los Angeles Regional.

Last year, as folks know, we had problems with our event registration system. At the time, we said we would be moving away from first-come-first-served to a preference-based event registration system for the 2018 season.

The purpose of this blog is to confirm that we are moving to a preference-based system and to give you a high-level overview. You will likely have many detailed questions that won’t be answered here. More information will be coming out over the next few weeks. Feel free, though, to ask questions in the comments section below, and I’ll work to answer them later.

The preference-based system is intended to make event slot distribution fairer and more convenient and to reduce the load on our systems.

Under the new system, all FIRST Robotics Competition teams will have one week to enter their ranked event preferences in the system. They will be able to enter and rank as many or as few eligible events as they like. There will be no advantage or disadvantage to entering preferences early or late, as long as preferences are in by the deadline. Also, teams will be able to change their preferences as often as they like before the deadline.

All FRC teams will be randomly assigned a lottery number. Teams will keep this lottery number throughout the event selection process for the season. After the preference deadline, the system will go through each team in lottery number sequence, assigning the team to the first event with available capacity in the order of the team’s event preference list. If none of the events on a team’s list has open capacity, the team will be waitlisted on the single event they have identified as being their preferred ‘waitlist’ event (or the first event on their list if they do not specifically designate a waitlist event). So, every team that has entered a preference list for this first round will either be placed in an event or waitlisted for an event.

Teams will then be notified of their first round results. A week or two later, another one-week window will open for teams to use in selecting their second event preferences. Again, they can enter as many or as few eligible events on this list they wish, along with selecting a single event on the list as their waitlist preference. They will also once more be able to make any changes they wish before the deadline. After this second preferences deadline, the system will once again assign events, but this time going in reverse lottery number sequence, from the largest lottery number to the smallest. This means teams who were at the bottom of the list for the first round are at the top of the list for the second. Teams are then notified of the results of this second round. Once more, every team that has entered a preference list for this second round will either be placed in an event or waitlisted for an event.

The third period of registration will be ‘open’ registration for events, following similar rules as have been used in the past.

For now, the preliminary schedule looks like this:

  • September 21, 2017 – September 28, 2017 – Team enter their first round of event preferences in the system
  • September 29, 2017 – Teams are notified of the first round event preferences results
  • October 12, 2017 – October 19, 2017 – Team enter their second round of event preferences in the system
  • October 20, 2017 – Teams are notified of the second round event preferences results
  • November 2, 2017 – Unrestricted event registration opens
    Please note that right now these dates are preliminary. We don’t expect them to change, but circumstances may lead them to. If these dates do change, we will be sure to notify the community as soon as the new dates are determined.

As I noted above, this is just a high-level overview of the process. We will provide more detailed information in the coming weeks.

Frank

Good move.

Though i feel like I’m missing something, when do District teams do their 2nd event? Same as their “first round”?

This is quite the added complexity…

I’m going to reserve judgment until we get more facts, though my initial reaction is “Oh no…” followed by a deep chill within my spine. Was this what Frank meant by a “break from routine” or do they have more changes in store?

As an side, do any of the FIRST historians know if FRC has ever strayed from first come, first serve?

Regardless of my opinion on the free-for-all vs preference / lottery system, I have a real problem with this:

The preference-based system is intended to make event slot distribution fairer and more convenient and to reduce the load on our systems.

I mean, sure… we all strongly suspect this move became a priority after last year’s registration debacle. Those of us technically inclined know what kind of loads each system will produce (generally speaking), and we strongly suspected that was a major part of the decision…

But do we really want to publically make the statement that when faced with a “hard” engineering problem (scale a system), don’t tackle it, just change the rules?

Sure, Kobayashi Maru and Commendation for Original Thinking and all, but really?

… Makes me worry that this year’s STIMS will be guest-written by Stephen King.

It wasn’t just an engineering issue. First-come first-serve was a poor way to handle event registration.

It’s one week later.

Teams will then be notified of their first round results. A week or two later, another one-week window will open for teams to use in selecting their second event preferences. Again, they can enter as many or as few eligible events on this list they wish, along with selecting a single event on the list as their waitlist preference. They will also once more be able to make any changes they wish before the deadline. After this second preferences deadline, the system will once again assign events, but this time going in reverse lottery number sequence, from the largest lottery number to the smallest. This means teams who were at the bottom of the list for the first round are at the top of the list for the second. Teams are then notified of the results of this second round. Once more, every team that has entered a preference list for this second round will either be placed in an event or waitlisted for an event.

The third period of registration will be ‘open’ registration for events, following similar rules as have been used in the past.

Iirc, last year’s system was an attempt at solving the problem yet the problem occurred again. Rather than upsetting the whole community, FIRST is taking the safer bet. Sure, they can keep working on the system. However, it is everyone’s best interest to not test the limits with something so important.

In a world where engineering resources and computing capacity are limited, changing the paradigm to a different (and much better IMO) one is the smart move. It’s the same reason why it’s not a cop out to build your robot to complete a subset of the game tasks effectively (see the “10 units of robot…” bit from Karthik’s talk).

Overall, I’m a fan of this change!

Is that really what they did here? There are simple solutions for scaling that aren’t very difficult to implement (many hosting providers have options for dynamic load scaling, or to scale up a system for a set amount of time… it works with a click and a credit card, can’t get simpler than that). But they do cost significant amounts of money. Instead, they went with the cheaper option of designing and building a whole new registration system… a process that was probably much more involved from an engineering standpoint.

What teams can learn from this is to identify the true requirements they need to achieve, and not focus on the sub-requirements they’ve imposed on themselves. When they encounter a problem with their design, sometimes it’s best to stop and take a different approach, instead of continuing along a more difficult path. There are often many paths they can take to achieve the same result.

I guess this is better for the most teams, but orders of magnitude worse for those of us who were good at clicking real fast.

I don’t understand why the lottery is static though. It makes no sense that whoever gets 4000something gets totally screwed twice in a row. At a minimum it should be serpentine for the 2nd round of registration, if not a new lottery outright.

It is serpentine for the second round - they specify that later in the blog post.

After this second preferences deadline, the system will once again assign events, but this time going in reverse lottery number sequence, from the largest lottery number to the smallest. This means teams who were at the bottom of the list for the first round are at the top of the list for the second. Teams are then notified of the results of this second round. Once more, every team that has entered a preference list for this second round will either be placed in an event or waitlisted for an event.

Wow I’m really bad at reading. I just saw “Teams will keep this lottery number throughout the event selection process for the season” and then disregarded the rest of the post after the first round explanation, I guess.

I wonder - will teams know what their lottery number is before submitting their selections?

If I know I want to attend two events, I might make very different initial choices if I am pick #1 (pick ~#4000 in the second round) versus if I am pick #4000 (#1 in the second round).

For all the nobaggers out there this allows for that to possibly happen. Sure everyone is going to bid for week 6. Luck of the draw will place you. We all deal with luck of the draw with first choice and qualifications. Sure the number of qualifications are supposed to balance the ranks but you can get a lopsided good or bad set of draws. It happens.

I’m sorry…what?

No bag n tag supporters. With the first come first serve system wouldn’t most pick a late event first if the robot never had a stop build date.

Agreed. Probability is a big deal to a lot of us.

Allow me to try to help.

[paraphrase]
For all the people wanting to get rid of bag and tag, this allows for that to possibly happen. Sure everyone will want to sign up for late events. The luck of the draw will decide whether you actually get it, or whether you have to settle for an earlier event.
[/paraphrase]

Better?

Even with a first pick in the second round would it matter if a event you really want is full round 1 wouldn’t it still be full? Or will they only open a percent of slots for each round.

Ok say it that way