CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
TECHNICAL FIELD
[0002] The disclosure herein generally relates to user performance evaluation, and, more
particularly, to a method and system for user performance evaluation based on tracked
user actions.
BACKGROUND
[0003] Performance evaluation is critical in assessing whether a user, who has been assigned
certain tasks, is performing/executing the tasks in an efficient manner. For example,
consider that a task involves a sequence of steps. A user who is executing the task
may be required to follow the sequence in the same order. However, the user, by mistake
or maybe due to ignorance, may deviate from the sequence, which may or may not be
productive. Tracking such deviations is important to ensure that the user follows
the sequence, especially if the deviation results in inefficiency.
[0004] Existing tools that measure productivity heavily rely on metrics such as lines of
code, function points and user story points. These tools rely on compiled code as
an input in order to compute these metrics. For a rapidly evolving technology such
as blockchain, this does not provide an accurate measurement of development productivity
as toolkits available in the market tend to be specific to the underlying platform.
SUMMARY
[0005] Embodiments of the present disclosure present technological improvements as solutions
to one or more of the above-mentioned technical problems recognized by the inventors
in conventional systems. For example, in one embodiment, a processor implemented method
of user performance evaluation is provided. The method includes tracking, via one
or more hardware processors, a plurality of user actions when a user is engaged in
an activity, wherein the plurality of user actions comprise navigation within an application
in which the activity is being performed, and execution of one or more functions of
the application. Further, a state change representing a sequence of traversal of the
plurality of user actions is determined via the one or more hardware processors, wherein
the state change is identified when the plurality of user actions is executed by the
user. Further, an extent of deviation of the determined state change in comparison
with a reference state change of the application is determined via the one or more
hardware processors. Determining the extent of deviation includes the following steps.
Initially, the sequence of traversal of the plurality of user actions corresponding
to the determined state change is compared with a reference sequence of traversal
of user actions corresponding to the reference state change. Further, a user efficiency
matrix is generated, wherein the user efficiency matrix represents a percentage similarity
of the sequence of traversal of the plurality of user actions corresponding to the
determined state change with the reference sequence of traversal of the user actions
corresponding to the reference state change. Further, a user inefficiency matrix is
generated, wherein the user inefficiency matrix represents a) a percentage dissimilarity
of the sequence of traversal of the plurality of user actions corresponding to the
determined state change with the reference sequence of traversal of the user actions
corresponding to the reference state change, and b) instances of the user activity
resulting in a failure condition. The extent of deviation is represented in terms
of the efficiency matrix and the inefficiency matrix. After determining the extent
of deviation, a user performance score is calculated via the one or more hardware
processors, as a function of the user efficiency matrix and the user inefficiency
matrix. Further, a performance level of the user is determined based on the calculated
user performance score, via the one or more hardware processors.
[0006] In another aspect, a system for user performance evaluation is provided. The system
includes one or more hardware processors, a communication interface, and a memory
storing a plurality of instructions, wherein the plurality of instructions when executed,
cause the one or more hardware processors to initially track a plurality of user actions
when a user is engaged in an activity, wherein the plurality of user actions comprise
navigation within an application in which the activity is being performed, and execution
of one or more functions of the application. Further, a state change representing
a sequence of traversal of the plurality of user actions is determined via the one
or more hardware processors, wherein the state change is identified when the plurality
of user actions is executed by the user. Further, an extent of deviation of the determined
state change in comparison with a reference state change of the application is determined
via the one or more hardware processors. Determining the extent of deviation includes
the following steps. Initially, the sequence of traversal of the plurality of user
actions corresponding to the determined state change is compared with a reference
sequence of traversal of user actions corresponding to the reference state change.
Further, a user efficiency matrix is generated, wherein the user efficiency matrix
represents a percentage similarity of the sequence of traversal of the plurality of
user actions corresponding to the determined state change with the reference sequence
of traversal of the user actions corresponding to the reference state change. Further,
a user inefficiency matrix is generated, wherein the user inefficiency matrix represents
a) a percentage dissimilarity of the sequence of traversal of the plurality of user
actions corresponding to the determined state change with the reference sequence of
traversal of the user actions corresponding to the reference state change, and b)
instances of the user activity resulting in a failure condition. The extent of deviation
is represented in terms of the efficiency matrix and the inefficiency matrix. After
determining the extent of deviation, a user performance score is calculated via the
one or more hardware processors, as a function of the user efficiency matrix and the
user inefficiency matrix. Further, a performance level of the user is determined based
on the calculated user performance score, via the one or more hardware processors.
[0007] In yet another aspect, a non-transitory computer readable medium for user performance
evaluation is provided. The non-transitory computer readable medium includes a plurality
of instructions which when executed cause the following steps for the user performance
evaluation.
[0008] It is to be understood that both the foregoing general description and the following
detailed description are exemplary and explanatory only and are not restrictive of
the invention, as claimed. Initially a plurality of user actions are tracked when
a user is engaged in an activity, wherein the plurality of user actions comprise navigation
within an application in which the activity is being performed, and execution of one
or more functions of the application. Further, a state change representing a sequence
of traversal of the plurality of user actions is determined via the one or more hardware
processors, wherein the state change is identified when the plurality of user actions
is executed by the user. Further, an extent of deviation of the determined state change
in comparison with a reference state change of the application is determined via the
one or more hardware processors. Determining the extent of deviation includes the
following steps. Initially, the sequence of traversal of the plurality of user actions
corresponding to the determined state change is compared with a reference sequence
of traversal of user actions corresponding to the reference state change. Further,
a user efficiency matrix is generated, wherein the user efficiency matrix represents
a percentage similarity of the sequence of traversal of the plurality of user actions
corresponding to the determined state change with the reference sequence of traversal
of the user actions corresponding to the reference state change. Further, a user inefficiency
matrix is generated, wherein the user inefficiency matrix represents a) a percentage
dissimilarity of the sequence of traversal of the plurality of user actions corresponding
to the determined state change with the reference sequence of traversal of the user
actions corresponding to the reference state change, and b) instances of the user
activity resulting in a failure condition. The extent of deviation is represented
in terms of the efficiency matrix and the inefficiency matrix. After determining the
extent of deviation, a user performance score is calculated via the one or more hardware
processors, as a function of the user efficiency matrix and the user inefficiency
matrix. Further, a performance level of the user is determined based on the calculated
user performance score, via the one or more hardware processors.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings, which are incorporated in and constitute a part of this
disclosure, illustrate exemplary embodiments and, together with the description, serve
to explain the disclosed principles:
FIG. 1 illustrates an exemplary system for user performance evaluation, according
to some embodiments of the present disclosure.
FIGS. 2A and 2B (collectively referred to as FIG. 2) is a flow diagram depicting steps
involved in the process of the user performance evaluation being performed by the
system of FIG. 1, according to some embodiments of the present disclosure.
FIG. 3 illustrates a comparison of productivity details of a first user and a second
user, based on the performance level determined by the system of FIG. 1, according
to some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[0010] Exemplary embodiments are described with reference to the accompanying drawings.
In the figures, the left-most digit(s) of a reference number identifies the figure
in which the reference number first appears. Wherever convenient, the same reference
numbers are used throughout the drawings to refer to the same or like parts. While
examples and features of disclosed principles are described herein, modifications,
adaptations, and other implementations are possible without departing from the scope
of the disclosed embodiments.
[0011] Existing systems being used for user performance evaluation and for measuring productivity
heavily rely on metrics such as lines of code, function points and user story points.
These tools rely on compiled code as an input in order to compute these metrics. For
a rapidly evolving technology such as blockchain, this does not provide an accurate
measurement of development productivity as toolkits available in the market tend to
be specific to the underlying platform.
[0012] Method and system disclosed herein facilitate user performance evaluation by tracking
user actions while the user is engaged in an activity. The system generates an efficiency
matrix and an inefficiency matrix based on the user actions, and further calculates
a user performance score indicating/representing a performance level of the user.
[0013] Referring now to the drawings, and more particularly to FIG. 1 through FIG. 3, where
similar reference characters denote corresponding features consistently throughout
the figures, there are shown preferred embodiments and these embodiments are described
in the context of the following exemplary system and/or method.
[0014] FIG. 1 illustrates an exemplary system for user performance evaluation, according
to some embodiments of the present disclosure. The system 100 includes or is otherwise
in communication with hardware processors 102, at least one memory such as a memory
104, an I/O interface 112. The hardware processors 102, memory 104, and the Input
/Output (I/O) interface 112 may be coupled by a system bus such as a system bus 108
or a similar mechanism. In an embodiment, the hardware processors 102 can be one or
more hardware processors.
[0015] The I/O interface 112 may include a variety of software and hardware interfaces,
for example, a web interface, a graphical user interface, and the like. The I/O interface
112 may include a variety of software and hardware interfaces, for example, interfaces
for peripheral device(s), such as a keyboard, a mouse, an external memory, a printer
and the like. Further, the I/O interface 112 may enable the system 100 to communicate
with other devices, such as web servers, and external databases.
[0016] The I/O interface 112 can facilitate multiple communications within a wide variety
of networks and protocol types, including wired networks, for example, local area
network (LAN), cable, etc., and wireless networks, such as Wireless LAN (WLAN), cellular,
or satellite. For the purpose, the I/O interface 112 may include one or more ports
for connecting several computing systems with one another or to another server computer.
The I/O interface 112 may include one or more ports for connecting several devices
to one another or to another server.
[0017] The one or more hardware processors 102 may be implemented as one or more microprocessors,
microcomputers, microcontrollers, digital signal processors, central processing units,
node machines, logic circuitries, and/or any devices that manipulate signals based
on operational instructions. Among other capabilities, the one or more hardware processors
102 is configured to fetch and execute computer-readable instructions stored in the
memory 104.
[0018] The memory 104 may include any computer-readable medium known in the art including,
for example, volatile memory, such as static random-access memory (SRAM) and dynamic
random-access memory (DRAM), and/or non-volatile memory, such as read only memory
(ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic
tapes. In an embodiment, the memory 104 includes a plurality of modules 106.
[0019] The plurality of modules 106 include programs or coded instructions that supplement
applications or functions performed by the system 100 for executing different steps
involved in the user performance evaluation, and comparison being performed by the
system 100. The plurality of modules 106, amongst other things, can include routines,
programs, objects, components, and data structures, which performs particular tasks
or implement particular abstract data types. The plurality of modules 106 may also
be used as, signal processor(s), node machine(s), logic circuitries, and/or any other
device or component that manipulates signals based on operational instructions. Further,
the plurality of modules 106 can be used by hardware, by computer-readable instructions
executed by the one or more hardware processors 102, or by a combination thereof.
The plurality of modules 106 can include various sub-modules (not shown). The plurality
of modules 106 may include computer-readable instructions that supplement applications
or functions performed by the system 100 for the user performance evaluation.
[0020] The data repository (or repository) 110 may include a plurality of abstracted piece
of code for refinement and data that is processed, received, or generated as a result
of the execution of the plurality of modules in the module(s) 106.
[0021] Although the data repository 110 is shown internal to the system 100, it will be
noted that, in alternate embodiments, the data repository 110 can also be implemented
external to the system 100, where the data repository 110 may be stored within a database
(repository 110) communicatively coupled to the system 100. The data contained within
such external database may be periodically updated. For example, new data may be added
into the database (not shown in FIG. 1) and/or existing data may be modified and/or
non-useful data may be deleted from the database. In one example, the data may be
stored in an external system, such as a Lightweight Directory Access Protocol (LDAP)
directory and a Relational Database Management System (RDBMS). Functions of the components
of the system 100 are now explained with reference to steps in flow diagram FIG. 2.
[0022] FIGS. 2A and 2B (collectively referred to as FIG. 2) is a flow diagram depicting
steps involved in the process of the user performance evaluation being performed by
the system of FIG. 1, according to some embodiments of the present disclosure.
[0023] At step 202 of method 200, the system 100 tracks, via the one or more hardware processors
102, a plurality of user actions when the user is engaged in an activity, wherein
the plurality of user actions comprise navigation within an application in which the
activity is being performed, and execution of one or more functions of the application.
In various embodiments, the activity at different instances may be associated different
applications. For example, if the application supports application/software development,
the activity may be coding, testing and so on, and the actions may be the user opening
a coding/testing interface, compiling codes, executing codes, verifying results, switching
between different interfaces and so on. All such actions, and sequence of the actions
are tracked as and when they are performed/executed by the user, and are recorded.
The system 100 may use any suitable mechanism for tracking the user action(s). For
example, the tracking may involve mouse pointer tracking, recording keystrokes and
so on. While the user is engaged in the activity, time between starting and ending
of the activity at a stretch maybe considered as a session, and the system 100 maybe
configured to record data section-wise.
[0024] Further, at step 204 of the method 200, the one or more hardware processors 102 of
the system 100 are configured to determine a state change representing a sequence
of traversal of the plurality of user actions, wherein the state change is identified
when the plurality of user actions is executed by the user. For example, when the
developmental and testing activities are considered, the state change may refer to
switching between development interface and testing interface.
[0025] Further, at step 206 of the method 200, the system 100 determines via the one or
more hardware processors, extent of deviation of the determined state change in comparison
with a reference state change of the application. Various steps in determining the
extent of deviation are depicted in steps 206a through 206c. At step 206a, the system
100 compares the sequence of traversal of the plurality of user actions corresponding
to the determined state change with a reference sequence of traversal of user actions
corresponding to the reference state change. At step 206b, the system 100 generates
a user efficiency matrix, wherein the user efficiency matrix represents a percentage
similarity of the sequence of traversal of the plurality of user actions corresponding
to the determined state change with the reference sequence of traversal of the user
actions corresponding to the reference state change. Further, at step 206c, the system
100 generates a user inefficiency matrix, wherein the user inefficiency matrix represents
a) a percentage dissimilarity of the sequence of traversal of the plurality of user
actions corresponding to the determined state change with the reference sequence of
traversal of the user actions corresponding to the reference state change, and b)
instances of the user activity resulting in a failure condition. The term "failure
condition" may refer to a compilation failure, a security vulnerability issue, and/or
other similar issues with build, deployment, unit testing phase and so on.
[0026] For example, consider that one developmental activity in an application deals with
the state change from A to B, and a standard sequence of traversal is defined as A→
A1→ A2→ A3→ A4→ B. Now, if the user has been able to find a more optimal way of implementing
the same state change from A to B, using a sequence A→ A3→ A4→ B, that means the state
change has been achieved with less number of actions and intermediate steps in comparison
with the standard sequence of traversal. The system 100 may be configured in such
a way that a) an exact match of the determined sequence of traversal with the standard
sequence of traversal, and b) a more optimal approach (i.e. the determined sequence
of traversal having less number of steps than in the standard sequence of traversal),
as being efficient actions, and corresponding state change(s) gets added to the user
efficiency matrix. However, consider that due to mistakes/error(s) made, the sequence
of traversal executed by the user is A→ A1→ A2→ A3→ A44 A1 →A4→ B. In this case, the
number of steps in the determined sequence of traversal is higher than that in the
standard sequence of traversal, and hence the system 100 may consider this sequence
of traversal as being inefficient, and corresponding state change(s) gets added to
the user inefficiency matrix.
[0027] Further, at step 208 of the method 200, the system 100 calculates, via the one or
more hardware processors, a user performance score as a function of the user efficiency
matrix and the user inefficiency matrix. The system 100 may be configured to award/assign
a better score for the state changes in the user efficiency matrix, and lower score
for the state changes in the user inefficiency matrix. In an embodiment, the score
for the actions in the user efficiency matrix is calculated as: using equation (1).

For example no. of state changes expected = 5 User completed the action in 3 steps
Score is calculated as 2+ 5/3 = 3.6 If user follows exact same steps as in predefined
sequence, then score is 2+ 5/5 = 3 i.e. when a user completes the task in less number
of steps, it would indicate that the user is more efficient in comparison with another
user who followed the pre-defined sequence, hence gets a better score.
[0028] Similarly the score for the actions in the user inefficiency matrix is calculated
using equation (2).

[0029] Further the user performance score is calculated as average of the score calculated
from the efficiency matrix and from the inefficiency matrix. Further, at step 210
of the method 200, the system 100 determines, via the one or more hardware processors
102, a performance level of the user, based on the calculated user performance score.
In an embodiment, the system 100 may store in an associated database, mapping between
different values of the user performance score and corresponding performance level,
as a reference data. For example, consider the Table 1 below:
Table 1
User performance score |
Performance level |
0 - 5 |
Novice |
5 - 7 |
Expert |
7 - 10 |
Master |
[0030] Using the reference data and the determined user performance score, the system 100
determines the performance level of the user. Information on the determined performance
level may be then used by the system 100 for various applications. For example, the
system 100 may use this information as training data to generate a data model which
maybe further used for triggering corrective actions, such as but not limited to,
enabling nudges to alert the user when needed. The determined performance level of
the user may also serve as input for resource and project planning.
[0031] The system 100 may determine performance level (alternately referred to as 'productivity
level') of different users using the method 200. Further, the system 100 may provide
a suitable interface to compare performance of different users (maybe otherwise referred
to as 'peers'), in terms of different attributes, similar to that in FIG. 3.
[0032] The written description describes the subject matter herein to enable any person
skilled in the art to make and use the embodiments. The scope of the subject matter
embodiments is defined by the claims and may include other modifications that occur
to those skilled in the art. Such other modifications are intended to be within the
scope of the claims if they have similar elements that do not differ from the literal
language of the claims or if they include equivalent elements with insubstantial differences
from the literal language of the claims.
[0033] The embodiments of present disclosure herein address unresolved problem of user performance
level evaluation. The embodiment, thus provides a method and system to determine a
user performance score as a function of an efficiency matrix and an inefficiency matrix
generated by monitoring user actions while the user is engaged in an activity. Moreover,
the embodiments herein further provides a mechanism of determining performance level
of the user based on the determined user performance score.
[0034] It is to be understood that the scope of the protection is extended to such a program
and in addition to a computer-readable means having a message therein; such computer-readable
storage means contain program-code means for implementation of one or more steps of
the method, when the program runs on a server or mobile device or any suitable programmable
device. The hardware device can be any kind of device which can be programmed including
e.g., any kind of computer like a server or a personal computer, or the like, or any
combination thereof. The device may also include means which could be e.g., hardware
means like e.g., an application-specific integrated circuit (ASIC), a field-programmable
gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC
and an FPGA, or at least one microprocessor and at least one memory with software
processing components located therein. Thus, the means can include both hardware means
and software means. The method embodiments described herein could be implemented in
hardware and software. The device may also include software means. Alternatively,
the embodiments may be implemented on different hardware devices, e.g., using a plurality
of CPUs.
[0035] The embodiments herein can comprise hardware and software elements. The embodiments
that are implemented in software include but are not limited to, firmware, resident
software, microcode, etc. The functions performed by various components described
herein may be implemented in other components or combinations of other components.
For the purposes of this description, a computer-usable or computer readable medium
can be any apparatus that can comprise, store, communicate, propagate, or transport
the program for use by or in connection with the instruction execution system, apparatus,
or device.
[0036] The illustrated steps are set out to explain the exemplary embodiments shown, and
it should be anticipated that ongoing technological development will change the manner
in which particular functions are performed. These examples are presented herein for
purposes of illustration, and not limitation. Further, the boundaries of the functional
building blocks have been arbitrarily defined herein for the convenience of the description.
Alternative boundaries can be defined so long as the specified functions and relationships
thereof are appropriately performed. Alternatives (including equivalents, extensions,
variations, deviations, etc., of those described herein) will be apparent to persons
skilled in the relevant art(s) based on the teachings contained herein. Such alternatives
fall within the scope of the disclosed embodiments.
Also, the words "comprising," "having," "containing," and "including," and other similar forms are intended to be equivalent in meaning and be open ended in that
an item or items following any one of these words is not meant to be an exhaustive
listing of such item or items, or meant to be limited to only the listed item or items.
It must
also be noted that as used herein and in the appended claims, the singular forms "a,"
"an," and "the" include plural references unless the context clearly dictates otherwise.
[0037] Furthermore, one or more computer-readable storage media may be utilized in implementing
embodiments consistent with the present disclosure. A computer-readable storage medium
refers to any type of physical memory on which information or data readable by a processor
may be stored. Thus, a computer-readable storage medium may store instructions for
execution by one or more processors, including instructions for causing the processor(s)
to perform steps or stages consistent with the embodiments described herein.
The term "computer-readable medium" should be understood to include tangible items and exclude carrier waves and transient signals,
i.e., be non-transitory. Examples include random access memory (RAM), read-only memory
(ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives,
disks, and any other known physical storage media.
[0038] It is intended that the disclosure and examples be considered as exemplary only,
with a true scope of disclosed embodiments being indicated by the following claims.
1. A processor implemented method (200) of user performance evaluation, comprising:
tracking (202), via one or more hardware processors, a plurality of user actions when
a user is engaged in an activity, wherein the plurality of user actions comprise navigation
within an application in which the activity is being performed, and execution of one
or more functions of the application;
determining (204), via the one or more hardware processors, a state change representing
a sequence of traversal of the plurality of user actions, wherein the state change
is identified when the plurality of user actions is executed by the user;
determining (206), via the one or more hardware processors, extent of deviation of
the determined state change in comparison with a reference state change of the application,
comprising:
comparing (206a) the sequence of traversal of the plurality of user actions corresponding
to the determined state change with a reference sequence of traversal of user actions
corresponding to the reference state change;
generating (206b) a user efficiency matrix, wherein the user efficiency matrix represents
a percentage similarity of the sequence of traversal of the plurality of user actions
corresponding to the determined state change with the reference sequence of traversal
of the user actions corresponding to the reference state change; and
generating (206c) a user inefficiency matrix, wherein the user inefficiency matrix
represents a) a percentage dissimilarity of the sequence of traversal of the plurality
of user actions corresponding to the determined state change with the reference sequence
of traversal of the user actions corresponding to the reference state change, and
b) instances of the user activity resulting in a failure condition;
calculating (208), via the one or more hardware processors, a user performance score
as a function of the user efficiency matrix and the user inefficiency matrix; and
determining (210), via the one or more hardware processors, a performance level of
the user, based on the calculated user performance score.
2. The method of claim 1, wherein result of each of the plurality of user actions associated
with the determined state change represents a state.
3. The method of claim 2, wherein the determined state change is identified as an efficient
state change if number of states in the determined state change is less than or equal
to number of states in the reference state change.
4. The method of claim 2, wherein the determined state change is identified as an inefficient
state change if number of states in the determined state change is exceeding number
of states in the reference state change.
5. The method of claim 1, wherein a graphical representation of the determined performance
level of the user in comparison with performance level of one or more peers is generated.
6. A system (100) for user performance evaluation, comprising:
one or more hardware processors (102);
a communication interface (112); and
a memory (104) storing a plurality of instructions, wherein the plurality of instructions
when executed, cause the one or more hardware processors to:
track a plurality of user actions when a user is engaged in an activity, wherein the
plurality of user actions comprise navigation within an application in which the activity
is being performed, and execution of one or more functions of the application;
determine a state change representing a sequence of traversal of the plurality of
user actions, wherein the state change is identified when the plurality of user actions
is executed by the user;
determine extent of deviation of the determined state change in comparison with a
reference state change of the application, by:
comparing the sequence of traversal of the plurality of user actions corresponding
to the determined state change with a reference sequence of traversal of user actions
corresponding to the reference state change;
generating a user efficiency matrix, wherein the user efficiency matrix represents
a percentage similarity of the sequence of traversal of the plurality of user actions
corresponding to the determined state change with the reference sequence of traversal
of the user actions corresponding to the reference state change; and
generating a user inefficiency matrix, wherein the user inefficiency matrix represents
a) a percentage dissimilarity of the sequence of traversal of the plurality of user
actions corresponding to the determined state change with the reference sequence of
traversal of the user actions corresponding to the reference state change, and b)
instances of the user activity resulting in a failure condition;
calculate a user performance score as a function of the user efficiency matrix and
the user inefficiency matrix; and
determine a performance level of the user, based on the calculated user performance
score.
7. The system as claimed in claim 6, wherein result of each of the plurality of user
actions associated with the determined state change represents a state.
8. The system as claimed in claim 7, wherein the one or more hardware processors are
configured to identify the determined state change as an efficient state change if
number of states in the determined state change is less than or equal to the number
of states in the reference state change.
9. The system as claimed in claim 7, wherein the one or more hardware processors are
configured to identify the determined state change as an inefficient state change
if number of states in the determined state change is exceeding number of states in
the reference state change.
10. The system as claimed in claim 6, wherein the one or more hardware processors are
configured to generate a graphical representation of the determined performance level
of the user in comparison with performance level of one or more peers.
11. One or more non-transitory machine-readable information storage mediums comprising
one or more instructions which when executed by one or more hardware processors cause:
tracking a plurality of user actions when a user is engaged in an activity, wherein
the plurality of user actions comprise navigation within an application in which the
activity is being performed, and execution of one or more functions of the application;
determining a state change representing a sequence of traversal of the plurality of
user actions, wherein the state change is identified when the plurality of user actions
is executed by the user;
determining extent of deviation of the determined state change in comparison with
a reference state change of the application, comprising:
comparing the sequence of traversal of the plurality of user actions corresponding
to the determined state change with a reference sequence of traversal of user actions
corresponding to the reference state change;
generating a user efficiency matrix, wherein the user efficiency matrix represents
a percentage similarity of the sequence of traversal of the plurality of user actions
corresponding to the determined state change with the reference sequence of traversal
of the user actions corresponding to the reference state change; and
generating a user inefficiency matrix, wherein the user inefficiency matrix represents
a) a percentage dissimilarity of the sequence of traversal of the plurality of user
actions corresponding to the determined state change with the reference sequence of
traversal of the user actions corresponding to the reference state change, and b)
instances of the user activity resulting in a failure condition;
calculating a user performance score as a function of the user efficiency matrix and
the user inefficiency matrix; and
determining a performance level of the user, based on the calculated user performance
score.
12. The one or more non-transitory machine-readable information storage mediums of claim
11, wherein result of each of the plurality of user actions associated with the determined
state change represents a state.
13. The one or more non-transitory machine-readable information storage mediums of claim
12, wherein the determined state change is identified as an efficient state change
if number of states in the determined state change is less than or equal to number
of states in the reference state change.
14. The one or more non-transitory machine-readable information storage mediums of claim
12, wherein the determined state change is identified as an inefficient state change
if number of states in the determined state change is exceeding number of states in
the reference state change.
15. The one or more non-transitory machine-readable information storage mediums of claim
11, wherein a graphical representation of the determined performance level of the
user in comparison with performance level of one or more peers is generated.