People’s behaviors are rarely stable and their usability gestures change over time. But one user behavior that did change is the tendency to scroll. Most of the time we spend in an app goes in scrolling, and the remaining few in actual viewing of the content. So, what if we can track the scrolling behaviour, understand where they stop and recommend based on that.
Most of the user's time goes wasted in scrolling content that he/she isn’t interested in. To understand their interest, their scrolling behaviour can be tracked. Point where they stop scrolling and spend some time viewing the content shows that they are interested in that content. So, our idea is to retrieve the products when scrolling stops, get similar products to that using ML techniques and display that at their point of scroll. We can aslo display ads instead of recommendations.
To track the user’s scroll behavior, we use Javascript. The JavaScript detects the scrolling activity. It also creates a div with an id which is used to display the data present on the screen. Once, the user stops scrolling, we extract the product present in that div tag and send it to the recommendation system. After finding the user’s interesting products we intend to find similar products using cosine similarity. For this, we implement ML techniques based on content recommendation.
I dont have a fully functioning code. As of now, i have built a recommendation system using python and ML Techniques. The future idea is to track scroll activity using frontend, get details of the product or content where the user has stopped scrollling, send the product to backend code and apply recommendation on it. Then displaying the recommendations on frontend page.
I have attached video link and code for recommendation part. So whats remaining is to track scroll activity using javascript, get details of product and send it to recommendation code. For recommendation part, the challenges i ran into are efficieny. As i am using cosine similarity that works on vectors, attaing high efficiency was a problem. And i solved it using optimization techniques.
Technologies used
Discussion