Untitled
unknown
plain_text
a year ago
2.2 kB
8
Indexable
# Define factors and weights (for demonstration purposes)
factors = {
'age': {'weight': 0.1, 'max_value': 30},
'position': {'weights': {'forward': 1.5, 'midfielder': 1.2, 'defender': 1.0, 'goalkeeper': 0.8}},
'club_reputation': {'weights': {'top': 1.5, 'mid': 1.0, 'low': 0.5}},
'contract_length': {'weight': 0.2},
'performance': {'weight': 0.3},
'international_caps': {'weight': 0.5},
'injury_history': {'weight': -0.2}
}
# Example player data
player = {
'age': 25,
'position': 'forward',
'club_reputation': 'top',
'contract_length': 4, # in years
'performance_score': 85, # out of 100
'international_caps': 30,
'injury_risk_score': 0.1 # example, lower is better (less risk)
}
# Function to calculate player value
def calculate_player_value(player_data, factors):
total_value = 0.0
# Age factor
age_factor = factors['age']['weight'] * (factors['age']['max_value'] - player_data['age'])
total_value += age_factor
# Position factor
position_factor = factors['position']['weights'].get(player_data['position'], 1.0)
total_value += position_factor
# Club reputation factor
club_rep_factor = factors['club_reputation']['weights'].get(player_data['club_reputation'], 1.0)
total_value += club_rep_factor
# Contract length factor
contract_factor = factors['contract_length']['weight'] * player_data['contract_length']
total_value += contract_factor
# Performance factor
performance_factor = factors['performance']['weight'] * (player_data['performance_score'] / 100)
total_value += performance_factor
# International caps factor
international_caps_factor = factors['international_caps']['weight'] * (player_data['international_caps'] / 50)
total_value += international_caps_factor
# Injury history factor
injury_factor = factors['injury_history']['weight'] * player_data['injury_risk_score']
total_value += injury_factor
return total_value
# Calculate player's value
player_value = calculate_player_value(player, factors)
print(f"The estimated value of the player is: {player_value:.2f} million euros")
Editor is loading...
Leave a Comment