Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification on Multi-slot Support: Which Areas Are Currently Incomplete? #16

Open
budaPunk opened this issue Aug 26, 2024 · 0 comments

Comments

@budaPunk
Copy link

budaPunk commented Aug 26, 2024

auction-gym/src/main.py

Lines 35 to 37 in 065f8bf

# Max. number of slots in every auction round
# Multi-slot is currently not fully supported.
max_slots = 1

I’m planning to conduct research on multi-slot auction examples and am currently checking which parts of the code need modification.
Below is what I have identified so far and need your validation.

  • The classes in AuctionAllocation.py seem to already implement the logic for returning winners and prices up to the nth position.
    • class SecondPrice(AllocationMechanism):
      ''' (Generalised) Second-Price Allocation '''
      def __init__(self):
      super(SecondPrice, self).__init__()
      def allocate(self, bids, num_slots):
      winners = np.argsort(-bids)[:num_slots]
      prices = -np.sort(-bids)[1:num_slots+1]
      return winners, prices, prices
    • 🔧 since bid = value * eCTR the ranking is based on eCPM.
      to implement GSP in this context we need to add eCTR to allocation input,
      and set $price_i = bid_{i+1} / eCTR_{i}$ ?
  • The click allocation part in Auction.py also appears to support multiple slots.
    • outcomes = self.rng.binomial(1, CTRs[winners])
    • 🔧 For multi-slot auctions, we want to consider position effects.
      to implement this in the click allocation we can do like $outcomes = binomial(1, CTRs * posEff)$ ?

If there are any additional areas in the project’s code that require modification for conducting research on multi-slot auctions,
I would greatly appreciate your guidance.

If it is structurally impossible for the project to support multi-slot auctions, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant