Bug Bug: (???) Bad Settings (???)

Sort:
cwfrank

All problems cannot be solved at once, and, for each problem, we need to give time, provide feedback, and see what takes shape, etc... (Better stated.)

 

I'm on board with making observations, providing feedback and information. I'm not on-board with "roll-back" to zero or nothing. (Something is better than nothing. I'm more interested in seeing what take-shape next.)

 

Then again, I've found a happy medium in ZH, and spending a lot more time there, trying to help improve by Bug play. (Albeit, different; similar.) So, I'm not nearly as wound-up about Bug problems as I usually would be.

chuckmoulton

Again: There is a BIG difference between requesting a new feature on the one hand and requesting that they not take something that worked perfectly fine for 4 months and break it.  First, do no harm.  I get very frustrated when they break something so that we go from less than 1 minute of wait per game to more than 20 minutes of wait per game.  I don't expect them to add new features A, B, and C in the near future, but I do expect them to not make things worse... or if a programming change to try something accidentally makes something worse, then roll it back as soon as you discover the problem.  That's programming 101.

 

Secondly, you seem to be operating under the assumption that they are listening to a damn thing we say.  They aren't.  I have to say the same thing 30 times -- and indicate my exasperation -- in the hopes that they will see it even once.  They probably will never read any of this.  This club forum created by the chess.com admins seems to be rarely if ever read by the chess.com admins and never read by the chess.com programmers.

 

I can extend a company or person the basic courtesy of "They're working on it... I'll give them some time to resolve the issue and stop complaining." IF AND ONLY IF I am given some indication that they actually recognize the problem and are working on it.  I've seen ZERO evidence of this.  The chess.com admins and programmers don't extend all of us the basic courtesy of dropping in these forums and giving a quick update like "Hey, we're aware of problems X, Y, and Z.  We are working on solutions which we anticipate will take Q days or less to implement.  Thanks for your feedback."  NO, that is not what we are dealing with.  Instead, we have people like me who are trying to bring problems to the attention of the admins and programmers and people like you who assume they already know about the problems and are working on them -- with no evidence to support your crazy theory and plenty of evidence to the contrary, such as the over a week bughouse has been broken with no movement or communication whatsoever.  Let's stop the fantasies and deal in facts.

 

I've had at least 15 friends privately complain to me that getting a match takes forever on chess.com.  Maybe if all 15 of them would speak up and all of the hundreds of other people encountering this problem would speak up, the admins and programmers would recognize how royally screwed up bughouse here is and roll back the code to 2 weeks ago when it was far, far, far easier to get a game and you didn't have to wait 20 minutes.

 

You all seem to assume if you say nothing this problem will take care of itself.  That's not how life works.

erik

I hear you! We are looking into this. 

erik

Here is how matching was updated to work:


Chuck creates a challenge. Let's say he is 2200. At +/-400, that means he needs minRating=1800 maxRating=2600 to match.


Alice (1900) creates a challenge (minRating=1500, maxRating=2300). (Alice and Chuck are a match but not enough players yet).


Bob (1700) creates a challenge (minRating=1300, maxRating=2100). (Bob's challenge matches Alice but does not match Chuck's).


Carol (1900) creates a challenge (minRating=1500, maxRating=2300) (Carol matches Chuck, Alice and Bob).


Here, Carol matches everybody, Alice matches everybody, but Bob and Chuck are not a match so a game does not start.


Now, if Dave (2000) gets in, he will be matched with Chuck, Alice, Carol and they will get a game. Bob will wait more.


But, if Elton (1600) gets in, he will be matched with Alice, Carol, Bob and they will get a game, Chuck will wait more.


Every time a challenge is created in we try to find a game.

 

-----

 

The kicker is that a few weeks back we introduced this +/-400 to the matches. Before that, it was ANY match. And now we are seeing the consequences of this. And it HAS led to fewer games played. 

 

So.... your thoughts?

cwfrank

No thoughts (on my part). As is to be expected. Thanks for the info. Let's hear what Chuck and others have to say about it. I'm on-board with whatever improves game play, matching ... and I understand that there will be testing periods like this. Maybe I'll try to play a few games later and provide feedback if I think or notice anything.

 

Thanks again (for the update, information, examples, etc).

 

erik

More info: 

We had 11866 bughouse challenges yesterday.

Here are the seek ratings per challenge distribution:


< 1000 521
>= 1000 < 1400 4397
>= 1400 < 1800 5154
>= 1800 < 2000 1209
>= 2000 < 2200 459
>= 2200 < 2400 119
> 2400 7

 

Of 11866 challenges, we got 9650 matches.
9002 of those were matched in 60 seconds or less.
470 of those waited between 1 and 2 minutes.
178 of those waited more than 2 minutes.
3762 were matched instantly (the luck ones that when issued a challenge, there were three other matches waiting).
The average waiting time was 17 seconds.
The maximum waiting time was 28 minutes, user Mugwort, rating 2262.

cwfrank
erik wrote:

More info: 

We had 11866 bughouse challenges yesterday.

Here are the seek ratings per challenge distribution:


< 1000 521
>= 1000 < 1400 4397
>= 1400 < 1800 5154
>= 1800 < 2000 1209
>= 2000 < 2200 459
>= 2200 < 2400 119
> 2400 7

 

Of 11866 challenges, we got 9650 matches.
9002 of those were matched in 60 seconds or less.
470 of those waited between 1 and 2 minutes.
178 of those waited more than 2 minutes.
3762 were matched instantly (the luck ones that when issued a challenge, there were three other matches waiting).
The average waiting time was 17 seconds.
The maximum waiting time was 28 minutes, user Mugwort, rating 2262.

 

Can I request three additional data points ...

 

  1. Number of unique players.
  2. Average number of games for each unique player. (Assuming MIN = 1, MAX = ?)
  3. Total time spent playing across the average. (Games * time control * avg#games).

EDIT/NOTE:

I'd need another, additional 1 or 2 data points:

  • Average time per game, per time-control (excluding min/max -- known time-outs and to-the-microscond nub considerations are outside of SD).
  • Standard Deviation (SD) in terms of (completed) game time.
  • The latter (SD) per average team and/or total game player ratings.
  • If not 3-minute standardized, then, average number of games (across all players) at any given time-control. (This would be averaged against total daily stats; compounded by additional data points such as # of logged in users per hour; see other notes to this effect.)

 

Question: Is this data normalized for 3-minute, or is this data across all time controls?

 

Question: Can we get this data (report or query) for a 7-day, and/or 30-day time period. (Big data dump. -- Looking at weekly stats, by day, maybe by hour on day.)

 

This per the new thread (pairing options). It'll take a couple of days, but, I'd be happy to run an ML sim for each of the pairing options with additional data.

 

EDIT/NOTE:

An ML sim would effectively run per-pairing-option, and look at the points, seeking lowest wait time (maximum amount of play) per factors such as random queue sections (input based on time), sequential, or ordered. The latter EDIT/NOTE points could be aggregated during sim, but would be better to have up-front rather than seeking to normalize run-time from core data. (Real data is always better.)

 

I'm asking this because I'm not just looking at pairing, but wait-time options. (Since that's relevant to service-level or service-tier consideration, and, at first glance, there seems to be some skew.)

 

Just a thought. If the report or query is saved and can be run by-date, I'd be interested in the aggregated data with the 3 additional data points ... might be able to suggest something (with reason and rationale supported by data points).

 

$0.03 +/- $0.01

 

cwfrank

Opposed to some of the requested data points (if reasonable or available) ... a monthly and/or daily revolving average (by hour) of users logged into live chess (playing actively). -- I'd naturally assume that report is available easily. But, still need the additional 3 requested data points specific to Bughouse.

 

chuckmoulton

The -400 +400 severely limits the player pool.  It's possible people want this, but I don't think it should be inflicted on everyone by default.  It is far better to make this constraint an OPTION (preferably opt-in (off by default) rather than opt-out (on by default)) that people can pick if they want, and switch off and on depending how long it takes to find a match.

 

Alternatively, within the options there are already seek constraints for non-bughouse matches that can be specified by users in increments of 100 up to -400 +400.  It seems more straightforward to just use those settings than to make everyone -400 +400 even if they haven't specified such seek constraints.  A lot of people are having the -400 +400 bughouse seek constraints placed on them even though they do not have such specified in their options, which is very non-intuitive.

chuckmoulton

When you look at the maximum wait times, you can check to see how long I (chuckmoulton) waited for some of my matches.

 

Suppose a person waits for 10 minutes, then un-seeks and re-seeks, then gets a match after another 10 minutes.  Does that show up as a 10 minute wait or a 20 minute wait in your calculations?

 

Suppose a person waits 10 minutes, then un-seeks, un-partners, re-partners with the same person, re-seeks, waits 10 minutes, then gets a match.  Does that show up as a 10 minute wait or a 20 minute wait in your calculations?

 

What if a person waits 50 minutes and never gets a match, then leaves?  Does that show up on your calculations?

 

I suspect the maximum times you list are dramatic underestimates because most of us have taken steps that reset the "wait" clock you cite above.  When it takes 20 minutes or 10 minutes or even 5 minutes, most reasonable people would assume there is something wrong and take some affirmative step rather than continuing to wait patiently.  I think the only time I did not unseek and reseek every few minutes was when my partner and I on Skype completely forgot we were seeking on chess.com, involved in some unrelated conversation or activity.

chuckmoulton

Btw, it would also be helpful if chess.com listed somewhere when seeking/playing bughouse how many bughouse games are currently going on and how many people are seeking games.  Without that information, many of us were left wondering whether we weren't getting games because no one wanted to play bughouse.  Clearly given the statistics you gave, that was not actually the case.

Sorsi

Erik, there is a huge problem with that formula. For example i am currenly rated 2838, and when i partner someone 1800 and we seek randomly for opps i need someone at least 2438 to match our seek. Which you can imagine is almost impossible. On the other hand we could have played against a 2300 team and the game will be equal +8-8.  Wont happen, because of how this formula works. It should take the average team rating and +400-400 of it.

It is good for the random pool where a player seeks 3 more players, but it's pretty bad when you have a partner already and you are looking for opps.

It should look for the average team rating in that case. Because when i partner a 1800 we have average team rating of 2300 so we can face at least a 1900 team. It will make a +1 game which is fine. We wont ever be matched for +0 and we wont have to wait forever.

chuckmoulton

Still waiting to hear a "maximum wait time" statistic that includes people who NEVER get a game (how long they wait before giving up) and people who wait for 10-20 minutes, un-seek, re-seek, and wait another 10-20 minutes (added up).

 

I've timed how long it takes me to get a game repeatedly.  The notion that 28 minute wait time is some sort of maximum (as cited by Erik above) is flat out false.  I frequently wait far more than 28 minutes and never get a game -- frequently as in practically every night.

 

If your data is wrong -- which it is -- then your bad data will lead you to bad decisions -- which it has.

cwfrank

The data is most likely not forthcoming from what I understand. (Too many problems and issues.)

chuckmoulton

If chess.com is going to make it next to impossible for high rated players to get games, perhaps the only reasonable solution is to sandbag my rating down to 1400.  I really don't care what my rating is, so as long as chess.com has this vendetta against high rated players it may be the only logical thing to do.

erik
chuckmoulton wrote:

If chess.com is going to make it next to impossible for high rated players to get games, perhaps the only reasonable solution is to sandbag my rating down to 1400.  I really don't care what my rating is, so as long as chess.com has this vendetta against high rated players it may be the only logical thing to do.

I totally understand! What if we changed it so that at MINIMUM high rated players could match with 1600 or above? Is that acceptable? 

chuckmoulton

Erik,

 

Again: That would be better than what we have now, but worse than it was before and worse than it should be.

 

It baffles me why you think the only two ways to program this are no rating restrictions or mandatory rating restrictionsOptional rating restrictions are what practically everyone wants and seem fairly easy to implement.  It's what you have for chess.

 

Users can already specify incoming and outgoing seek ranges.  I gather outgoing seek range is used to screen opponents when you click the play button -- for chess, as it should be in bughouse.  All that would be needed is a partner seek range; however, for the short term (and for ease of programming) you could just assume partner range is the same as incoming seek range.

 

With optional rating restrictions, anyone who feels it is taking too long to get a match can unset his own seek ranges, opening himself up to more partner and match possibilities.

 

Another thing that would open things up is to calculate any opponent rating restrictions (whether mandatory +-400 as now, or optional ranges with outgoing seek as it should be) against not each opponent, but rather against the average of both opponents.

 

I will try to provide examples in a follow-up post.

chuckmoulton

Here is an example with several players.

Andrew
rating: 1400
incoming seek: -200 to +400
outgoing seek: -infinity to +400

Barry
rating: 1500
incoming seek: -150 to +400
outgoing seek: -infinity to +200

Chuck
rating: 1600
incoming seek: -400 to +400
outgoing seek: -infinity to +400

Dan
rating: 1700
incoming seek: -50 to + 400
outgoing seek: -400 to +infinity

Edward
rating: 1800
incoming seek: -200 to +400
outgoing seek: -100 to +200

Frank
rating: 1900
incoming seek: -400 to +200
outgoing seek: -400 to +50

George
rating: 2000
incoming seek: -400 to + 50
outgoing seek: -infinity to +400

Harry
rating: 2100
incoming seek: -infinity to +infinity
outgoing seek: -400 to +400

Ian
rating: 2200
incoming seek: -200 to infinity
outgoing seek: -400 to infinity


Who can partner?  Look at incoming seek.

Andrew has an incoming seek of -200 to +400.  He would be willing to partner Barry, Chuck, Dan, or Edward

Barry has an incoming seek of -150 to +400.  He would be willing to partner Andrew, Chuck, Dan, Edward, or Frank.

Chuck has an incoming seek of -400 to +400.  He would be willing to partner Andrew, Barry, Dan, Edward, Frank, or George.

Dan has an incoming seek of -50 to + 400.  He would be willing to partner Edward, Frank, George, or Harry.

Edward has an incoming seek of -200 to +400.  He would be willing to partner Chuck, Dan, Frank, George, Harry, or Ian.

Frank has an incoming seek of -400 to +200.  He would be willing to partner Barry, Chuck, Dan, Edward, George, or Harry.

George has an incoming seek of -400 to + 50.  He would be willing to partner Chuck, Dan, Edward, or Frank.

Harry has an incoming seek of -infinity to +infinity.  He would be willing to partner everyone.

Ian has an incoming seek of -200 to infinity.  He would be willing to partner George or Harry.

chuckmoulton

The possible partnerships are the interections of people willing to partner each other:
Andrew (1400) + Barry (1500) = (1450 avg rating)
Andrew (1400) + Chuck (1600) = (1500 avg rating)
Barry (1500) + Andrew (1400) = (1450 avg rating)
Barry (1500) + Chuck (1600) = (1550 avg rating)
Barry (1500) + Frank (1900) = (1700 avg rating)
Chuck (1600) + Andrew (1400) = (1500 avg rating)
Chuck (1600) + Barry (1500) = (1550 avg rating)
Chuck (1600) + Edward (1800) = (1700 avg rating)
Chuck (1600) + Frank (1900) = (1750 avg rating)
Chuck (1600) + George (2000) = (1800 avg rating)
Dan (1700) + Edward (1800) = (1750 avg rating)
Dan (1700) + Frank (1900) = (1800 avg rating)
Dan (1700) + George (2000) = (1850 avg rating)
Dan (1700) + Harry (2100) = (1900 avg rating)
Edward (1800) + Chuck (1600) = (1700 avg rating)
Edward (1800) + Dan (1700) = (1750 avg rating)
Edward (1800) + Frank (1900) = (1850 avg rating)
Edward (1800) + George (2000) = (1900 avg rating)
Edward (1800) + Harry (2100) = (1950 avg rating)
Frank (1900) + Barry (1500) = (1700 avg rating)
Frank (1900) + Chuck (1600) = (1750 avg rating)
Frank (1900) + Dan (1700) = (1800 avg rating)
Frank (1900) + Edward (1800) = (1850 avg rating)
Frank (1900) + George (2000) = (1950 avg rating)
Frank (1900) + Harry (2100) = (2000 avg rating)
George (2000) + Chuck (1600) = (1800 avg rating)
George (2000) + Dan (1700) = (1850 avg rating)
George (2000) + Edward (1800) = (1900 avg rating)
George (2000) + Frank (1900) = (1950 avg rating)
Harry (2100) + Dan (1700) = (1900 avg rating)
Harry (2100) + Edward (1800) = (1950 avg rating)
Harry (2100) + Frank (1900) = (2000 avg rating)
Harry (2100) + Ian (2200) = (2150 avg rating)
Ian (2200) + Harry (2100) = (2150 avg rating)


Dan could get more partners if he made his incoming seek -400 or -infinity instead of -50 -- he could partner with Andrew (1400), Barry (1500), and Chuck (1600) too in that case.

George could get more partners if he made his incoming seek +400 or +infinity instead of +50 -- he could partner with Harry (2100) and Ian (2200) too in that case.

Ian could get more partners if he made his incoming seek -400 or -infinity instead of -200 -- he could partner with Edward (1800) too in that case.

chuckmoulton

Who can they play against?  Look at outgoing seek.

Andrew has an outgoing seek of -infinity to +400.  He would be willing to play teams with an average rating of 0 to 1800.

Barry has an outgoing seek of -infinity to +200.  He would be willing to play teams with an average rating of 0 to 1700.

Chuck has an outgoing seek of -infinity to +400.  He would be willing to play teams with an average rating of 0 to 2000.

Dan has an outgoing seek of -400 to +infinity.  He would be willing to play teams with an average rating of 1300 to infinity.

Edward has an outgoing seek of -100 to +200.  He would be willing to play teams with an average rating of 1700 to 2000.

Frank has an outgoing seek of -400 to +50.  He would be willing to play teams with an average rating of 1500 to 1950.

George has an outgoing seek of -infinity to +400.  He would be willing to play teams with an average rating of 0 to 2400.

Harry has an outgoing seek of -400 to +400.  He would be willing to play teams with an average rating of 1700 to 2500.

Ian has an outgoing seek of -400 to infinity.  He would be willing to play teams with an average rating of 1800 to infinity.


The possible team opponents are the intersection of the team outgoing seek ranges:
(For the sake of simplification, I will remove redundant teams, listing only the alphabetical order version.)

Andrew (1400) + Barry (1500) = (1450 avg rating) willing to play 0 to 1700 avg rating.
Andrew (1400) + Chuck (1600) = (1500 avg rating) willing to play 0 to 1800 avg rating.
Barry (1500) + Chuck (1600) = (1550 avg rating) willing to play 0 to 1700 avg rating.
Barry (1500) + Frank (1900) = (1700 avg rating) willing to play 1500 to 1700 avg rating.
Chuck (1600) + Edward (1800) = (1700 avg rating) willing to play 1700 to 2000 avg rating.
Chuck (1600) + Frank (1900) = (1750 avg rating) willing to play 1500 to 1950 avg rating.
Chuck (1600) + George (2000) = (1800 avg rating) willing to play 0 to 2000 avg rating.
Dan (1700) + Edward (1800) = (1750 avg rating) willing to play 1700 to 2000 avg rating.
Dan (1700) + Frank (1900) = (1800 avg rating) willing to play 1500 to 1950 avg rating.
Dan (1700) + George (2000) = (1850 avg rating) willing to play 1300 to 2400 avg rating.
Dan (1700) + Harry (2100) = (1900 avg rating) willing to play 1700 to 2500 avg rating.
Edward (1800) + Frank (1900) = (1850 avg rating) willing to play 1700 to 1950 avg rating.
Edward (1800) + George (2000) = (1900 avg rating) willing to play 1700 to 2000 avg rating.
Edward (1800) + Harry (2100) = (1950 avg rating) willing to play 1700 to 2000 avg rating.
Frank (1900) + George (2000) = (1950 avg rating) willing to play 1500 to 1950 avg rating.
Frank (1900) + Harry (2100) = (2000 avg rating) willing to play 1700 to 1950 avg rating.
Harry (2100) + Ian (2200) = (2150 avg rating) willing to play 1800 to 2500 avg rating.