Advanced Web Analytics Tool For Mouse Tracking and Real-Time Data Processing
Advanced Web Analytics Tool For Mouse Tracking and Real-Time Data Processing
Abstract—Web analytic tools offer important support for is to track mouse movement. Unfortunately, this feature is one
better recognition of the web user’s behavior, identification of of those which is based on logging a large amount of data that
bottlenecks and errors in user interface design, performance is necessary to send to the server for evaluation. This problem
measurement of web environment, monitoring of website can be addressed by the new solution that is presented in this
availability or recommendation of appropriate website content. paper. This solution is based on tracking mouse movement and
These tools are based on tracking techniques and sophisticated subsequent vectoring of the mouse path on the client side,
algorithms that process and evaluate large volumes of captured resulting in significant reduction of transmitted data while
data. In this paper, we propose a new solution to capture mouse
maintaining accuracy of measurement. The quality of the
movements of web users, to identify their area of interest. This
vectoring function is judged in the case study that is part of this
solution is based on real-time data transformation, which
converts discrete position data with high sample period to
paper.
predefined functions. This transformation has a high degree of The structure of this paper presents as follows. After
accuracy, which is exemplified by case scenarios. The result of introducing the objective of this paper, the related work is
this solution is a significant saving in data, transmitted from the presented in Section II. Next, in Section III, a proposed
client to the server, which leads to significant savings in system solution for tracking mouse movements of web users is
resources on the server side. described. The concept of mouse movement tracks
vectorization is given in Section IV. The Section V described
Keywords—mouse tracking; real-time data processing; user
behavior
the performance evaluation of proposed solution. In Section VI
is mentioned experimental results and discussion covering
results of the presented work. Finally, the last Section VII gives
I. INTRODUCTION conclusions and future research opportunities.
The World Wide Web is definitely the most widespread
service of the current Internet with more than 3.5 billion users. II. RELATED WORK
Most of the population of the developed world uses this service
daily for shopping, communication, information search, Mouse tracking is a basic technique which produces a large
company presentation, advertising, etc. Many companies are amount of user behavioral data that can be used to evaluate and
trying to leverage this fact and try to commercialize their improve a wide range of areas such as user experience design,
products and services in this large market. However, this prefetching and recommendation systems, and psychological
creates considerable competition among companies, which is studies. A number of research papers dealing with the
reflected in the high demands on the quality of web monitoring of activities and tracking mouse movements of web
applications. For these reasons, increasing emphasis is placed users has been published by various authors in recent years.
on the quality of user experience design in the process of Many of these research studies focus on evaluating web user
developing web applications. This better user experience behavior for recommendation and prediction modeling in the e-
design leads to greater user satisfaction with the web commerce area [1], [2], [3]. Additional published papers are
application and hence greater revenues. The quality of user devoted to discovering the relationship between the users’ eye
experience design can be measured and evaluated using movement and mouse movement [4], [5]. The area of neural
appropriate tools to track the activities of each web user. and psychological studies cannot be omitted either [6], [7], [8].
Fortunately, today there are enough tracking tools on the Unfortunately, less scientific work is devoted to the motion
market. The range of tracking functions of these tools is capture tool itself [9], [10]. In addition to solutions published in
different, as well as the method of data communication scientific work, commercial tools are available on the market.
between the web client and the tracking server. In many cases, These tools usually offer a comprehensive set of features to
the volume of data transferred is considerable, which has a monitor web users. They also have analytic capabilities to
negative impact on the quality of the service provided. One of evaluate captured data whose outputs provide valuable
the important tracking functions for evaluating user experience information to business analysts about website performance.
978-1-5386-0889-0/17/$31.00 2017
c IEEE – 431 –
Authorized licensed use limited to: AMC Engineering College ¿ Karnataka. Downloaded on April 24,2025 at 15:57:27 UTC from IEEE Xplore. Restrictions apply.
L. Čegan and P. Filip · Advanced web analytics tool for mouse tracking and real-time data processing
The main tools are Crazy Egg, Clicktale, Hotjar, Mouseflow, A. Track logger
SessionCam, LuckyOrange, UsabilityTools, Inspectlet and The track logger is a component responsible for data
Hoverowl. The operation of commercial and academic web transfer from client to server. The component is implemented
tracking tools is based on the same principle, namely capturing as a JavaScript library that sends data to the server using
defined events by JavaScript API that occur during a web user asynchronous POST HTTP requests. Before sending an HTTP
session. This captured data is periodically asynchronously sent request, the data is processed by a vectorization component. To
to the logging server, where they are processed and stored for minimize the transmitted data, they are also compressed using
future use. However, this communication is very demanding in the LZ77 algorithm (Lempel-Ziv, 1977). This is used by the
terms of the amount of data that needs to be transferred from LZ-UTF8 library [11].
the client side to the server side. The proposed mouse pathway
vectorization, as described in this paper, largely addresses this
B. Path vectorizer
problem.
Path vectorizer is a component responsible for the mouse
movement path vectorization. This vectorization minimizes
III. PROPOSAL SOLUTION
the data that is essential for describing the mouse trajectory. A
A proposed solution is based on a new advanced web description of the internal functioning of this component is
analytics platform, which provides a range of functions through described in detail in Section IV.
which it is possible to tracking and analyze mouse movements
in real-time with a small amount of data transmitted to the C. User data storage
server. The architecture of the proposed platform is shown in User data storage is a component, providing storage of
Fig. 1. measured user session data. As a data repository, relational
databases Oracle is used. The stored data is used by
components: Session replay creator and Analytics tool.
E. Analytics tool
Analytics tool manages measured user sessions. Each session
contains metadata that allows users to search and filter
sessions. The user sessions can be played on the built-in player.
For more convenient analysts' work, a preview can be played
back quickly. At this point, no other logic is implemented in
the tool that could segment users by other criteria such as a
conversion ratio.
The next Figure 2. illustrates a sequence diagram that
Fig. 1. Architecture of tracking and analytics platform. (1) Web client describes the integration of each component of the proposed
requests website from web server and (2) vectorizer library from path solution, from time perspective. The communication starts,
vectorizer (also web server). User activity is tracked and data is sent when the Web browser sends a HTTP request to the web
asynchronously to Track logger. (4) processed data is stored in User data server. The web server processes a request and then sends
storrage. (6) Seesion replay creator use data for video. Analytical tool use data
and video for user report. (8) UX designer use analytical reports.
a response (web page). Next, the web browser parses the
source code of the web page, and it starts loading the tracking
The proposed platform consists of five parts: tracking and vectorization library. After the web browser receives the
logger, track vectorizer, user sessions storage, session replay library, the monitoring and evaluation of user activity is
creator and analytics tool. initiated. The catchEvent feature ensures that both the mouse
– 432 –
Authorized licensed use limited to: AMC Engineering College ¿ Karnataka. Downloaded on April 24,2025 at 15:57:27 UTC from IEEE Xplore. Restrictions apply.
2017 IEEE 14th International Scientific Conference on Informatics
movement data, and the page scrolling and resizing data, are
captured and stored in the FIFO queue. From this queue, the
data is sequentially removed and processed using a vectoring
tool. Then, the processed data is sent asynchronously to the
track logger, which uploads it in the storage.
IV. PATH VECTORIZER The Vectorization activity, shown in the diagram above,
The path vectorizer is a core component of a proposal consists of a sequence of atomic tasks:
analytical tool. The component is responsible for evaluating the
x finding boundary points,
captured position data and their subsequent vectorization.
Evaluation is done in real time. The vectorization process is x and replacing points with a curve.
illustrated in the following Figure 3.
Boundary points are defined as points of the dataset where
The vectorization process starts with an event, when a web the curve type is changed or where the cursor movement speed
page is rendered in the client browser. Subsequently, the is changed. The proposed solution distinguishes only two types
tracking module is initialized, which waits until the occurrence of curves: line and b-spline. Finding boundary points is based
of the Web API event “mouseMove”. This event fires a on analyzing the sequence of data points and finding a
function that saves data to a local storage (FIFO queue). breakpoint.
Furthermore, the distance between the last and the penultimate
point of the queue, and their time difference, is calculated. In
V. PERFORMANCE EVALUATION
the case of a small positional distance or a large time
difference, the motion of the mouse is evaluated as interrupted, The effectiveness of the proposed solution has been
and therefore the timer is not reset. In other cases, the timer is investigated in an experimental test. For the needs of the
reset. The timer is an element that stores the time stamp of the experiment, a special test website was created. The test website
last known mouse movement activity. When the timer is has been deployed to a testbed platform. The platform consists
inactive for three seconds, an event occurs that initiates the of the physical machine Dell E6440, Intel i5 (4310M), 2.70
vectorization process of the stored data. First, all the data is GHz, 8GB RAM, Windows 10 64 bit. and the virtualization
removed from the queue. These data then enter into the platform Oracle VirtualBox 5.1.26. The virtual machine host
vectoring calculation. The result of the calculation is the curve represents the desktop client with web browser Chrome 60.
expressing the mouse path and a time curve expressing the The guest represents the server side with operation system
movement of the cursor over the curve, over time. Once the Debian 9.1 and the web server Apache 2.4.25.
boundary volume of data is collected, these curves are sent to In order to simulate a more realistic network environment,
the server. test was performed with several different network parameters
– 433 –
Authorized licensed use limited to: AMC Engineering College ¿ Karnataka. Downloaded on April 24,2025 at 15:57:27 UTC from IEEE Xplore. Restrictions apply.
L. Čegan and P. Filip · Advanced web analytics tool for mouse tracking and real-time data processing
In order to compare the values of each scenario, all three B 285 3 125
scenarios were executed at the same time. Experimental
C 239 2 193
measurements were performed on fifty user sessions.
The following figure demonstrates the user's mouse
movements on one page (Fig. 5). All the points that were Table II. shows a result of the vectorization process. In the
captured using the web and the "mousemove" event are visible first column, the type of curve is listed. For each curve, the
on the chart – Scenario A. number of points that have been replaced, their total length, the
total cursor time on the curve, and the accuracy of the
substitution are calculated. Calculation of replacement
accuracy is based on the residual sum of squares.
VII. CONCLUSION
This paper presents a new solution for tracking web user
activity that allows understanding of how a user interacts with
Fig. 5. Graph of mouse movement
websites. This interaction includes path movement, scrolling,
and clicks. The main part of the proposed solution is an
Figure 6. shows the same mouse movements as in the
advanced component for vectorization of mouse movement
previous figure, but points were processed using a vectoring
trajectory that dramatically reduces the amount of data that
tool. As can be seen in the figure, the number of points needs to be transferred to the server. The degree of
expressing the mouse's path has significantly decreased with vectorization accuracy has been investigated and evaluated by
preserved position accuracy – Scenario B.
– 434 –
Authorized licensed use limited to: AMC Engineering College ¿ Karnataka. Downloaded on April 24,2025 at 15:57:27 UTC from IEEE Xplore. Restrictions apply.
2017 IEEE 14th International Scientific Conference on Informatics
the performance experiment. As can be seen from the results, [4] K. Rodden, X. Fu, A. Aula, I. Spiro, “Eye-mouse coordination patterns
the vectoring of the captured points, results in considerable on web search results pages”, in CHI O8 extended abstracts on Human
factors in computing systems, 2008, pp. 2997-3002
savings of transmitted data while maintaining a high degree of
[5] Q. Guo, E. Agichtein, “Towards predicting web searcher gaze position
accuracy. from mouse movements” in Proceeding of 28th international conference
As future work, we are planning to implement the new on Human factors in computing systems, 2010, pp. 3601-3606
module to a session replay creator component which allows [6] Eric Hehman, Ryan M. Stolier, Jonathan B. Freeman, “Advanced
mouse-tracking analytic techniques for enhancing psychological
creating of a full-featured video file for more accurate science” in Group Processes & Intergroup Relations, Vol 18, Issue 3,
reconstruction and playback of visitor activities. Combining 2015, pp. 384 – 401.
this tool with other analytic tools, such as Google Analytics, [7] Thomas A. Farmer, Sarah A. Cargill, Nicholas C. Hindy, Rick Dale,
provides a full picture of web user behavior. Michael J. Spivey, “Tracking the Continuity of Language
Comprehension: Computer Mouse Trajectories Suggest Parallel
Syntactic Processing” in Cognitive science,Volume 31, Issue 5, 2007,
ACKNOWLEDGMENT pp. 889–909
This work is published thanks to the financial support [8] Sara Incera, Theresa A. Markis, Conor T. McLennan, “Mouse-Tracking
Faculty of Electrical Engineering and Informatics, University Reveals When the Stroop Effect Happens.” in The Ohio Psychologist,
2013, pp. 32-34.
of Pardubice under grant SGS_2017_025 “Active monitoring
[9] L. A. L. Torres and R. V. Hernando, “(smt) real time mouse tracking
of web users’ behavior”. registration and vizualization tool for usability evaluation on websites”
in Proceedings of the IADIS International Conference on
REFERENCES WWW/Internet, 2007, pp. 187-192
[10] Clements Schefels, Sven Eschenberg, Christian Schöneberger,
[1] Md. Tanjim-Al-Akib, Lutfullahil Kabir Ashik, Hosne-Al-Walid,
“Behavioral Analysis of Registered Web Site Visitors with Help of
Krishanu Chowdhury, “User-modeling and recommendation based on
Mouse Tracking” in IEEE 14th International Conference on Commerce
mouse-tracking for e-commerce websites,” in Computer and
and Enterprise Computing, 2012, pp.33-40
Information Technology (ICCIT), 2016, pp. 517-523.
[11] GitHub (2017, Sep. 2) A high-performance Javascript string
[2] Song HengJie, Liao Ruoxue, Zhang Xiangliang, Miao Chunyan, Yang
compression library. [Online]. Available: https://github.com/rotemdan/-
Qiang, “A mouse-trajectory based model for predicting query-url
lzutf8.js
relevance,” in Proceedings of the National Conference on Artificial
Intelligence, 2012, pp. 143-149.
[3] Arapakis Ioannis, Leiva A. Luis, “Predicting User Engagement with
Direct Displays Using Mouse Cursor Information,” in Proceeding of the
39th International ACM SIGIR conference, 2016, pp. 1-10.
– 435 –
Authorized licensed use limited to: AMC Engineering College ¿ Karnataka. Downloaded on April 24,2025 at 15:57:27 UTC from IEEE Xplore. Restrictions apply.