In this tutorial, we’ll walk through how to use the
Ranker class to make decisions, specifically choosing a discount to offer from a list of discounts. We’ll also need to track the decision with the
RewardTracker and reward it for the amount of profit if a purchase is made. In this way, the Ranker will learn to rank the most profitable discount first.
Using the Ranker class
First, let’s create an instance of the
from improveai import Ranker ranker = Ranker(model_url)
To rank items, you can call the
rank method of the
Ranker class. This method accepts a list of items and an optional context.
discounts = [.10, .15, .20, .25, .30] ranked_discounts = ranker.rank(discounts)
Selecting the highest-ranking discount
Now that we have the ranked discounts, we can choose the highest-ranking discount.
best_discount = ranked_discounts
Tracking the decision with RewardTracker
Next, we need to track our decision using the
Creating a RewardTracker instance
First, create a
RewardTracker instance with the required arguments.
from improveai import RewardTracker tracker = RewardTracker("discounts", track_url)
Tracking the decision
Now we can track our decision using the
track method of the
RewardTracker class. This method accepts the selected item, a list of candidates, and an optional context.
reward_id = tracker.track(best_discount, discounts)
Rewarding the decision
Once a purchase is made, we can add a reward to the decision using the
add_reward method of the
RewardTracker class. This method requires a
reward value and a
reward_id that was obtained when tracking the chosen discount.
reward = profit_amount tracker.add_reward(reward, reward_id)
Improve AI will automatically balance exploring new discounts with doubling down on the discounts expected to be most profitable. Over time and as more decisions are made, the model will learn to choose the optimal discount.
In this tutorial, we covered how to use the
Ranker class to make decisions, such as choosing a discount from a list of discounts. We also learned how to track the decision with the
RewardTracker and reward it based on the profit.
Thank you for your efforts to improve the world a little bit today.