James McCool commited on
Commit
6ebe3a4
·
1 Parent(s): 86bfc9c

Update Lineup Edge calculation in predict_dupes.py to include a normalized adjustment based on duplicate ownership. This change improves the accuracy of the edge computation by factoring in the average number of duplicates, enhancing overall portfolio predictions.

Browse files
Files changed (1) hide show
  1. global_func/predict_dupes.py +1 -1
global_func/predict_dupes.py CHANGED
@@ -421,7 +421,7 @@ def predict_dupes(portfolio, maps_dict, site_var, type_var, Contest_Size, streng
421
  portfolio['Finish_percentile'] = portfolio.apply(lambda row: row['Finish_percentile'] if row['low_own_count'] <= 0 else row['Finish_percentile'] / row['low_own_count'], axis=1)
422
  portfolio['Lineup Edge'] = (portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5)))
423
  # portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
424
- portfolio['Lineup Edge'] = ((portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean()))
425
  portfolio['Weighted Own'] = portfolio[own_columns].apply(calculate_weighted_ownership_wrapper, axis=1)
426
  portfolio['Geomean'] = np.power((portfolio[own_columns] * 100).product(axis=1), 1 / len(own_columns))
427
 
 
421
  portfolio['Finish_percentile'] = portfolio.apply(lambda row: row['Finish_percentile'] if row['low_own_count'] <= 0 else row['Finish_percentile'] / row['low_own_count'], axis=1)
422
  portfolio['Lineup Edge'] = (portfolio['Win%'] * ((.5 - portfolio['Finish_percentile']) * (Contest_Size / 2.5)))
423
  # portfolio['Lineup Edge'] = portfolio.apply(lambda row: row['Lineup Edge'] / (row['Dupes'] + 1) if row['Dupes'] > 0 else row['Lineup Edge'], axis=1)
424
+ portfolio['Lineup Edge'] = ((portfolio['Lineup Edge'] - portfolio['Lineup Edge'].mean())) + ((portfolio['Dupes'] - portfolio['Dupes'].mean()) / 100)
425
  portfolio['Weighted Own'] = portfolio[own_columns].apply(calculate_weighted_ownership_wrapper, axis=1)
426
  portfolio['Geomean'] = np.power((portfolio[own_columns] * 100).product(axis=1), 1 / len(own_columns))
427