text: Title: [ASK] Question on ndcg_at_k calculation 
  Body: ### Description
  <!--- Describe your general ask in detail -->
  Why are we using rank ('first) to get the order of the ideal ranking instead of rank('min') or rank('average)?
  
  https://github.com/microsoft/recommenders/blob/main/recommenders/evaluation/python_evaluation.py#L687
  line 597 
  df_idcg["irank"] = df_idcg.groupby(col_user, as_index=False, sort=False)[
          col_rating
      ].rank("first", ascending=False)
  
  In this case, if there is a tied in the rating, for example, item A, B, C, D, rating is 1, 0, 0,0. Using rank('first), irank = 1,2,3,4. But should we take the tied condition into consideration, that means the irank = 1,2,2,2?
  
  ### Other Comments
  