James McCool
commited on
Commit
·
4b826cf
1
Parent(s):
51fef7b
Refactor reassess_dupes function in reassess_edge.py to enhance ownership calculation by incorporating a more detailed salary and ownership adjustment mechanism, improving accuracy in metrics.
Browse files- global_func/reassess_edge.py +10 -1
global_func/reassess_edge.py
CHANGED
|
@@ -44,7 +44,16 @@ def calculate_weighted_ownership_single_row(row_ownerships):
|
|
| 44 |
return weighted * 10000
|
| 45 |
|
| 46 |
def reassess_dupes(row: pd.Series, salary_max: int) -> float:
|
| 47 |
-
return math.ceil(row['Dupes'] +
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
def reassess_lineup_edge(row: pd.Series, Contest_Size: int) -> float:
|
| 50 |
row['Lineup Edge'] = row['Win%'] * ((.5 - row['Finish_percentile']) * (Contest_Size / 2.5))
|
|
|
|
| 44 |
return weighted * 10000
|
| 45 |
|
| 46 |
def reassess_dupes(row: pd.Series, salary_max: int) -> float:
|
| 47 |
+
return math.ceil(row['Dupes'] +
|
| 48 |
+
(
|
| 49 |
+
# Salary component: base +2 + salary_diff/200 for every $100 above threshold
|
| 50 |
+
(max(0, (row['salary'] - (salary_max - 500)) / 100) * (2 + (row['salary_diff'] / 200)) *
|
| 51 |
+
(1 if row['salary_diff'] >= 0 else -1)) +
|
| 52 |
+
|
| 53 |
+
# Ownership component: direct negative/positive effect
|
| 54 |
+
(row['own_diff'] / 10)
|
| 55 |
+
)
|
| 56 |
+
)
|
| 57 |
|
| 58 |
def reassess_lineup_edge(row: pd.Series, Contest_Size: int) -> float:
|
| 59 |
row['Lineup Edge'] = row['Win%'] * ((.5 - row['Finish_percentile']) * (Contest_Size / 2.5))
|