Question
Background We are part of a bidding process for leads called the ping tree. We have a spot saved for us at $75, where we
Background We are part of a bidding process for leads called the ping tree. We have a spot saved for us at $75, where we can decide if we would like to purchase the lead at $75, or bid a lower price. The lower the price, the less likely that we win the bid. Currently we are set up to bid only at $75, $50, $35, and $3. After the lead is purchased, we will try to convert it into a loan. Fields BidPrice: If this is populated, then we bid this price for this lead AcceptedBid: This will tell you if the bid was accepted (we won the bid) ExpectedRevenue: This is the amount of revenue we expect to get from the lead if it turns into a loan. Three things need to happen for us to get any revenue:
1. We need to bid 2. We need to win the bid 3. We need to convert the lead into a loan
ExpectedConversion: This is the expected conversion rate of lead into loan. Example Lets say we bid on 20 leads. For simplicity, lets say we bid $50 on each, and that all 20 are exactly the same: ExpectedRevenue ExpectedConversion 150 0.4 Lets also say we win 10 of these bids and lose 10. The 10 bids we lost have no revenue or costs. The 10 bids we won cost $50 each so $500 total cost. They each have an expected revenue of $150, and they each have an expected conversion of 40%. 10 Leads * 40% Conversion = 4 Loans 4 Loans * $150 Revenue = $600 Total Revenue So for this example, we have $600 in total revenue, and $500 in costs so we have a net revenue of $100. Problem How should bids be placed to maximize the net revenue (given the constrains section below)? With the expected revenue and conversion provided, can you build a model or set of rules that would maximize the net revenue? A very simple ruleset could look something like this: If ExpectedRevenue * ExpectedConversion > 100, (Bid 75) Else If ExpectedRevenue * ExpectedConversion > 75, (Bid 50) Else If ExpectedRevenue * ExpectedConversion > 50, (Bid 35) Else If ExpectedRevenue * ExpectedConversion > 20, (Bid 3) Else (Dont Bid)
Constraints We have a specific volume of leads that the call center can handle, so we want the expected number of leads purchased with your rules to be within 5% of the leads we actually purchased. For example, over the whole dataset that would be between 15224 and 16827. We receive leads and make our decisions sequentially. This means we dont have access to the data of a future lead when evaluating a current lead. However, you can assume that we know the number of leads that we will see over a given timeframe (or in this case the number of leads that belong to the file). We can ONLY bid at the only at $75, $50, $35, and $3 price points. i/e you cant bid $7. You can only bid once. If you decide to bid at $50, and the bid is lost then that lead is lost Expectations Take care in presenting your results. We want to see what steps you used, what technology you used. Did you try something that didnt work? What assumptions did you make? We want to see both your thought process and your code. With that in mind we want the format of your submission to demonstrate both, for example a Jupyter notebook. While we want to see functioning ruleset or model, it does not have to be an exhaustive study. We are interested in other things you might try to improve your approach, but these can be described rather than implemented.
Notes You can assume that Expected Revenue and Expected Conversion are accurate. Leads are ordered by id with respect to time, with larger ids corresponding to more recent leads. We dont NEED to bid at any specific price. If you decide that we should only bid $3 on leads, thats perfectly fine. For a sanity check, the net revenue for the file for the bids that actually happened is $1,207,654.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started