HFBoards

Go Back   HFBoards > General Hockey Discussion > By The Numbers
Mobile Hockey's Future Become a Sponsor Site Rules Support Forum vBookie Page 2
By The Numbers Hockey Analytics... the Final Frontier. Explore strange new worlds, to seek out new algorithms, to boldly go where no one has gone before.

Modeling long term team oscillation

Reply
 
Thread Tools
Old
07-27-2014, 11:40 AM
  #1
bedsheetrubber92
We are never give up
 
bedsheetrubber92's Avatar
 
Join Date: Feb 2014
Location: Colorado
Country: United States
Posts: 361
vCash: 500
Modeling long term team oscillation

Okay so I've been working on this for several days now and I thought I'd ask what yall thought.

I think it's clear to everyone that most teams go through strong and weak periods do to the way that the draft makes bad teams better/good teams worse. I'm seeking to model this as realistically as possible.

At some point I intend to look into making the model more complex, but for now all that happens is that there are 6 teams and each team has a roster of 75 players. Each player has a talent rating determined by their age/draft position and each year a team's talent rating is the sum of the best 20 player talent scores. The teams are then ranked and the best team wins a fictional Stanley cup. Then each team drafts 5 players, replacing the oldest 5 players on the roster.

While I'm hoping to add some random elements to this at some point, for now talent is the product of a player's draft_talent:

17.0 / (draftPos + 16)



And their age_effect: (Each player is 0 when drafted and retires after 15 years)

(-1)(age)(age-15)




For 6 teams this produced:



For 12 teams this produced:




For more teams there's too much going on to see anything.

What do you think?
The most interesting thing is how some teams have a high amplitude oscillation while others stay at the middle of the pack. The period of oscillation is interesting. The way that teams naturally fall into a pattern where each team peaks a few years apart.

The weakest part of this is probably
1) my estimation of the age_effect
2) players never leaving in free agency
3) no salary cap problems.
4) How deterministic the model is. If someone can come up with an effective way of randomizing player careers/individual years that would help.

If anyone can think of simple means of altering the model to account for these it would be great!



If anyone wants the C++ code just holler.




Also, in case anyone is interested, the teams are initialized by giving them the same draft pick for years -14 to year 0 (the top team has had the last 14 first overall picks at year 0. For years 0-9 or so they are drafting last.


Last edited by bedsheetrubber92: 07-27-2014 at 12:21 PM.
bedsheetrubber92 is offline   Reply With Quote
Old
07-27-2014, 12:14 PM
  #2
Doctor No
Mod Supervisor
Retired?
 
Doctor No's Avatar
 
Join Date: Sep 2005
Posts: 24,792
vCash: 500
This is pretty interesting - thanks for sharing it!

Aside from the considerations that you made, I'd probably add a perturbation factor to each player's ability (just to account for the randomness inherent in this process).

Ultimately if I were to start this from scratch, I'd build it as an agent-based model just to make any interactions easier to handle. That's not a problem yet, but as you add more complexity it will make things a whole lot easier.

Doctor No is offline   Reply With Quote
Old
07-27-2014, 12:24 PM
  #3
bedsheetrubber92
We are never give up
 
bedsheetrubber92's Avatar
 
Join Date: Feb 2014
Location: Colorado
Country: United States
Posts: 361
vCash: 500
It is agent based I think.

There is a player class and each team class has an array of 75 players. (draft 5 players each year x careers last 15 years = 75)

That's agent based no?

bedsheetrubber92 is offline   Reply With Quote
Reply

Forum Jump


Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 01:18 PM.

monitoring_string = "e4251c93e2ba248d29da988d93bf5144"
Contact Us - HFBoards - Archive - Privacy Statement - Terms of Use - Advertise - Top - AdChoices

vBulletin Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
HFBoards.com is a property of CraveOnline Media, LLC, an Evolve Media, LLC company. 2015 All Rights Reserved.