In this post, I will share with you some of my scientific contributions at the startup Favoritoz, a previous business that I was involved as Co-Founder and Scientist Chief. The main contribution was an algorithm to rank on-line deals in coupon systems. This algorithm was implemented and worked for ten months when the startup was running on-line. I believe that all this implementation could serve as baseline for anyone who is looking after some work related to this field and also a main contribution to the recommender system community.
![]() |
Favoritoz's Coupon System |
Favoritoz was on-line coupon system where retailers could publish offers with special discounts or their products to segmented customers interested at their products or by a specific brand. One of the critical features was the personalization, where people could say wha they would like to receive daily at their deals wall. For instance, If l liked sushis, videogames and junk-food , the system could detect those interests and using our algorithm it would rank higher offers and deals related by those topics.
My goal was to develop this baseline for ranking deals based on their interests, but not only using the user profile, also we could use particular aspects from the on-line deals such as: the initial date of the deal, the popularity of the deal or the number of coupons left for that deal. All those aspects could be measured in order to compute a overall score that would be used to rank those recommendable items.
Ranking Model
Recommender systems aim to present desirable items for a person to choose from. This task is accomplished by sorting some itens in ther order of utility or interest for the person. Generaly those items are organized in some form of list, such as, in our scenario, the various deals organized as wallboard on Favoritoz. But the question is how to order those deals in a way that users could interest at or even convert into transactions ? That's my work! I came with a simple ranking algorithm that could use various type of information available in order to come with a useful ranking system that could recommend the best deals for each of our customers at Favoritoz.
By looking to specific features in our domain (coupons market) we could use them to build a ranking function that could give some personalized recommendations. For instance, we look for "hot" deals, which is represented by most bought deals (popularity) . But it can lead to deals that are common to everyone and it's the opposite of personalization. So let's use another information like the publishing date and expiration date of the deal which could give us the newest deals and the deals that are almost close to end. Furthermore, let's look into the number of coupons available, in this case, a deal that are almost with no coupons left, could atract more users to purchase the last ones. Another important feature is the user taste. In Favoritoz people could follow retailers (their favorites) and categories (sports, cuisine, automobile, etc.) We use also this information in the ranking equation. In the end, in order to produce rankings that balance all of these aspects we came wih a prediction model using all those features.
I liked the NetFlix approach on his recommendation problem at their company, where they came up with a simple scoring approach by choosing the ranking function to be a linear combination of several features. We also came with this approach but using different features exclusive at our domain.
It's like this equation:
SD = Publishing Date of the deal d,
ED = Expiration Date of the deal d,
P = Deal Popularity
CA = Coupons Available of the deal d,
UP = User Profile (user tastes)
DV = Diversity (based on stores)
It's simple and of course there are many improvements that could be made. But it was our baseline and at our tests in production was very satisfactory. In 4 months running we achieved an increase of almot 300% in click-through-rates per user thant without any ranking methods. Of course several external factors could influence this result, but showed us promising results at our first attempt. I implemented all the code with Python and a fork of my current framework Crab, a python framework for building recommender systems and variations.
All the algorithm explained can be accessed at this link.
My goal was to develop this baseline for ranking deals based on their interests, but not only using the user profile, also we could use particular aspects from the on-line deals such as: the initial date of the deal, the popularity of the deal or the number of coupons left for that deal. All those aspects could be measured in order to compute a overall score that would be used to rank those recommendable items.
Ranking Model
Recommender systems aim to present desirable items for a person to choose from. This task is accomplished by sorting some itens in ther order of utility or interest for the person. Generaly those items are organized in some form of list, such as, in our scenario, the various deals organized as wallboard on Favoritoz. But the question is how to order those deals in a way that users could interest at or even convert into transactions ? That's my work! I came with a simple ranking algorithm that could use various type of information available in order to come with a useful ranking system that could recommend the best deals for each of our customers at Favoritoz.
By looking to specific features in our domain (coupons market) we could use them to build a ranking function that could give some personalized recommendations. For instance, we look for "hot" deals, which is represented by most bought deals (popularity) . But it can lead to deals that are common to everyone and it's the opposite of personalization. So let's use another information like the publishing date and expiration date of the deal which could give us the newest deals and the deals that are almost close to end. Furthermore, let's look into the number of coupons available, in this case, a deal that are almost with no coupons left, could atract more users to purchase the last ones. Another important feature is the user taste. In Favoritoz people could follow retailers (their favorites) and categories (sports, cuisine, automobile, etc.) We use also this information in the ranking equation. In the end, in order to produce rankings that balance all of these aspects we came wih a prediction model using all those features.
I liked the NetFlix approach on his recommendation problem at their company, where they came up with a simple scoring approach by choosing the ranking function to be a linear combination of several features. We also came with this approach but using different features exclusive at our domain.
It's like this equation:
frank(u,d) = w1 * SD + w2 * ED + w3*P + w4*CA + w5*UP + w6*DV + bwhere,
SD = Publishing Date of the deal d,
ED = Expiration Date of the deal d,
P = Deal Popularity
CA = Coupons Available of the deal d,
UP = User Profile (user tastes)
DV = Diversity (based on stores)
It's simple and of course there are many improvements that could be made. But it was our baseline and at our tests in production was very satisfactory. In 4 months running we achieved an increase of almot 300% in click-through-rates per user thant without any ranking methods. Of course several external factors could influence this result, but showed us promising results at our first attempt. I implemented all the code with Python and a fork of my current framework Crab, a python framework for building recommender systems and variations.
All the algorithm explained can be accessed at this link.
Conclusion
As I presented, this ranking algorithm was my first attempt to solve this problem identified at our on-line website. Since the startup didn't go on (no more coupons), I couldn't reformulate the algorithm in terms of optimization and more brute A/B testes. With more data availability we could achieve even better results. It was a rapid experimentation and I believe this work could be useful for someone that is working in this research field. I also invite anyone to qualify my recommendation approach to improve it or pointing out some flaws. (-- under approval -- This article is indexed at arxiv.org.)
Feel free to analyze it and if you want to reference this article or extend this work, let me know. Favoritoz was a great research lab for me!
That's all,
Regards,
Marcel Caraciolo
As I presented, this ranking algorithm was my first attempt to solve this problem identified at our on-line website. Since the startup didn't go on (no more coupons), I couldn't reformulate the algorithm in terms of optimization and more brute A/B testes. With more data availability we could achieve even better results. It was a rapid experimentation and I believe this work could be useful for someone that is working in this research field. I also invite anyone to qualify my recommendation approach to improve it or pointing out some flaws. (-- under approval -- This article is indexed at arxiv.org.)
Feel free to analyze it and if you want to reference this article or extend this work, let me know. Favoritoz was a great research lab for me!
That's all,
Regards,
Marcel Caraciolo
Pretty good post. I just stumbled upon your site and wanted to say that I have really enjoyed
ReplyDeletereading your site. Any way I'll be subscribing to your feed and I hope you post again soon.
flights to Umrah
cheap flight to jeddah
flights to jeddah
umrah jeddah flights
umrah flights from London
cheap flights to umrah
This is really interesting! I wonder how you would create an algorithm for something like group buying sites.
ReplyDeletesuch a great article, very informative. thanks for posting this.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteSuch a great blog post.The questions running in my mind are answered.
ReplyDeleteonline deals
What a blog post.Its really great post.Thanks for sharing the information with us.
ReplyDeleteDaily online Deals
Very good article.Really looking forward to read more. Much obliged.
ReplyDeletehttp://www.packersave.com
great deals online
Nice check out dealofthedayindia.com
ReplyDeleteNice blog! All day coupon also offered Online promo codes and discount coupon codes and also you can get promo codes, discount vouchers, offers & deals for online shopping in India.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteVery nice blog..! This is very useful and informative. Thanks for sharing. It is really great post. Check deals Here
ReplyDeleteAmazing Blog. Solodeal is also offering Discount Coupons, online deals, online offers, hot deals etc..
ReplyDeleteHey thanks for the information about online shopping coupons!
ReplyDeleteI must say this post quite impressive........you have described the information and your study quite impressively......i personally liked it a lot.......Thank you for sharing it
ReplyDeleteOnline Discount Coupons in Lucknow
very intresting and useful blog about online coupons
ReplyDeleteVery true
ReplyDeleteyou can refer cheapsasta.com website too get the cheap and sasta offers
ReplyDeleteEmbedded system training: Wiztech Automation Provides Excellent training in embedded system training in Chennai - IEEE Projects - Mechanical projects in Chennai. Wiztech provide 100% practical training, Individual focus, Free Accommodation, Placement for top companies. The study also includes standard microcontrollers such as Intel 8051, PIC, AVR, ARM, ARMCotex, Arduino, etc.
ReplyDeleteEmbedded system training in chennai
Embedded Course training in chennai
Matlab training in chennai
Android training in chennai
LabVIEW training in chennai
Robotics training in chennai
Oracle training in chennai
Final year projects in chennai
Mechanical projects in chennai
ece projects in chennai
WIZTECH Automation, Anna Nagar, Chennai, has earned reputation offering the best automation training in Chennai in the field of industrial automation. Flexible timings, hands-on-experience, 100% practical. The candidates are given enhanced job oriented practical training in all major brands of PLCs (AB, Keyence, ABB, GE-FANUC, OMRON, DELTA, SIEMENS, MITSUBISHI, SCHNEIDER, and MESSUNG)
ReplyDeletePLC training in chennai
Automation training in chennai
Best plc training in chennai
PLC SCADA training in chennai
Process automation training in chennai
Final year eee projects in chennai
VLSI training in chennai
I love this blog!! The flash up the top is awesome!! affiliates
ReplyDeletevery nice check this site for indian coupon confidential couture Coupons
ReplyDeleteWiztech Automation is the Leading Best quality PLC, Scada, DCS, Embedded, VLSI, PLC Automation Training Centre in Chennai. Wiztech’s Industrial PLC Training and the R & D Lab are fully equipped to provide through conceptual and practical knowledge aspects with hands on experience to its students.
ReplyDeletePLC training in Chennai
PLC training institute in Chennai
PLC training centre in Chennai
PLC, SCADA training in Chennai
Automation training in Chennai
DCS training in Chennai
Great job for publishing such a beneficial article. Your blog information isn’t only useful but it is additionally creative with high content too. Now a days everyone looks for deal of the day products in online shopping .
ReplyDelete
ReplyDeleteThanks for providing very helpful information and I also appreciate you and your group member.Thank you again nice information on this blog regarding Online Recharge Cashback Offers
Hello,
ReplyDeleteThanks for the info about deals and BlackFridayDealAlert is a platform offering coupons and deals on variety of products and services to people who are smart about their money.
black Friday deals
Thanks for Sharing in this information...
ReplyDeletePLC training in Cochin, Kerala
Automation training in Cochin, Kerala
Embedded System training in Cochin, Kerala
VLSI training in Cochin, Kerala
PLC training institute in Cochin, Kerala
Embedded training in Cochin, Kerala
Best plc training in Cochin, Kerala
Hello I am so delighted I located your blog, I really located you by mistake, while I was watching on google for something else, Anyways I am here now and could just like to say thank for a tremendous post and a all round entertaining website. Please do keep up the great work.
ReplyDeletewww.cupom.net
Nice article and just have a look Drillthedeal
ReplyDeleteWanted to take this opportunity to let you know that I read your blog posts on a regular basis. Your writing style is impressive, keep it up! replica watches india
ReplyDeleteYou always provide quality based posts, enjoy reading your work. replica watches india
ReplyDeleteIt’s amazing in support of me to truly have a web site that is valuable meant for my knowledge. Wix blog
ReplyDeletenice blog and visit my blog :google one one
ReplyDeletePLC training DIAC has courses after betch diploma graduates in PLC SCADA Automation Training in Delhi Noida for Career in Automation. Call us @91-9310096831.
ReplyDeleteAll of your posts are well written. Thank you. post free ads
ReplyDeleteThanks for sharing the post. check out now the no.1 website Free Samples India
ReplyDeleteThank you for sharing excellent information. Your website is very cool. Fully useful your blog post... The Gujju's Fashion Offers
ReplyDeletethanks for posting this blog
ReplyDeletemachine learning training in bangalore
hadoop training in bangalore
Hadoop concepts, Applying modelling through R programming using Machine learning algorithms and illustrate impeccable Data Visualization by leveraging on 'R' capabilities.With companies across industries striving to bring their research and analysis (R&A) departments up to speed, the demand for qualified data scientists is rising.
ReplyDeletedata science training in bangalore
thanks for sharing your knowledge
ReplyDeletedata science training in bangalore
hadoop training in bangalore
uipath training in bangalore
python online training
Gaining Python certifications will validate your skills and advance your career.
ReplyDeletepython certification
Big Data and Hadoop is an ecosystem of open source components that fundamentally changes the way enterprises store, process, and analyze data.
ReplyDeletepython training in bangalore
aws training in bangalore
artificial intelligence training in bangalore
data science training in bangalore
machine learning training in bangalore
hadoop training in bangalore
devops training in bangalore
corporate training companies
ReplyDeletecorporate training companies in mumbai
corporate training companies in pune
corporate training companies in delhi
corporate training companies in chennai
corporate training companies in hyderabad
corporate training companies in bangalore