Analyzing a team's needs

Temporary forum for the discussion of the Tuesday Morning project, to enhance the Madden 08 off-the-field experience.
User avatar
torontogrudlies
MVP
Posts: 837
Joined: Fri Jul 15, 2011 4:56 pm

Analyzing a team's needs

Postby torontogrudlies » Fri Apr 27, 2012 10:18 am

We will also need some processes which will analyze a team's needs. Comparing their philosophies to the personnel they have on the roster. This will be useful as part of the trade evaluation process, so they'll know what players to look for on the trade block. Also, if we bring offseason tasks such as free agency and the draft into this app, such an analysis will be instrumental.

Analyzing a team's needs

Sponsor

Sponsor
 

User avatar
torontogrudlies
MVP
Posts: 837
Joined: Fri Jul 15, 2011 4:56 pm

Re: Analyzing a team's needs

Postby torontogrudlies » Fri Apr 27, 2012 11:05 am

And, we need to somehow break this down. A team will have NOW needs, and 5 year plan type needs. My qb is taking 7 sacks a game, I probably have a NOW need for some linemen. Future HoF qb in his early to mid thirties, and a journeyman backup, probably a 5 year need for a qb to groom.

Drizzt_13
All-Pro
Posts: 202
Joined: Wed Apr 18, 2012 7:32 pm

Re: Analyzing a team's needs

Postby Drizzt_13 » Sat Apr 28, 2012 1:22 am

Madden amp already does this, because it's open source wouldn't it be possible to see how they handle it just as a starting point or as something to consider and think about?

User avatar
torontogrudlies
MVP
Posts: 837
Joined: Fri Jul 15, 2011 4:56 pm

Re: Analyzing a team's needs

Postby torontogrudlies » Sat Apr 28, 2012 2:09 am

I looked in there; although I'm not fluent in that programming language, some of the notes and comments were insightful:

Code: Select all

$positions->{POSITION}->{"val"}->{SYSTEM} : Gives the relative value of this position for a 3-4 or 4-3 defense.
# $positions->{POSITION}->{"suc"} : Relative need of having a successor at this position.
# $positions->{POSITION}->{"ret"} : Typical retirement age at this position.
# $positions->{POSITION}->{"backup"} : Importance of having a backup.  Note that it's higher for positions
#   like HB, CB, and WR where certain formations require having more than just the starters on the field
#   and/or play often in general.
# $positions->{POSITION}->{"thresh"} : Sets the absolute minimum need in order to draft a guy at this position.
#   If a guy's need falls below this, he won't be drafted.  For example, there's no need to take a K or P
#   unless you *really* need one.


my $positions = {
"QB" =>  {"val" => {"43" => 100, "34" => 100}, "suc" => 1, "ret" => 35, "backup" => 0.7, "thresh" => 0},
"DE" =>  {"val" => {"43" => 85, "34" => 55}, "suc" => 0.5, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"CB" =>  {"val" => {"43" => 80, "34" => 80}, "suc" => 0.7, "ret" => 32, "backup" => 0.9, "thresh" => -1},
"LT" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"HB" =>  {"val" => {"43" => 60, "34" => 60}, "suc" => 0.8, "ret" => 33, "backup" => 1, "thresh" => -0.9},
"WR" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 35, "backup" => 0.9, "thresh" => -1},
"DT" =>  {"val" => {"43" => 60, "34" => 65}, "suc" => 0.4, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"RT" =>  {"val" => {"43" => 55, "34" => 55}, "suc" => 0.6, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"MLB" => {"val" => {"43" => 50, "34" => 60}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"OLB" => {"val" => {"43" => 50, "34" => 65}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"S" =>   {"val" => {"43" => 40, "34" => 40}, "suc" => 0.4, "ret" => 32, "backup" => 0.6, "thresh" => -0.9},
"G" =>   {"val" => {"43" => 35, "34" => 35}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"TE" =>  {"val" => {"43" => 25, "34" => 25}, "suc" => 0.6, "ret" => 32, "backup" => 0.6, "thresh" => -0.2},
"FB" =>  {"val" => {"43" => 10, "34" => 10}, "suc" => 0.3, "ret" => 31, "backup" => 0.2, "thresh" => 0.5},
"C" =>   {"val" => {"43" => 30, "34" => 30}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"K" =>   {"val" => {"43" => 4, "34" => 4}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75},
"P" =>   {"val" => {"43" => 1, "34" => 1}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75} }


$teams->{TEAM}->{"CON"} : Tells us how close the team is to winning the Superbowl.  5 means they're close
#   to winning it, 1 means they're seriously rebuilding.  Most teams are 2-4.  In principle this should
#   be calculated from the team's OVR rating -- here we input it by hand.  This is used in a few different
#   places.  First, it's used to estimate progression.  The worse teams give more credit for progression
#   to rookies.  The philosophy here is that a team with CON=1 is looking to win the SB in 5 years or so.
#   Therefore, they are most concerned with how the rookies will compare to their current players 5 years
#   down the road.  In particular, they assume the rookies will progress 2 points a year (an average value)
#   when comparing to players on their roster.  It is also used to determine how badly a successor is
#   needed.  With the same logic, a contending team can afford to wait a few years longer to find a
#   successor than a bottom feeder.  For example, the Cardinals have Warner who is 32, but they won't be
#   set to win the SB until he's 35/36.  At that point, he'll be ready to retire, so they need a successor
#   now.  On the other hand, the Packers have Favre and he's about to retire, but since they can make one
#   last push for the SB, finding a successor isn't quite as urgent.



Yes, lots of neat stuff in there for team needs evaluation, regarding general positions as well as adaptable to specific teams!

I wonder if Stingray68 has any insight, and/or might want to participate in our effort here? It was said that he's the resident expert on Maddenamp...

Drizzt_13
All-Pro
Posts: 202
Joined: Wed Apr 18, 2012 7:32 pm

Re: Analyzing a team's needs

Postby Drizzt_13 » Sat Apr 28, 2012 8:07 pm

torontogrudlies wrote:I looked in there; although I'm not fluent in that programming language, some of the notes and comments were insightful:

Code: Select all

$positions->{POSITION}->{"val"}->{SYSTEM} : Gives the relative value of this position for a 3-4 or 4-3 defense.
# $positions->{POSITION}->{"suc"} : Relative need of having a successor at this position.
# $positions->{POSITION}->{"ret"} : Typical retirement age at this position.
# $positions->{POSITION}->{"backup"} : Importance of having a backup.  Note that it's higher for positions
#   like HB, CB, and WR where certain formations require having more than just the starters on the field
#   and/or play often in general.
# $positions->{POSITION}->{"thresh"} : Sets the absolute minimum need in order to draft a guy at this position.
#   If a guy's need falls below this, he won't be drafted.  For example, there's no need to take a K or P
#   unless you *really* need one.


my $positions = {
"QB" =>  {"val" => {"43" => 100, "34" => 100}, "suc" => 1, "ret" => 35, "backup" => 0.7, "thresh" => 0},
"DE" =>  {"val" => {"43" => 85, "34" => 55}, "suc" => 0.5, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"CB" =>  {"val" => {"43" => 80, "34" => 80}, "suc" => 0.7, "ret" => 32, "backup" => 0.9, "thresh" => -1},
"LT" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"HB" =>  {"val" => {"43" => 60, "34" => 60}, "suc" => 0.8, "ret" => 33, "backup" => 1, "thresh" => -0.9},
"WR" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 35, "backup" => 0.9, "thresh" => -1},
"DT" =>  {"val" => {"43" => 60, "34" => 65}, "suc" => 0.4, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"RT" =>  {"val" => {"43" => 55, "34" => 55}, "suc" => 0.6, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"MLB" => {"val" => {"43" => 50, "34" => 60}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"OLB" => {"val" => {"43" => 50, "34" => 65}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"S" =>   {"val" => {"43" => 40, "34" => 40}, "suc" => 0.4, "ret" => 32, "backup" => 0.6, "thresh" => -0.9},
"G" =>   {"val" => {"43" => 35, "34" => 35}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"TE" =>  {"val" => {"43" => 25, "34" => 25}, "suc" => 0.6, "ret" => 32, "backup" => 0.6, "thresh" => -0.2},
"FB" =>  {"val" => {"43" => 10, "34" => 10}, "suc" => 0.3, "ret" => 31, "backup" => 0.2, "thresh" => 0.5},
"C" =>   {"val" => {"43" => 30, "34" => 30}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"K" =>   {"val" => {"43" => 4, "34" => 4}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75},
"P" =>   {"val" => {"43" => 1, "34" => 1}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75} }


$teams->{TEAM}->{"CON"} : Tells us how close the team is to winning the Superbowl.  5 means they're close
#   to winning it, 1 means they're seriously rebuilding.  Most teams are 2-4.  In principle this should
#   be calculated from the team's OVR rating -- here we input it by hand.  This is used in a few different
#   places.  First, it's used to estimate progression.  The worse teams give more credit for progression
#   to rookies.  The philosophy here is that a team with CON=1 is looking to win the SB in 5 years or so.
#   Therefore, they are most concerned with how the rookies will compare to their current players 5 years
#   down the road.  In particular, they assume the rookies will progress 2 points a year (an average value)
#   when comparing to players on their roster.  It is also used to determine how badly a successor is
#   needed.  With the same logic, a contending team can afford to wait a few years longer to find a
#   successor than a bottom feeder.  For example, the Cardinals have Warner who is 32, but they won't be
#   set to win the SB until he's 35/36.  At that point, he'll be ready to retire, so they need a successor
#   now.  On the other hand, the Packers have Favre and he's about to retire, but since they can make one
#   last push for the SB, finding a successor isn't quite as urgent.



Yes, lots of neat stuff in there for team needs evaluation, regarding general positions as well as adaptable to specific teams!

I wonder if Stingray68 has any insight, and/or might want to participate in our effort here? It was said that he's the resident expert on Maddenamp...



This is interesting, but as far as I can tell it's just the constants and not the formulas for how things fit together. We could definitely use things like the {POSITION}->{"val"}-> constants as a starting point for how we balance positions to each other. We have a lot of the same ideas as them, the main difference for us is just that we're trying to tweak the AI slightly based on coach and GM tendencies rather than having all of the teams draft the same. I disagree with some of their constans, I think a 4-3 MLB is actually fairly important

I'm trying to figure out how we work things like the successor value, and the rating for how competitive a franchise is into the valuation formulas. We already have a win now vs. build for the future type stat in the gm stat-line, but it makes sense that this would be modified by how good the team is presently.

The successor and replacement values bring up an interesting point, we need teams to be able to differentiate between positions where they just need a backup, positions where they need a successor in 2-3 years and positions where they need a starter. I think they're using retirement age as an indicator for when you need a successor. I would prefer not to do that and have it based off of how quickly players decline, even if a WR makes it to 35 they are usually much less effective by the time they hit 32-33 anyway, so we should adjust for that.

User avatar
torontogrudlies
MVP
Posts: 837
Joined: Fri Jul 15, 2011 4:56 pm

Re: Analyzing a team's needs

Postby torontogrudlies » Sat Apr 28, 2012 9:10 pm

Drizzt_13 wrote:
torontogrudlies wrote:I looked in there; although I'm not fluent in that programming language, some of the notes and comments were insightful:

Code: Select all

$positions->{POSITION}->{"val"}->{SYSTEM} : Gives the relative value of this position for a 3-4 or 4-3 defense.
# $positions->{POSITION}->{"suc"} : Relative need of having a successor at this position.
# $positions->{POSITION}->{"ret"} : Typical retirement age at this position.
# $positions->{POSITION}->{"backup"} : Importance of having a backup.  Note that it's higher for positions
#   like HB, CB, and WR where certain formations require having more than just the starters on the field
#   and/or play often in general.
# $positions->{POSITION}->{"thresh"} : Sets the absolute minimum need in order to draft a guy at this position.
#   If a guy's need falls below this, he won't be drafted.  For example, there's no need to take a K or P
#   unless you *really* need one.


my $positions = {
"QB" =>  {"val" => {"43" => 100, "34" => 100}, "suc" => 1, "ret" => 35, "backup" => 0.7, "thresh" => 0},
"DE" =>  {"val" => {"43" => 85, "34" => 55}, "suc" => 0.5, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"CB" =>  {"val" => {"43" => 80, "34" => 80}, "suc" => 0.7, "ret" => 32, "backup" => 0.9, "thresh" => -1},
"LT" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"HB" =>  {"val" => {"43" => 60, "34" => 60}, "suc" => 0.8, "ret" => 33, "backup" => 1, "thresh" => -0.9},
"WR" =>  {"val" => {"43" => 65, "34" => 65}, "suc" => 0.7, "ret" => 35, "backup" => 0.9, "thresh" => -1},
"DT" =>  {"val" => {"43" => 60, "34" => 65}, "suc" => 0.4, "ret" => 35, "backup" => 0.8, "thresh" => -1},
"RT" =>  {"val" => {"43" => 55, "34" => 55}, "suc" => 0.6, "ret" => 36, "backup" => 0.5, "thresh" => -1},
"MLB" => {"val" => {"43" => 50, "34" => 60}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"OLB" => {"val" => {"43" => 50, "34" => 65}, "suc" => 0.5, "ret" => 34, "backup" => 0.4, "thresh" => -0.8},
"S" =>   {"val" => {"43" => 40, "34" => 40}, "suc" => 0.4, "ret" => 32, "backup" => 0.6, "thresh" => -0.9},
"G" =>   {"val" => {"43" => 35, "34" => 35}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"TE" =>  {"val" => {"43" => 25, "34" => 25}, "suc" => 0.6, "ret" => 32, "backup" => 0.6, "thresh" => -0.2},
"FB" =>  {"val" => {"43" => 10, "34" => 10}, "suc" => 0.3, "ret" => 31, "backup" => 0.2, "thresh" => 0.5},
"C" =>   {"val" => {"43" => 30, "34" => 30}, "suc" => 0.4, "ret" => 36, "backup" => 0.5, "thresh" => -0.8},
"K" =>   {"val" => {"43" => 4, "34" => 4}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75},
"P" =>   {"val" => {"43" => 1, "34" => 1}, "suc" => 0.1, "ret" => 38, "backup" => 0.1, "thresh" => 0.75} }


$teams->{TEAM}->{"CON"} : Tells us how close the team is to winning the Superbowl.  5 means they're close
#   to winning it, 1 means they're seriously rebuilding.  Most teams are 2-4.  In principle this should
#   be calculated from the team's OVR rating -- here we input it by hand.  This is used in a few different
#   places.  First, it's used to estimate progression.  The worse teams give more credit for progression
#   to rookies.  The philosophy here is that a team with CON=1 is looking to win the SB in 5 years or so.
#   Therefore, they are most concerned with how the rookies will compare to their current players 5 years
#   down the road.  In particular, they assume the rookies will progress 2 points a year (an average value)
#   when comparing to players on their roster.  It is also used to determine how badly a successor is
#   needed.  With the same logic, a contending team can afford to wait a few years longer to find a
#   successor than a bottom feeder.  For example, the Cardinals have Warner who is 32, but they won't be
#   set to win the SB until he's 35/36.  At that point, he'll be ready to retire, so they need a successor
#   now.  On the other hand, the Packers have Favre and he's about to retire, but since they can make one
#   last push for the SB, finding a successor isn't quite as urgent.



Yes, lots of neat stuff in there for team needs evaluation, regarding general positions as well as adaptable to specific teams!

I wonder if Stingray68 has any insight, and/or might want to participate in our effort here? It was said that he's the resident expert on Maddenamp...



This is interesting, but as far as I can tell it's just the constants and not the formulas for how things fit together. We could definitely use things like the {POSITION}->{"val"}-> constants as a starting point for how we balance positions to each other. We have a lot of the same ideas as them, the main difference for us is just that we're trying to tweak the AI slightly based on coach and GM tendencies rather than having all of the teams draft the same. I disagree with some of their constans, I think a 4-3 MLB is actually fairly important



Yeah, I'd use something like this to give me general ideas, probably would not just copy equations outright. It did add a few ideas which I hadn't really thought of....



I'm trying to figure out how we work things like the successor value, and the rating for how competitive a franchise is into the valuation formulas. We already have a win now vs. build for the future type stat in the gm stat-line, but it makes sense that this would be modified by how good the team is presently.



The "patience" is intended more as an attribute than a stat. I wouldn't think it would change per se.... it's more of a "this is his philosophy on x" and usually wouldn't change. Although the decisions he makes, even with the same attribute, would differ based upon other data.... like if they're a contender and a favorite to go to the Super Bowl with the team they have now, he would probably not start having a "fire sale" even if he's more of a long-term guy.




The successor and replacement values bring up an interesting point, we need teams to be able to differentiate between positions where they just need a backup, positions where they need a successor in 2-3 years and positions where they need a starter. I think they're using retirement age as an indicator for when you need a successor. I would prefer not to do that and have it based off of how quickly players decline, even if a WR makes it to 35 they are usually much less effective by the time they hit 32-33 anyway, so we should adjust for that.


Are you thinking we still use an age, but maybe it's more of an "over the hill" age rather than an average retirement age?


Return to “Tuesday Morning Manager”

Who is online

Users browsing this forum: No registered users and 3 guests