'USO12348591B2
US 12,348,591 B2
*Jul. 1, 2025
2) United States Patent
Malhotra et al.
(10) Patent No.:
(4s) Date of Patent:
(64) NETWORK COMPUTER SYSTEM TO. G06K 130 (200601)
ECTIVELY ENGAGE USERS BASED ON GO6F 11/34 (200501),
FRICTION ANALYSIS GOBN 2000 201901)
a Hod. 4308 02201)
(71) Applicant: ZimeOne, Ine. Milpitas, CA (US) casey
(72) Inventors: Manish Malhotra, Milpitas, CA (USy, 62). US. Ch
Laer eraprneea er gets cr 1041, 67/585 (2022.05), GOGE 9/451
Milpitas, CA (US); Azhar Zeeshan, (2018.02); GO6F 11/3006 (2013.01); GO6F
Militas CA (US) Siddartha Sikdae, 1173058 (2013.01); G6E 11/3438 (2013.01),
‘Mumbai (IN). Tom Liu, Milpitas, CA, GUN 2000 (2019.01); HOML 67/14 2013.01)
Ws) (58) Fleld of Classiieation Seare
Pc HOSL 67/14: HOSL. 67/535
(73) Assignee: Session AL, In., Milpitas, CA (US) See application file for complete search history
(*) Notice: Subject to any disclaimer, the term ofthis (56) References Cited
patent is extended or adjusted under 35
Pechisam soa US. PATENT DOCUMENTS.
This patent is subject to a terminal dis- S1SSS14 BL S2012 Sheen
aimer " SATSMT BL 62013 Konmgstein
(Continved)
(21) Appl. Now 17/698,867
POREIGN PATENT DOCUMENTS
(22) Filed: Mar 18, 2022
ca. aos6i9 62015,
6) Prior Publication Data Primary Examiner — Kostas } Katsikis
US 202210277211 AL Sep. 1, 2022 (74) Attorney, Agent, o” Firm — Mabamedi IP Law LLP
Related U.S. Application Data en ABSTRACT
(63) Continuation-n-part of application No. 17/087,298, A network computer system and method are provided in
filed on Nox, 2, 2020, now Pat, No, 12,045.741, which each user of a group of users is monitored during &
(Continued) respective online session where the wser performs. a
sxjuence of M aetivites, to selectively engage users of the
G0) Foreign Application Priority Data ‘group. A determination is made as to the impact of Friction
Tor each user of the group of users with respect to an
Now. 20, 2021 (IN) 202141053458 intention of the respective user, and an actin is performed
for the user based atleast in part on the determined impact
GI) Ince, of fiction,
Go6N S04 (202801)
GOOF 9451 (201801)
Monitor Activities Of Individual
Respect To A Particular Context
Users Of A Group Of Users With
1140
Determine Impact OF
ion For User(s) Of WebSite 4459)
Detect User Input That Is
Indicative OF Friction 4455
Detect Decrease In Intention
Score Of Individual Users45q
Selectively Perform An Action To Remediate Determined Friction For
Individual Users
Select Based On Intention Score
1160
1162US 12,348,591 B2
Page 2
Related U.S. Application Data
hicl is « continuation of application No. 16/387,
520, fled on Apr. 17, 2019, now Put. No, 10,846 604
(60) Provisional application No, 62/729.995, filed on Sep.
11, 2018.
(St) Int cL.
HO. 4316
Host. 6714
Hos. 6750
66)
707001
vo2s7218
Tolser ss
Totosst
Tolsaeot
11062 360
Hse 201
Isso.
2ooddori62
20040181340
sononeisst
20080201733
2oowor7sr¥6
sonwan99440
201000082516
2100138368
doroon2sest
sn100773653
ort 0066650
sorvoariess
20120047022
2n120166068
20120176500
aoivoxei212
ao1po290521
ov vooast0s
2o1yorssiet
DoLsor Kc
soos
20140130076
2n1go1ss00
anwso1so7se
aoiaor21081
aoions7s9s
anaouI2@
aniso002350
20150199707
2o1sn120%6
aoisonsese
2nisos10s4
an1s0332414
Bo
B?
B
BD
BD
BI
2
BD
i
A
al
M
aA
A
Al
A
Al
A
a
al
(202201)
(202201)
(202201),
References Cited
USS. PATENT DOCUMENTS.
42014
32019
yin
nn0
112020
7303
woa0at
22024
52004
42007
2008
12008
1009
42010
62010
S200
112010
32011
S011
20012
6202
T2012
112012
12013
a0
72013
92013
122083
‘Sania
oania
saul
S201
2014
aol
tans
72015
Fans
1oa0is
ro20is
Hoi
Stephens
Patan
Datan.Cohen |
Chhabra
Malhotra,
Donan
Huutow
Nowak
Mathewson
Smith
Mayerilinane
Engr
Ghee
Shit
Base
Stundor
Ghosh
‘Gag 3002
7081419
14069 3002
T0646
«6069 3010260
“os'14.66
2ois03s03s4 AL
aoa000s280 AL
goren200ss Al
2one0063507 Al
doia0g7is@ AL
aoianr7isis Al
At
7 AL
al
At
a
Al
aoreursions Al
aornoos6sto Al
Sov7ioisoost AL
aoignnao2gs AL
140837 AL
aoi7ist7s2 Al
aov7mr7oe Al
2017031636 AL
goi7ny28 Al
ao1w0046057 AL
ao1gonsisos Al
aorsoox2i9n Al
So1w00s0737 AL
sniwn14ios9 Al
20190150756 AL
soiwor7407% Al
anign1s999 Al
doiw0n68s37 Al
aorw0r03Ko4 AL
aoiwoaogs09 AL
gorwost4sss Al
ao1s0ss760 Al
Sowonzriat Al
aorounyroas Al
2oio00st0%1 Al
so1oon6616 AL
sorouneises AL
20190130797 Alt
aoron0ses9 AL
aoroaliooe Al*
soionrsesis Al
2oro.0266825 Al
20190373101 Al
20190388787 AL
20200081815 AL
20200082288 AL
gnawoox2204 AL
go200092322 Al
Snauoopr9st AL
ana00770339 Al
a0200314603 AL
2na00x64s86 AL
2orL0117833 AL
20210215848 AL
20210312509 Al
20220067559 AL
20220086108 AI*
goro07720 Al
* cited by examiner
e201
12016
12016
Sots
Mote
anis
s2016
72018
2016
2016
2016
2016
112016
22017
S200
S200
$2017
2017
S207
112017
2017
22018
2018
Shots
Mow
S201
Shoe
aos
S018
S2ois
102018
o2018
112018
aos
12019
2010
22019
22019
ow
sro
72019
73019
8
Tata
logs Nunez
Goi
“ambak
iden
Sites
Chita
Chang
Ghose
Principe
Zam
Riland
Chen
Dovan-Cohen
DatancCohen
Bhat
Wigder
Muller
Shamsi
Maughan
Yau
Peanain
al
Sika
Ninineo
Hotinan
Compo
ir
Wats
Keishaamanty
Athen
Detvea
Song
Sinks ot al
Fleming
Rabinein
Dey
esore0n
~\
oeU.S. Patent Jul. 1, 2025
Sheet 5 of 12 US 12,348,591 B2
sas
fae Go eee
| addedrovag | orf
B__breschedesofercl_timesta 2, Vectorize visits
eeoferee|—timestam)_—_ 410
| cominuedchechad_ producud
0 _enteotnee | itemsngae Pie 4
eT piscedorer | oni ice - ah |
F__ searched salePrice = a
¢_| sonsasrectout_| xe
H__viewedeart POPCategory_ ProductiD:
fl -dcatal 4 it -|-|3018386 | -| 2612037 |-|2812936|-|-
iewedkatalee___departmen 3452312]-1-[2871123]-|-|-|2361779'————_ #12
1 viewedbome | ci
salePrice:
eyo
ie # -|-[11.99]-132]-123.99]-|-17.49]-1-117.99]-1-
Va vsuallovfrom 1-120]
pagetier
7 : FIG. 4B
sitios
userPFM
loginsttue 8, Barack predictors
onsale
FIG. 4A
Y
420
reucine puivoe
Feature
Total pages in visit
General visit measure | Average time per page
Total visit duration
‘esearch pages
Visit focus measure | %viewedcatalog pages
Sviewedhome
Variety measure ‘seunique POP
History measure
Early detection
ies No Purchase
FIG. 4CU.S. Patent Jul. 1, 2025 Sheet 6 of 12 US 12,348,591 B2
EVENT SEQUENCE DATA
SPPCPPABNSPABEBSLHCP RAP
Event 20171120181902053 201714701 81997699 2027132205951182
Timestamps 20171121305S17043 20174124109557822 20171121 105688515.
‘Time gaps fms) 0.35645 99652483 S586 40779 48693 235305 32558 292595 26329
Uompured) 258818 .
Product is» AS6Y1 45764-43562 43254 43251,--- $0763 56748...
Category 10s - 456 456-482 452 452-431 431.
"Vepend for Search, Product page, Category page, Added to bag, Bag.
viewed, Home, Entered store, Left store...
ae
issues cespeeceareeceaeercnvaeree san crue aces suNISEINOSSI
ery eieees ieee
S764 Men's Levi's 369 Loose Straight Fit Jeans
ttkd_ detriment
AS ea
sirkd int techns siting sont
a este —
2 eee te etn
456 GENDER: Men's + Department: Clothing ¢ Promotions: Sale
452 PROMOTIONS: Sole + Department: Accessorins
431. GENDER: Men's + Department: Shoes » Promotions: Sale
FIG. 5U.S. Patent Jul. 1, 2025
Sheet 7 of 12
ML Model
$16
sini6a |
Network Computer 610
Training
Process
614
Outcome
info. 659
REP 669
Device Interface Lj every
612
Outcome
rer
eal EP 669
DL
End User Device 620 iB
FASS 650 Service nding
inertce eG | Handling comp
952 L620 80 :
ig
eS pee, Yremssion) | 978 nt
lection mas
ae os | ? OL
620
= |] 0
i Processing
itor 656 Determination
Monitoring 656 nent
= Vector. 658
(#) act 685 vrep 669
Network Computer System 600
FIG. 6
US 12,348,591 B2U.S. Patent Jul. 1, 2025 Sheet 8 of 12 US 12,348,591 B2
‘SApp. 705
610
Decision Logic 630
Event Collection 648
Cc
Event
Analysis
706
Outcome info. 659
Updates 717
FIG. 7U.S. Patent Jul. 1, 2025 Sheet 9 of 12 US 12,348,591 B2
Communicate Event Library To End User Device
Generate Decision Logic Using Machine Learning
Provide Decision Logic To End User Device
Receive Outcome Information From End User Device
Train Machine Learning Process Using Outcome Information
850
FIG. 8
Receive Decision Logic From Network Computer System
10
Detect Activities That Correspond To Events Of The Event Library
220
Record Sequence Of Events Corresponding To Detected Activities
930
Implement Decision Logic To Determine A Value Representing Intent
Or Interest Of The User
Implement Trigger Based On The Value Representing The Inter Or
Interest Of The User 950
FIG. 9U.S. Patent Jul. 1, 2025 Sheet 10 of 12 US 12,348,591 B2
User Record 1045
T
yet
‘Connector Int. 102
> 130
. RT Activity
. Data Store 134
ec 3020
Tpzisrepsiepe | aan Prediction Camp. 154
tfefels [scree , ~-Sequence Invariant
Model 1055
Frustration Model 1057
Network Computer System 1000U.S. Patent Jul. 1, 2025 Sheet 11 of 12 US 12,348,591 B2
Monitor Activities Of Individual Users Of A Group Of Users With
Respect To A Particular Context 110
Sequence Event Records To Reflect User Activity
1
Make Determination Of User Intention For Individual Users From
Time Of Kth Activity Until Determination Event.
b>
112
1120
Determination Event Is Detected 1130
Determination Event Based On | Determination Event Upon
Intention Score Completion of Mth Activity;
1132 me 1134
FIG. 11A
Monitor Activities Of Individual Users Of A Group Of Users With
Respect To A Particular Context
1140
Y
Determine Impact Of Friction For User(s) Of WebSite 4459
Detect User Input That Is Detect Decrease in Intention
Indicative Of Friction 4459 Score Of Individual Users 154|
¥
Selectively Perform An Action To Remediate Determined Friction For
Individual Users 1160
Select Based On Intention Score 1162
FIG. 11BU.S. Patent
Jul. 1, 2025 Sheet 12 of 12
Processor
1210
US 12,348,591 B2
Instructions
1242
Memory Resources
1220
Storage Device
1240
Communication
Link 1280
Interface
1250
8
FIG. 12US 12,348,591 B2
1
NETWORK COMPUTER SYSTEM TO
SELECTIVELY ENGAGE USERS BASED ON
FRICTION ANALYSIS
RELATED APPLICATIONS
‘This application claims benefit of priority to Indian Patent
Application No, 202141083488, filed Nov, 20, 2021; the
aforementioned priority application being hereby incorpo-
rated by reference in is entirety
‘This application is a continsation-in-part of U.S. patent
application Ser. No, 17/087,295, fled Nov. 2, 2020; whieh
ji. continuation of U.S. patent application Ser. No. 16°37,
520, filed on Apr. 17, 2019, now U.S Pat, No. 10,846,608;
‘which claims Benefit of priority to Provisional U.S, Patent
Application No. 62/729,985, filed on Sep. 11, 2018; the
aforementioned applications being hereby incorporated by
reference in their respective emireties,
TECHNICAL FIELD.
Examples deseribed herein relate toa network computing
system to selectively engage users based on ffietion analy-
BACKGROUND
‘Machine leaming techniques have had increasing rel-
‘evance to growing technologies and markets. ‘Typically,
‘machine learning systems analyze and act on slored dato,
sometimes communieated in batch during off-hours.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 14 illustrates» network computing system for
real-time event analysis, aeconding fo one or more examples.
FIG. 1B illastates a variation in whieh « mobile device is
used as an edge device for a network computer system sich
fs described with an example of FIG. 1A,
FIG. 24 illusiates an example method for operating a
network computer system to engage end users.
FIG. 2B illustates an example method for predicting an
intent of a user
IG, 2Cillutates an example method for predicting user
intent with respect toa particular lype of activity.
FIG. 3A through FIG. 3C illustrate example data str
tures of an encoded sequence of evens
FIG, 4A through 4C ilustrate example data structures for
use with an encoded event steam,
FIG. § illustrates an example data structure to map
detected event for an end user Io olher types of information,
IG. 6 illustrates a distributed notwork computer system
for detecting real-time events, ueeording to one or more
‘examples,
FIG. 7 illustrates a sequence diagram as between a
network computer and end user device, communicating 10
‘implement real-time event analysis using a distributed arch
FIG, 8 and FIG. 9 illustrate methods for using a distrib-
uted architecture to analyze events detected by an end user
device, according to one or more examples
IG. 10 illustrates an example network computer system
to selectively engage end users ofa network site, according
to one of more embodiments
FIG. A1A illuscates an example method for selectively
‘engaging online users, according to one or more embod
ments
0
o
2
FIG. 11B illustrates an example method for engaging
‘users based on thee detemnined frustration levels, according
to one or more embodiments,
FIG. 12 illustrates a computer system on which one or
we embodiments can be implemented,
DETAILED DESCRIPTION
Embodiments provide for a computer system and method
to employ a sequence invariant model to detennine user
intentions, based on monitoring of real-time setivities of the
"According to some embodiments, each user ofa group of
users is monitored during a respective online session where
the user performs a sequence ot M activities, to selectively
engage users of the group. In monitoring each user of the
0p, an intention score o the user is determined ater each
activity that the user is determined to perform over at least
«portion ofthe respective online session. In examples, the
‘monitoring begins aller the user performs a coresponding
fctvity that is sequenced as a Kth activity in the wser's
sequence of M activities until a detemination event is
detected for the user. In examples, the determination of the
intention score uilizes a predictive model that is adapted for
sequence of K setivites, andthe intention score of the user
js based on information associated with a sequence of K
precoding activities thatthe user performed, where K and M
fare integers greater than 0, and K is less than oF equal to M.
‘In some examples, a network comptter system operates 0
etoct presence of tition for online users (e.g, Visitors of
a website) using an event activity stream, where the event
‘activity stream reflects activities the user performs, a8 well
as other events (eg., network generated event) in the
Sequence in which the activities and events occur. Further,
the network computer system analyzes the event activity
stream to detemine the impact of fiction towards the
individual user's propensity for completing a conversion
event, In some examples, the network computer system
Uilizes machine learning models with realtime event
streams to determine changes to the user's propensity (ez.
ter determines to abandon pursuit hecanse of fiction). ln
‘his way, examples utilize the real-time event stream which
records sequetice of activities performed by the user to
etoot the presence of fiction, ad further to objetively
‘measure the impact of the detected friction on the user's
intention (eg. propensity to conver)
In examples, “rietion” refers to activities and events
hie reflect an impediment or frustration of the user
towards thei intent. For example, fiction can refer to ()
events which occur that are deemed to thwart the user's
propensity to perform an action, suchas events which
diminish a ser experience (eg. page loading eror), and (i
‘activities or events which rellect rusiration on the part ofthe
user (eg, speod clicks on the part of the usor that reflct
emotion), Further, the “impact of fretion” is intended to
‘meant a reslt, prediction or measure that reflects how a user
is impeded of deterred from performing a desired action or
achieving a desired outcome.
Examples provide for a network computing system, and
‘method for implementing a network computing system, t0
‘analyze events accumulated over digital channels of aa
enterprise, for purpose of detemining contextual andior
cestomized opts that facilitate a desied objective of the
enterprise.
In examples, a network computing system (or method
there) is implemented to generate an encoded sequence of
user events, and to analyze the encoded sequence fora userUS 12,348,591 B2
3
‘nent. The network computing system determines a trigger
based at least in part onthe user intent, and farther performs
an aetion based on the tigger andor user intent
"According to examples, a determination of user's “intent”
(or “intention” and other variants theeoot) includes a deter
‘ination that a sce is deemed to have a particular propen-
sity oF disposition. For example, the user's “intent” may
reflect a propensity ofthe user to complete an activity that
js a conversion event (e.g, monetization generated from the
user activity). Sil further in some examples, a determina-
tion of usee’s “intent” may inelude a detennination of &
[ikelhood that the user will have particular response to @
trigger (eg,, where the trigger is a particular communica
tion, promotion or type thereof). As deseribed with
‘examples, a detemnination of user intent can be predictive of
‘an action the user may take
As compared to conventional approaches, examples re
‘ognize thatthe latency that is introduced between events of
relevance and the outcome ofthe machine leaning process
‘ean significantly hinder the accuracy and quality’ of the
‘corresponding outcome. Examples as described reduce the
Tatency as between when ()eveats of relevance are detected,
and Gi) a determination as to whether and how to influence
the user actions is made. In the context of computer systems
(ex, servers that implement network-based advertisements
and "promotions (eg, such as on ecommerce sites),
‘examples enable user-specific communications and other
Jnerventions to be provided to a tarpet population of users
in real-time, so thatthe objectives of the computer system
‘are more elicently met
‘Sill further, « network computer system ean implement
machine and deep learning techniques to process real-time
data for porpose of end user engagement. In some examples,
‘4 network computer system can connect end user online
bbchavior with their real-world activities, at least with respect
‘o specific retilers, using event streams that reflect real-time
sdtocted events
In some examples, a computer system records a sequence
‘of activities that an end usr is detected as performing. The
‘computer system analyzes the sequence of user activities in
feonaction with # current user activity to predict @ user
‘nent, ancl the computer system initiates an event to cause
the user to perform a desired user action based on the
predicted user intent,
TPurher, the computer system can similarly predict user
ment as the end user continues to perform additional
sequence of activities, computes an updated prediction and
‘analyzes the updated sequence of aetivities in relation to the
previous prediction.
In some examples, a computer system operates to detect
series of sctvities performed by a user, where the activities
include interactions as between the user and one or more
User interface components, The computer system recognizes
the series of activities asa sequence of events, where each
‘event of the sequence corresponds to one more activities of
the series.
In response 10 the computer system detecting @ current
user setivity, the computer system selects a relevant portion
‘of the sequence of evens, The computer system determines
at Jest one of a user intent or interest, based on an analysis
‘of the relevant portion of the soquence of events
Sill further, in some examples, a computer system oper-
ates to define session boundary, where the session bound
fry includes one or more activities that are detected as being
performed by a user during a corresponding session in which
designated set of resources are ulized. Por each user of &
first group of users, the computer system records a series of
0
o
4
session activities, including a fist activity that coincides
‘ith the defined Session boundary and one or more subse-
quence aetivities. From the series of session activities of
tach user ofthe ist group, the computer system determines
‘one oF more models to predict a Tikelihood thatthe user will
perfoem a desired typeof activity during a current or futire
Ta some examples, the designated set of resources are
subsequently’ monitored for session activities. of multiple
ters that are not of the first group. For cach of the multiple
‘users, the computer system utilizes one or more predictive
‘models to detennine a likelihood of the user perlomning a
Gesired type of activity based on one or more session
‘ctvities detected fr that user, Additionally, foreach user of
‘the multiple users for which the likelihood is below a
threshold, the computer system may eause that user to be
subject 10 an intervention that is selected as a tigger for
‘causing the user to perlorm a desired user action,
‘Adktionally, in some examples, computer system devel-
‘ops models and generates decision logic Based on the
{developed models. The decision logie is distributed to end
user devices, and the end user devices are able to implement
the decision logic to detect events, determine event
sequences, and correlate the determined event sequences to
predicted outcomes.
Still futher, ia examples, a computer system operates to
receive 2 dats set that defines a plurality of events, and
‘detects multiple aetvities that define a coresponding set of
events from the phrality of events. The set of events are
recorded in sequence 10 rellet an order in time in whieh
cach of the multiple activitics that define the set of events
took place. The computer system determines, using the
sequence of evens, a vale representing an intent or interest
fof the uses, and the computer system implements trigger
based om the value representing the intent or interest of the
'As used herein, client device refers to deviees corre
sponding to desktop computers, celular devices or smart-
phones, wearable devices, laptop computers, tablet devices,
{elevision (IP Television), e., that ean provide network
connectivity and processing resources for communicating
‘with the system over a network
‘One oF more embodiments described hercin provide tt
methods, techniques, and actions performed by a computing
device ae performed programmatically, oF as 2 computer
implemented method. Programmatically, as used herein,
means through the use of cade of compiiterexecutable
instructions, These instructions ean be stored in one oF more
memory resources ofthe computing device. A programma
cally performed step may or may not be automatic.
‘One or more embodiments described hereia can be imple
‘mented using programmatic modules, engines, or compo
fenls. A programmatic module, engine, or component ca
include a program, a sub-routine, a portion of a program, oF
a software component ora hardware component capable of
performing one or more stated tasks or functions. As ised
herein, a module or component ean exist on a hardware
component independently of ether modules oF components
Alteratively, module or component can be shared
element or process of ther modules, programs or machines.
‘Some embodiments describe herein can generally
require the use of computing devices, including processing
and memory resources, For example, one or more embodi-
‘ments deseribed herein may be implemented, in whole or in
part, on computing devices such as servers, desktop com:
puters, cellular or smartphones, tables, wearable cletronic
evices, laptop computes, printers, digital picture franUS 12,348,591 B2
5
network equipment (e, routers) and tablet devices.
Memory, processing, and network resources may all be used
in connection with te establishment, use, or performance of
any embodiment doscribod herwin (including with the per-
formance of aay method oe withthe implementation of any
system),
Funthermore, one oF more embodiments deseribed herein
may be implemented though the use of instructions that are
‘executable by one oF more processors. These instructions
may be carried on a computer-readable medium. Machines
shown of deseribed with figures below provide examples of
processing resources and computer-eadable mediums oa
‘which insirutions for implementing embodiments of the
‘invention can be carried andor executed. In particular, the
‘numerous machines shown with embodiments ofthe inven-
tion include processor(s) and various fans of memory for
holding data and instructions. Examples of computer-read-
able mediums include permaneal memory stonige devices,
such as hard drives on personal computers or servers. Other
‘examples of computer slonige mediums include portable
storage units, such as CD or DVD units, flash memory (such
4a carried on smartphones, multifunctional devices or tab-
Jets) ane magnetic memory. Computers, terminals, network
‘enabled devices (ee, mobile devices, such as cell phones)
ae all examples of machines and devices that utilize pro-
‘essors, memory, and instrtions stored on computerread-
able mediums. Additionally, embodiments may be imple-
mented in the form of computer-programs, or a computer
‘usable earier medium enpable of carrying such « program.
System Deseription
TIG. LA illustrates network computing system for
real-time analysis of user activities and other events, accord-
ing 10 one oF more examples. In particular, a nctwork
‘computing syste 100 can implement procestes to capture
‘events in real-time, across one or multiple chaonels, and
Jurher (0 implement processes to analyze and aet on the
tected events, With fespect to examples as described, the
system 100 can be implemented on a server, on a combi
nation of servers, andor on a distributed set of computing
devices which communicate over a network such as the
Internet. Still father, some examples provide for the net
‘work computing system 100 to be distributed using one oF
more servers and/or mobile devices. In some variations, the
network computing system 100 is implemented a par of, oF
jn conection with a network system, where, for example
‘end users utilize applications running on mobile devices to
‘engage in either online or real-world services (e., shopping
in tore or online),
The system 100 can provide user context data fom
real-time streams, historical datastores and enterprise sys-
tems for a mange of event events and event types. la
particular, the system 100 ean implement Jeaming and
‘analysis for processing event patiers using a real-time
response framework. Depending on the implementation, the
real-time response framework can deteet and respond t0 user
‘events in seconds, less than a second, millisecond scale oF
‘even less,
In examples, the system 100 can implement a framework
to generate a tea-time response to a particular trigger oF
‘event, for purpose of causing or influencing desired
‘outcome fiom the end user, While the response to the
panicular trigger or event can be generated in realtime, the
response ean also be tailored or otherwise configured based
‘on historical information about the end user who is the
subject of the response. Accordingly, as deseribed with
various examples, the system 100 can stilize a combination
‘of information that is obtained in real-time as well as fom
0
o
6
prior dime intervals (e, historical information), in order to
‘gencmite real-time response toa particular rigger or event.
‘With further reference to FIG. 4 the system 100 includes
‘one of more fypes of connectors 102, with each connector
‘implementing processes for communicating with a partiew
lar type of device andlor enterprise resource (e-., website
service or channel provided for users, ete.) As desribed in
greater detail, the connectors 102 ean represent an aggre
tion of processes that collectively aggregate activity nor
‘mation 101 in real-time from various user-operated devices
andor enterprise resources.
“According to examples, the connectors 102 ean include
processes that communicate with applications running on
‘eves, as well as processes that are provided with network
‘or web resources of an enterprise, For example, the connec-
tors 102 can include a mobile device application connector
102A that s implemented using. combination of a network
or server-side process (or set of processes) and an applica-
‘ion program interface (APD) of a corresponding wser-oper-
ated device 98 (eg. mobile device). As an addition or
fltemative, the connectors 102 ean inchade a website con-
rector 1028 that is implemented using a combination of a
network or serverside processes) and one or more pro-
grams that are implemented with the website (or other
enterprise resource 99) through a software developer kit
(SDK) of the website. As an addition or variation to eon-
rectors which collect information from user-operated
devices, the system 100 can implement connectors 102 10
‘monitor other types of enterprise resources 99 for activities
performed by users. Such connectors 102 can employ peo-
cesses that, for example, execute in a computing environ-
‘meat of an enterprise resource 99, in connection with &
service that is provided to users (eg, chatbot).
‘With reference to an example of FIG. 1A, the system 100
includes multiple different connectors 102 to receive and
record activity information 101 from one or more kinds of
resources, sch as from user-opersted devices 98 and from
enterprise resources 99. In examples, the activity informa
tion 101 inclides data which identifies an activity the end
user performed, using a corresponding user-operated device
andar enterprise resource. The activity information 101 can
also include one oF more wser-identitirs for the respective
‘ser that performed the corresponding activity. By way of
example, the ativity information 101 can include one or
‘mon’ identifiers that reflect any one of a user account, a
useroperated device, a session identifier (eg, such as
identified by cookie information stored on a user device)
andor a user signature determined from multiple atibutes
fof the end user's interaction wih the respective resource of
the enterprise. Additionally, the activity information ean
include descriptive information about the activity per
formed. For example, the atvity information ean inelude
dscripive information relating to an item that ste subject
fof the end user activity. Still fan, the etivity information
101 can include contextual information (eg. time of day’
day of week, calendar day, ee.) elated to an activity thatthe
fend user ig detected as having performed.
‘In some examples, an aetivity that a given user is detected
as performing can be in connection with the end user's
access or use of an enterprise resource 99 (e., website,
‘mobile device application, chavbot ete). For example, the
‘mobile device application connector 102. can comitunieste
‘witha program tha executes as pat of a mobile application
fof an enterprise, to receive activity information 101 that
perians to the ead user's interaction with the enterprise's
‘mobile application. Asan addition or altemative, the mobile
device application connector 102A can interact with ()US 12,348,591 B2
7
third-party applications rumaing on the corresponding
mobile deviee, andior (i) one or more APIs that are avail
‘able on the mobile device to obisin activity information
from device resources (eg. satellite eceiver to sample for
location information, accelerometer and/or gyroscope 10
sample for movement information, camera, mierophor
‘etc.) andior software resources (ex, thirt-pary applica
tions) In such examples, the determined activity informa
tion relates to setivities which the end user performs on &
‘corresponding mobile device, distinct or independent fom
‘any enterprise mobile device application, For example, the
mobile device application connector 102A can communicate
with one or more APIs on the comesponding mobile device
to detemnine activity information that reflects a user's inter
ction with a website and/or mobile device application, as
‘well as a location of the mobile device (eg,, as determined
from the mobile device satellite receiver). As another
‘example, the mobile device appliation connector 102A can,
include an API provided with 3 corresponding mobile appli
‘ction to obtain sensor information by, for example, reading
from a satelite receiver or other loeation-aware resource of
the mobile device, andlor sampling an socelerometer andor
zyroscope of the mobile device. Sill further, the mobile
‘device application connector 102A can interface with other
programmatic resources of the mobile device, such a8 with
third-party applications or services which run on the mobile
device,
Tn variations, the connectors 102 can inchide other device
and/or programmatic interfaces that execute on a user-
‘operated device. For example, the connectors 102 can
include programmatic interlaces which execute to comm-
nicate with processes running on diferent types of scr
devices (eg., desktop computer, wearable device). In such
‘eases, the connectors 102 can communicate to receive
activity infomation from multiple types of wser devices
(ex, desktop computer, wearable device, et.)
‘Aaditionally, in examples, the website connector 1028.
‘can also eccive activity information 101 which relate tothe
‘teraction of individual users with respect to a website
andlor designated veh resources of an enterprise oF website
publisher. The activity information 101 may be collected
through. for example, one or more processes that execute
with the website and/or respective web resourees to detest
user activity (eg. page view, search). Stil Mtber, dhe
activity information 101 can be collected from
programs that execute on end user deviees (e-.
‘are published as part ofthe webpage), In contrast to moni
toring user devices and resources for corresponding user
activity, the website connector 102B can monitor enterprise
fo publisher resources for activity information generated
from the interactions of a population of users. In such
‘exumples, the enterprise or publisher resources cua inlude,
or example, a website, « kiosk, of @ network-enabled
fiducial or encoded object distributed ata given locality. In
variations, the connectors 102 can include interfaces 10
‘communicate and receive activity information 101 from
altemative instrumented venues, sch as physical stores that
Uuilize aetWork-enabled resources, suc as cameras, eae
‘cons, Wi-Fi access points, JoT sensors, and devices.
In examples, the connectors 102 store event records 113
in the reabtime activity store 134, where the event records
113 are based on a corresponding tivity information 101
With respect to a particular user, the event record 113 ean
‘dentfy an underiying activity or activity type which the end
user is detected as performing indicated hy the respective
‘activity information 101
0
o
8
In some implementations, each event record 113 ean
include of otherwise ink to one of more attributes that are
identified from the corresponding activity information 101
‘The attributes of a given event record 113 can include
parameters that reflet descriptive information about the
Selected event, sich as, for example, information about an
item that was the subject ofthe even, as well as contextual
information regarding the performance of the event, Sil
further, given event record 113 can be associated with one
for more identifiers of a user who is detected as having
performed the underlying activity. In some examples, each
Selected event of the sotvity information can be associated
with a record or data set ofthe roaktime data store 134, to
reflet associated information, such as attributes of the event
(ext, descriptive information about the events), and ident
fiers of the end user performing the respective events
‘In some examples, an event encoding component 120.can
‘encode the event records 113 ofthe real-time data store 134
In examples, the encoding component 120 assigns a cade
value to event reoords 113 based on a predetermined encod-
‘ng scheme. The event eneoding component 120 may, for
‘cxample, utilize an encoding scheme which assigns code
valucs to event records based on a categorization of the
event record. In some implementations, the encoding
scheme ean assign like eade values to event records which
hue a common categorization. The encoding scheme can
utilize, for example, an enterprise profile 124, to determine
‘event categories, where each event category identifies ativi-
ties that are similar by nature, or deemed similar in regard
to theie respoctive probative valve for making. predictive
terminations about the end user. The event encoding
‘component 120 can also sequence events 113 for individual
ters based on time-stamps associated with cach event
record 113. The activity data store 134 may then associate an
‘encoded event steam with each user.
Tn some examples, the activity data store 134 ean be
implemented using cache memory to enable rap read
‘operations from the learning sub-system 150, A profiling
‘component 130 can copy the contents of the activity data
store 134 ta comesponding historical data sore 132, In this
‘way, memory management resources can repeatedly fish
the real-time data store 13410 remove data that may be aged,
based on a predetermined threshold of its (e., data older
than 5 seconds).
Ta examples, the profiling component 130 develops user
profiles for users ofa given user-base (eg, users Who acess
‘an enterprise website). The profiling component 130 can
include a profil store 137 whieh includes information about
users ofthe end userhase (e.g. registered user-base). The
profile store 137 can associate user-identifiers, such as
account identifier or session identifiers (eg. cookie iden-
‘fie, with information tat is provided about the end user
by the enterprise and/or the end user, The profile store 137
can also associate the end useridentifers with information
that is developed or leamed about the end user through
‘implementation of processes deseibed by various examples
below.
In some examples, profiling component 130 can also
include logic to identify historical datasets from the real
time data store 134. The profiling component 130 can
‘generate the historical data siore 132 from the real-time data
store 134, basod on events that age beyond a threshold
uration (e_2, events which are more than ane hour ol)
‘The historical data store 132 can store, fr individual users,
the encoded event streams for event records that have aged
beyond the threshold duration of the real-time data store
1MUS 12,348,591 B2
9
Sill further, the profiling component 130 develops event
profiles 131 for individual were. The event profiles 131 can
Tink event records 113 of the real-time aetivity data store 134
swith corresponding records of the historical data store 132,
‘The event profiles 131 can match user identifiers of corre
sponding event records 113 and thir respective encoded
‘event sireams with corresponding user identifiers of data sets
stored withthe historical data store 132.
In variations, vectorization logie 138 can be implemented
to generate vector representations of user activity profiles
sored in the istorieal data store 182 and/or the real-time
activity data stow 134. The veetorzation logic 138 ean
generite vector representations for encoded data streams
‘associated with the end user inthe historical data store 132,
In variations, the vectorization logic 128 can also generate
the vector representations Tor encoded data steams whic
may be stored with the realtime activity data store 134
Accordingly, in examples, the profling component 130 can
provide ie leaming sub-system 150 with activity profiles of
individual users which can include the end user's encoded 2
‘event stream as well 3s vectored representations of theend
user's encoded event stream 121, Additionally, the atvity
profiles of the individual users can exist in different forms
Tor different time periods, For example, the encoded event
stream can include one oF more vectorized representations,
to represent the portion ofthe end user's activity stream that
js aged beyond a threshold time period (e.g. 1 month or 1
yea).
In examples, the learning sub-system 150 can implement
multiple types of machine leaming and deep leaning teh-
niques to process the activity profiles of individual users. In
particular, the learning sub-system 180 can implement
machine and decp learning techniques to leam from end
users who interact with an enterprise across one or multiple
digital channels, As described with various examples the
Teaming sub-system 150 can utilize the encoded event
streams 121 fora given subject (e., end user) that extends
‘overa window of time, from present moment (eg. eal-time
for near real-time) toa selected moment in the past. Addi
tionally, the leaming sub-system 150 can utilize vectorized
representations of the end user's encoded event steam 121
spanning a timeline that extends beyond the window of ime.
In examples, the leaming sub-system 180 includes a
stream interface component 182 which monitors input into
the real-time aetivity data store 134, When data pertaining to
‘a new subject (eg, end user) is received, the stream inter-
Tice component 182 triggers analysis by one or more of the
Jmoligence processes of the Teaming sub-ystom_ 150.
Depending on the model and technique applied, the stream
Jimterface component 152 can retrieve portions of the sub-
jects encoded event stream from the historical data-store
4132, so ast seamlessly combine the historical and real-time
portions of the encoded event steam 121. In variations, dhe
Stream interface component 182 can also retrieve the vec-
torized representations of the end user's encoded event
stream. The stream interface component 182 ean furrher
‘query the historical data store 132 in aocordanee with &
‘configurable window of time. Specifically, the stream inter-
Tice component 182 ean determine the past time and the
‘current time to define the window of time. The configuration
‘of the window of time ean be based on, for example, settings
forthe enterprise, and further optimized for eontext and use
In this way, the encoded event stream 121 ean represent 8
‘continuous collection of events forthe given user, extending
between a past time and a current time. Por the respective
‘window of time, the stream interface component 182 can
assimilate the encoded event steam 121 using portions
0
o
10
stored in realtime data store adr the historical data store
Aditionaly de steam interface componeat 182 can incor
porte the Vectorize representation of the encoded event
Stream for sole ime peods, such as fr atime prio tht
ented beyond that Window of time used t asimilte the
ovoded event stim 121
Tn examples, the window of time can be configured 19
‘dently the end user activities between anyone of () Bix
Start and end times, (i activity fom a fxed star time uti
preset moment, (i) activity over prior duration of time,
unr (iv) activity daring & measured tine-intenal (ex,
very 10 second).
“According o examples, the Iaring sub-system 150 can
proces the encoded event steams) 121 of the end user to
‘make intelligent deteminations for the user, and furter to
termine an action for the given subject in realsime (or
eat realtime). For example, the leaming sub-system 150
an implement an inlligent process (eg using © machine
or deep learing technique) to determine # user intent, a
current ser context, ad relevant past user cooten. Fin
the determinations, the leaning sub-system 180 can deter
‘ine an ouput tat engages the end user in 8 manner tat
Jr likely ta nBcace the ead wser action, and farther to
Provide a desired outcome for both the end user and the
terpise. For example, the learning sub-system 150 ean
aencrte ¢notiication or other interaction with @ subject
Within a Second, or even milliseconds using the encoded
vent steam 121 of a given subject, where the encoded
vent steam 121 inchides © coninoous sct-of events
detected for to subject cross window of ine that extends
{fom the present moment (e. sing real-time dats) back
wands in ime toa selected moment in the past (e., tsing
istvial dat)
‘examples, the intelligent processes of the ering
subsystem 150 ca include (a prictive componcat 154
{© make a predictive derminaton about te end se, based
fon the encoded event steam 121; (i) an intervention com-
ponent 186 10 determine an intervention er engagement
{eg chanel selection for sending notification, ining of
oieatio, content ofnatifeation for the end user, andor
(Gi) scastomization component 58 that customizes given
‘ser experince, foe # given channel (e online) oF real
‘world event t cause. promote or otherwise inlucace
particular senimeat, ston or outcome from the end use.
‘The fntlligen processes ofthe leaning sub-system 150 ean
{rer be configured with enterprise specific data and logic
The intligent processes can genenste one or more triggers
185 forthe end user, where the iggt 188 can ident, for
example, porameters fr the action that an event hander 160
Js to take with espect othe end user. The parameters can,
for example, set the communication chanael for engaging
the end ser (or recipient who is to engoge the end user)
spel the ining, and further the content Intra. the eveat
ander 160 can ake the action tsing a respective connector
102 for the selected chan.
Tn examples, the predictive component 14 canbe mple-
‘mente using a mochineeaming process or mods, where
the machine-feaaing process i tained to futher patcn
Jar objective o outcome of the system 100, By Way of
example, the predictive component 184 ean be configured to
ategorize users in accordance with set of predictive
atgoris of categorization schem, where each category
of the categorization schema categorizes the end use ia
fccondance with a prediction about the wer. The eaegor-
zation schema can be made specific oa vary of facto,
Including a desired outcome for a particular context (ea
increase propensity of User at ecommerce site To makeUS 12,348,591 B2
u
purchase). Still further, in other examples, the Feared mod-
‘els ofthe learning sub-system 180 ean model for an outcome
‘of series of user events, In such examples, the leamed
‘models can utilize one of multiple possible machine learning
‘algorithms, such as @ random forest algorilim or a neural
network, to predict a particular ottcome to a sequence of
‘events dotcted from user activity.
In such examples. the categorization can be determined
through implementation of a machine-earing process. Ia
‘examples, the machine-leaming process can use, as input, a
sequence of encoded events relating (© a panicular user
‘setivity. For a particular end user the categorization can
reflet, for example, a likelihood that () the particular user
has a given intent or propensity, (i) the particular user will
take « particular action, and/or (ii) the particular user will
respond to a particular intervention in @ particular manner.
In some examples, the categorization schema can be a
binary determination, such asa determination as to whethee
the end user is likey to perform a particular action without 2
‘ervention, For example, the categorization can rellest
Whether a given end user is Tikely to makelnot make @
purchase,
In varistions, the categorization schema can predict an
‘outcome for the end user based on a particular type of >
intervention, Ths, the categorization schema can identify
‘end users who will have a threshold likelihood of having 3
‘desired response to a panieular intervention, Alternatively,
the categorization schema can identify a type of interven-
tion, from multiple possible interventions, that is most ikely
to result i the end useeseting in accordance witha desired
‘output
[By way of illustration, examples recognize that one ofthe
primary reasons end users drop out of an online checkout
process is hecause the end users are not sullcintly assed
‘on purchasing 2 product, such a high-value items, using an
‘ecommerce channel. In many cases an end user may be
indecisive (e.g, "sit on the fence”) for prolonged periods of
time without taking any farther action to conclude the
trunsoetion. Examples recognize that such eases of impend-
Jing or near purchases can be influenced to completion oF the
transaction (eg, "converted”) if the end user is “persuaded”
(o visit the store. The Teaming sub-system 150 can selee-
tively implement machine Ieaming techniques on the
‘encodes event seam of individual end users, to identify end
users who can be influenced to perform or complete a
teansaetion. Onee such end users ate identified, the event
handler 160 can implement processes to learn elfective
‘engagement actions with respect o individual end users. For
‘example, the event handler 160 can target select individuals,
ay identified by the learning sub-system 180, with person-
‘alized messages to invite them to a real outlet (e.
physical store, online store, ot.) where the end user can
Sample the product andor engage with salesperson (ez.
an instore sales associate). Alternatively, the event handler
160 can determine a personalized incentive forthe end user
to vist the soe
In variations, the event handler 160 can select to generate
recommendations and other messages to on-floor sales asso-
‘ites relating to end users who are in their stores, of whom
they are engaging personally or through another commni-
‘ation channel online medinm). till further, examples
‘ean improve in-store user experience, by enabling faster
‘checkouts, reduced queue times, and efiient store pick-ups
{or online purchases, In this way, the system 100 can be
Jmplemented to miero-taret end users, by way of, for
o
12
example, end user-specific messaging, communication
channels, timing. ander incentives (eg, loyalty points
iscounts, pricing).
Tn examples, the learning sub-system 150 can implement
intelligent processes to make predictive determinations for
the end user Por example, the predictive determination can
reflect the likelihood that the end user will complete or
otherwise convert 1 transaction (eg, purchase an item) if
ven a particular trigger (e.., notified that the particular
stem they were looking at isin the store they are visiting)
For example, the predictive determination score can reflect
‘decimal value between 0 and 1 (ex, 0.55), reflecting the
Tikelihood of the determination, Still further, in other
‘examples, the predictive determinations ean personalize an
particular type of produet, the customization component 158
‘an send a aofcation or message to a representative of the
enterprise t enable an agent to focus the end user's expe-
ence about the product they are most interested in
‘While some examples of FIG. 14 implement the system
100 in context of online andor real-world shopping, in
variations the system 100 can be implemented in context oF
real-time offers, a well as other context of in-session
information belp, in-session eros-sel upsell, omnichannel
personalization “and transaction completion, online 1
branch, event-based interactions, watch lists and alerts,
{aud detetion and setion, in light Wiggers based on evens,
‘nd cll center analties and event pattem detection. Stil
further in some examples, the system 100 is implemented in
context of system that intervenes in the course of a user
interaction with a website, The intervention can be ia the
{orm of actions which are taken to promote the user lowards
a panicular outcome. For example, the intervention can
Prive a promotion or offer that makes it more likely that
the user Will perform a conversion event. As another
example, the intervention ean provide the user with @
‘communication channel (eg, chatbot, live agent to address
problems that may he easing sce frustration.
In some variations, functionality as deseribed with
‘examples above, for network computer system 100 cat be
istrbuted! to the computing devices of the end users or
subjects. For example, # mobile application of an end user
evice can operate to implement some of the functions or
‘eatures, as deseribed with system 100. In such variations, a
mobile device can exeeute an application that records the
‘occurrence of certsin, predefined user events related to the
mobile deviee. To illustrat, the end user may take a pietare
ofaproduet wien Walking na sore and the picture capture
‘when eross-elated tothe location of the user, can identify
the event. Sill further, the end user can operate the app 10
place an item with an online retailer in shopping ear.
Alternatively, « detected event ean correspond to the end
‘ser being detected ss visiting a location, such asa shopping
small oF sore.
FIG. IB illustrates a variation in which « mobile device is
used a5 an edge device for the network computer system
100. In an example of FIG. 1B, mobile application 196 can
‘execute on a mobile device 190 to perform operations that
include (i) detecting predelined evens, or series of evens,
and (i) encoding the events, so as to generate a local
encoded event stream 191. By way of comparison, the
Tocally- encoded event stream 191 can form a truncated
portion ofa corresponding encoded data stream 121 forthe
same subject or end user.
“The mobile aplication 196 can further communicate with
the system 100 via a comesponding connector 102A,US 12,348,591 B2
13
‘examples, the mobile application 196 can generate requests
that are responsive to, Jor example, a newly detected event
Iv tuen, the connector 102 ean make @ programmatic ell
to the fearing subsystem 180, and more spocifially to
Jmolligent processes ofthe Teaming sub-system 150, such as
predictive component 154. The incligent processes can
also be called by the connector 1024 to determine, for
‘example, a user intent. In some variations, the intelligent
processes can futher determine a tegaer 185 o¢ action that
fs to be performed on the device. The connector 102A caa
respond (0 the mobile applicaon requests with responses
that identify @ desired outcome ofthe intelligent processes
(ea, intent, trigger, action, et.) In this way, the mobile
device 190 of the end user ean be operated as an intelligent
‘edge device that utilizes machine or deep learning to imple=
‘ment real-time operations tnd aetions locally on the mobile
device 190,
FIG. 2A illustrates an example method for operating 3
network computer system to engage end users. FIG. 2B
‘iustrtes an example method for predicting an inte of @
twser FIG. 2C illustrates an example method for predicting
user intent with respect to a particular type of activity.
Examples such as deserihed with FIG, 2A through FIG, 2C
may be implemented using a system such as described with
Jor example, an example of FIG. 1A. Accordingly, reference
may bende elements of FIG, LA for purpose of lusting
suitable components for performing a step or sub-sep being
described,
‘With reference to an example of FIG. 2, the system 100,
may be provid with a data set that dafines. a set of
‘immediately relevant context (210). The immediately rel
‘evant context can correspond to, for example, online sbop-
Ping activity of the end user (eg, what online retail site and
products the end user viewed, what tem the end usee placed
tm online car, etc.) as well as historical aetivity (eg. end
user's loyally award program for a given retailer) and
real-world activity (eg. end user walking into store, end
user Walking ino store fora panicular purpose).
Fora given set o individuals (eg. end users), the system
100 selects a tigger for each individual (212), By way of
‘example, the system 100 can implement machine leering
techniques to determine triers that are personalized for
individuals, and fora specific context or use. Moreover, the
triggers can be based on multiple conditions that are spevitic
to the given user, By way of example, the activity informa-
tion 101 of the user ean obtain information from the user's
mobile deviee, o detect that an end user is walking into @
retail store, This determination ean be made in real-time.
Likewise, time interval between the recorded events ofthe
user can indicate that the end user placed items from the
‘online store into a cart for purchase, and the particular retail,
Jocation ofthe end user has the same item as isin the user's
conline cat.
“The system 100 can select an action to perform forthe end
user In Variations atime when the selocted action is to be
performed may also be selected based on the selected action
‘and the likelihood of a desired outcome occuring (218)
Sill further, the particular channel in which the action is 0
be performed or initiated may also be selected, based on, for
‘example, the selected aetion and the likelihocd of a desired
‘outcome occurring. The actions ean correspond 10, for
‘example, sending notifications or messages to the subject of
‘end use, oF toan agent who ist interact with the end user,
bused on an oxteome determination tat is predictive
‘With reference to an example of FIG. 2B, the system 100,
‘ean record sequence of events that reflect the user's
‘activities, as detected with respect to @ particular resource
0
o
14
(ex, website) or through a particular computing platform or
channel (222) In some variations, fora givea user, activity
information can be received and recoeing using one oF
‘more multiple connectors 102, such that the detected
soquence of evens ean reflect user activities detected across
‘multiple channels (eg, activities of the user performed on
diferent types of devices andior computing environments).
Tn examples, the system 100 can analyze the sequence of
ser setvities in connection with 2 cuent user activity 10
predict a user intent (224). The prediction component 184
fan, for example, analyze the user's encoded event steams
121 (eg., provided by the historical data store 132), in
connection with an identified real-time event or event
sequence (eg. as reflected by event records 113 of the
realtime daa stone 134), to make predictive determinstion
of the user intent
In response to making the predictive determination, the
Jeaming sub-system 150 can initiate an intervention that is
intended to cause the user to perlonm a desired user action
(226), The initiated event can correspond to, for example,
‘communicating message to the end wer, where the message
includes, for example, a promotional offer or other content.
In such examples, the communicated message can be deter
‘mined by type, based on a predictive determination of the
Jeaming sub-system 150/35 to the intent of the user. In
variations, the deteraination of the learning sub-system 150
includes an inital dotermination as to whether, for example,
the user should be subject to an intervention, For example,
the predictive detemination may be thatthe intent of the
particular user is firm, and likely not subject to change with
{he intervention In other variations, the learning sub-system
150 can select the intervention for the user, based on &
predictive determination that an intervention of a particular
{ype is most-likely to generate a postive response
‘With reference to at example of FIG, 2C, the system 100
‘ean be implemented to define a session boundary, where the
session boundary is to include one oF more activities that
users of population can perform with respect 10 a desig-
rated. set of resources (232). In an aspect, the session
boundary can be defined with respect to a set of resources
that are published or othervise provided fom an enterprise
resource 99. To ilstrate, the designated set of resources can
cormespond to a website operated by an enterprise, the
mobile device application published by the enterprise, ne-
work sites accessed by mobile devices, andor a iosk that
is operated by or for the enterprise at a locality of the
enterprise. In such eases the type of user activity ean inelude
activities users of a population perform with respect to the
enterprise's website, mobile device application or kiosk. In
sch context, the types of user activity which can be detected
‘an incade users visiting « spovific website, users launching
an application for a mobile device or users operating. @
‘mobile deviee application to access a particulir network
resouree published by the enterprise, or a wser's initial set oF
interactions witha kiosk or loeality-based resource
Tn such eases, the session boundary ean be defined in part
by an initiating event, or sequence of events, coresponding
to activities of individual users with respect tothe website oF
other designated resource of an enterprise. A session bound-
ary can futher be defined by a period of inactivity, atleast
with respect to the designated resource, preceding the ini
tinting event, By way of example, the session boundary ean
be defined to correspond to user initiating an online session
(ex, usor opening browser, user launching mobile d
application, ec.) in which a website (e-., ecommerce
is accessed (eg, user views or downloads home page or
Janding page from browser or through mobile device apUS 12,348,591 B2
15
cation), As an addition or variation, the session boundary
‘can be defined by the occurence of a threshold period of
inactivity with respect to the designated resource, followed
by the initiating event (eg. user opening browser, user
Junching mobile device application, ee).
In some variation, the channel/device connector 102 can
include processes that execute on the website resources of
the specific website to detect users of the population access-
ing the website andr performing other activities (9, page
view, search, placing item in shopping cart, ee.) AS cone
necior 102 can utilize processes running on the website (©
detect trafic, the recorded information can include activity
jnformation for both known and unknown users. Each user
to aecess the website can be ideniied through a variety of
‘identifiers, such as through an account identifier (e., if user
Jogs in w service or account managed through the specific
website), cookie or local device data identifi, oF through
machine identifier. In examples in which the designated set
‘of resources include a website, the type oF user activity that 2
‘ean be monitored and detected can include page views,
click, mouse over, site search, item selection, item pre
purchase activity (place item in shopping eat), or conver
sion event. The recorded activity information can furher be
ssociated with one or more identifiers, For known uses, the
‘dentifier associated with the user's activity information can
be correlated w historical activity information of that user
such as recorded by historial data store 132
For each user ofa first group, the system 100 can further
record a series of session activities, including a first activity
that coincides with the defined session houndary and one oF
‘more subsequence activities (234), In examples, the frst
group of users can correspond to known users, ora subset of
known users (eg., known users who have accounts with the
‘enterprise ofthe designated resource). For known users, the
activity information can be recorded across mnutiple S23-
sions, with each session being marked by a session bound-
ay
Tn examples, the ecorded activity information can reflect
‘events and attributes ofthe event. For example, the activity
Jnformation ean reflect an event of search, dnd an attiute
‘of the event may comespond tothe search teem, To farther
the example, a subsequence event, as identified by the
‘ctvity information, can reflect a page view, with atiibutes
‘of one or more produ identifiers (¢., product name,
manufacturer name, SKU, ete). Additionally, the activity
information ean reflect contextual information, such as (})
‘information about the device oF application the end user
used during the particular session, (i) the timing of the
activity (eg. ime of day, day of week, month of yea, et.)
(ii) information about how the end user may have initiated
the session (eg. through use of a landing page, bookmark
‘or subscription link), Gv) geographic information about 3
location ofthe end user (e.g ifavailable) and/or (v) whether
the end user responded to a promotional event (eg. sale on
site in connection witha marketing event) and whether the
promotional event related to the item which isthe subject of
a subsequence conversion event.
‘Additionally, the activity information of known wsers ean
be processed for the occurrence of a desired aetvity. la
‘examples in which the designated resouree is an e-com-
meree site, the desired sctivity can coerespond to, for
‘example, a conversion event where the end user purchases
fan item (eg., product, service, etc.) In variations, the
‘conversion event can be defined as the wer placing item in
the shopping cat or requesting more information about an
16
item. The desired activity, or type of activities can be
predefined for a given enterprise, based on, for example the
enterprise profile 124
In examples, the event encoding component 120 can
process the recoded aetvity information of known users t0
‘entity evens, and further io determine a sequence amongst
the identified evens. The identified events ean be encoded,
and each event may also he associated with coresponding
tributes as detected through the respective connector 102
to, as described. In this way, the real-time data store 134 can
store event sequences in association with identifiers of
‘known users, for corresponding sessions in which dhe knowa
users utilize a website or other resource of the enterpse
‘Additionally, the sequence of events can further reflect an
outcome with respect to whether the user performed a
desired activity. For example, the profiling component 130
ean determine an event sequence subset for each known
‘user, where the particular event sequence subsct includes ()
a frsin-time event, such as an intiting event as defined by
the boundary, and (i) a as-in-time event, coresponding to
‘conversion event o an event in which the session is
terminated (¢., user logs of forecloses the program used 10
access the enlerprise resource). In examples, the profiling
‘component 130 sequences event records 113 for individual
users to reflect timing and order in which eoreesponding user
factvities and other recorded events occurred, In this Way,
the profiling component 130 associates individual users with
‘corresponding ser record anda plurality of event records
113, For a given user, the fist-in-time event ean be repre=
sented by an event record 113 where the user accesses a
website, where no prior historical information is known
about the user. In such examples, the real-time activity data
store IM retains ser records, cach of which are associated
‘or include event records 113 that reflect a sequence of user
fctvities and other events. The profiling component 134 can
urtheraecess the activity data store 134 to categorize andlor
soore the user based on, for example, their intention oF
Bropensy 0 perform «| ghen ation (ex, coverion
The learning sub-system 150 of system 100 may further
develop ane oF more models to predict an outcome of a user
session, where the models incorporate leaming using session
activities of known users (236). The developed models can
for example, utilize a random Jorest or neural network
sethodology. In examples, the prediction component 154
can aggregate event sequences of known users during indi-
vidual sessions, where the aggregated sequences can reflect
the occurrence oF nonoceurrence of a conversion event, as
well #8 termination andior the initiation oF session® as
defined by the session boundary. Through aggregation, the
prediction component 134 can determine patterns rellecting
the oecurence of specific evens or event types (@. any
‘one OF muliple possible events relaing 10 a particular
tribute, such as a particular product or type of product),
an rede io am oer when determina
tems ecu amongst the own users. In some variations,
the predicted outeome is made fora partctlr ters cameat
session, using such a determined pattern for that usee. In
romponent 184 can utilize
saregations to develop, for example, an
ensemble of models, ulizing analysis of events identified
from activity information of known users.
‘In examples, the aggregation of evens and/or event types
can reflect graph-type data stricture, where nodes of the
graph reflect the occurrence ofan event, event sequence, oF
teveni(s) of a panicular type. In such examples, the node
levels ofthe graphetype stricture can reflect a relativeUS 12,348,591 B2
17
jn a user session when a corresponding event, event type or
st of multiple events occur. For example, an initial level ean
reflect various events or event types Which are possible
initiation events for a session, as defined by the boundary
session, Each node ean frther be associated with one oF
more possible outcomes. Ths, for example a branch fol-
lowing given node can be associated with the likelihood of
tn oulcome, were the outcame reflects whether a desired
activity occured. Through aggregation, a likelihood of one
‘or more outcomes can be determined at nodes of each level
Additionally, the uncertainty of a particular outcome oceur-
Fing can lesen at each level, suk that a particular outcome
becomes more certain asthe node level ofan event sequence
‘Depending on implementation, the likelihood of the out=
‘come can be represented as a probability, and @ particular
‘outcome can be deemed likely or suficently ikely ifthe
probability excveds a threshold value (eq. if probability of
2 given output is greater than 50%, 60%, 709% ee. then the
‘outcome is: deemed likely). In other implementations, the 2
likelihood of an outcome occurring ata parilar node can
be binary (eg. outcome likely to oceur/not ikely to occu).
trinary (eg, outcome likely to occur in current session
‘outcome likely to oocur in a current or fature session,
‘outcome not likely to occur, oF ofa defined set. Stil futher,
the likelihood ean also be associated with « confidence
value
‘Accordingly, the prediction component 184 can use the
sctvity information of the known users to develop model(s)
to predict a likelihood of panicular outcome following an
initiation event of a defined session, The models can further
Indicate a confidence or cerinty with respect to the deter
‘ination of the likelihoods, with the confidence of cersinty
fof the determination increasing as a length of the event
sequence inereases, reflecting the user performing additional
‘activites during the session
‘Asan addition or variation, the prediction component 184
‘ean develop models to be specifi to a categorization
fend uscr. In particular, some examples provide that the
prediction component 184 categorizes users in aecordance
‘with a predicted intent ofthe end user, where the predicted
Jntent can he determined from historical information about
the end user. In the context of an e-commerce site, the
‘categorization can reflect the end user's willingness oF
propensity to perlonn a conversion event (eg, make a
Purehase) when initiating an online sesso
As an alternative or addition, the prediction component
154 implements one or more models to soore the User's
‘tention towards a particlar event (eg, conversion eveat,
‘where user makes a purchase). In such examples, the re
diction component 184 categorizes the user based on the
‘determined score. For example, the propensity ofthe user (0
‘convert (eg, make a purchase) can be categorized based on,
possible ranges for the user's propensity score
‘While some examples such as described with steps (232)-
(235) can be utilized to predict in-sssion outcomes, in
Variations, the determined outcomes can be used to develop
predictive models for predicting in-session outcomes for
detected user-aetvities, imespective of historical informa
tion or detected activity patter. To illustrate possible
variations, such developed models can be used (0 predict
‘outcomes for unknown users (eg. users for whom detected
‘activity does not correlate 1o histriea oF profile informs
tion). For example, the prediction model 184 can implement
models on user record that reflect a sequence of activities
and events, recorded in real-time, during a given session
where the user accesses a website. In such examples, the
0
o
18
session initiates once the user acoess the website (when user
activities are recorded), and no additional historical activity
in formation is known about the user,
According to examples, the system 100 can further moni
tor the designated set of resources for activities of users,
including users who are of an unknown class (238). For
ser ofthe unknown elas, the system 100 may not be able
to link a recorded identifier ofthe end wser's current session
‘with an identifier that is associated with any prior historical
information about the end usee. For example, such unknown
‘users may’ correspond! 10 users Who have not signed-in to
their aocount with the designated website, users who have no
‘account with the designated website, oF users Whom system
100 has not previously identified or recorded activity infor-
‘mation in connection with the designated website. Still
further, users of the unknown class may include users who
are not recognized by system 100 28a result of, for example,
the end user accessing the website or designated resource of
the enterprise using a channel or device where the user's
‘dentfer is unknown andior not persistent
Tn some examples, the website connector 1028 can
receive site trafic information from a process oF program
that ris with the particular site. The real-time data store 134
can record activity information generated from the mioni-
‘ored site, with the stvity information reflecting an event,
attributes ofthe event, ad one or more identifies forthe end
‘user who performed the activity of the event. The profiling
component 130 can process the recorded activity informa
tion for identifiers of the end user, to fink the end user with,
{or example, prior session profiles andor historieal infor
‘mation about the end user. For users of the unknown class,
the initiation ofa session (as defined by the site houndary}
fsa fist encounter for the system, a a result of the end user
being unknown. AddiGonaly, the system 100 can record
activity information for users who are of () a known class,
‘seh as users for whom the recorded session profile can be
Iinked to historical information, using persistent identifiers:
andi (i) a parly unknown clas, including users associ-
fated with recent session profiles (eg. session profiles which
‘ceurred in same day or same week), as a result of, for
cxample, non-persistent session identifiers.
For each user ofthe unknown class, te predictive models
can be used to determine a likelihood of the end user
performing a desired activity, based on an event sequence of
the session profile, reflecting the activities ofthe end user
during a current session (240). In examples, the desired
activity can correspond 1 conversion events, such asthe end
‘user purehiosing. an item, subscribing to a service, or per
{orming some other activity that is classified as a conversion
event for the particular site. The likelihood determination
can reflect a probability ander an outcome, as well as a
confidence level ofthe determination.
Ta examples, the prediction component 184 can repeat
cedly make the determination daring the given user session
{or outeomes within or outside ofthe piven use session. For
‘example, the likolihood determination ofthe end user per-
forming the conversion event can be initiated after a mini-
‘mum numberof events are recorded in the end user session,
‘and the detemnination can be updated repeatedly with detee-
‘ion ofaditonal events which update the end user's session
profle In some variations, the likelihood determination can
be repeated afer individual events are recorded to reflect the
end user's session aetvities, until the confidence value ofthe
‘determination reaches a minimam threshold. Sil farther, in
ther variations, the likelihood determination canbe
repented until a detemnination is made that the end user is
Tikely to not perform a conversion event. TUS 12,348,591 B2
19
‘of such likelihood can be reflected by, for example, 3
probability value, reflecting the kelibood determination of
the end user performing the conversion event, that is less
than dhe minimum thresld
In examples, the intervention component 186 uses the
likelihood determination of the end user performing the
‘conversion event to determine whether the end user should
receive an intervention In examples, ifthe likelihood deter
mination of the prediction component 154 is that the end
‘user will perform the conversion event, then the interventi
‘component 156 identifies the end user to not weeive any
Jnterveation, On the other band, if the likelihood detemni-
natin is thatthe end user will aot perform the conversion
‘event, then the intervention component 186 identifies the
‘endl user asa candidate for receiving an intervention
In some implementations, the intervention component
156 identifies individual users to receive or not receive
Jmerventions, For example, those users that are to receive
Jnerventions may be identified to the enterprise sys
based on the respective user session identifier, and logic
‘exceuting on enterprise system ean select and deliver in
Jnervention to that user before the end user ends his or her
session. As deseribed, however, ithe end use is determined
'o likely perfomn the conversion event, no identification of
the end User session profile may be made, in order 10
preclude the enterprise system from setting that user and
‘nervention In this way, interventions are utilized on an as
rnosced basis, rather than globally implemented for users of
the website
‘Sill iter, in some examples, the prediction component
184 can determine the user intent, and further determine @
time interval, action, or series of actions which the user is
likely to perform before the user performs a particular action
associated with a particular intet. In such examples, the
‘nervention component 156 can select an intervention for
the user tha is predited to reduce the time until when the
user performs the desired action, Thus, for example, the
prediction component 184 may determine that a user is
likely to make a purchase, but the user may first place the
item in a shopping cart, and then perform the action of
‘completing the purchase ata later time. In such cases, the
selected intervention may be selected to cause the user 10
‘complete the purchase shortly after the item is placed inthe
‘online shopping ear.
FIG. 3A through FIG. 3C illustrate data structures that
represent detected activities of an end user. FIG. 4A-4C
‘state data structures for encoding a sequence of events
Tor an end user FIG. §ilustates a data siiture to map @
detected event for an end user to other types of information,
In describing examples of FIG. 3A through FIG. 3C, FIG.
44 through FIG. 4C, and FIG. , ilustrate examples of an
‘encoded data stream 121, suc as deseribed with FIG. 14,
and FIG. IB. Accordingly in describing examples of FIG.
3A through FIG, 3C, FIG. 48 through FIG. 4C, and FIG. §
reference may be made to elements of FIG. 14 and FIG. 13
to illustrate examples, anetionality andlor to provide con-
‘With reference to FIG. 3A, the data streture 300 repre=
sents an encoded sequence 310 of events (e-., encoded
‘event stream 121), where the detevied events can comelate
‘or represent detected setviies of an end user, The encoded
sequence 310 ean include event identtirs 31 (et, letters)
sequenced by time of occurrence. The event identifiers 311
‘can represent an event type or category. In examples, the
‘encod sequence 310 can be generated by, for example, the
system 100 utilizing connectors 102 fo interface witha user
0
o
operated device 98 (ex,
ee.) such asin the ease of the end user operating an app oF
browser
Tn examples, the encoded sequence 310 can include event
identifiers 311, representing events identified across one or
‘multiple chanics, where cach channel represents a particu-
Jar type of connector 192 andior interface. Accordingly, in
some variation, the encoded sequence 310 fora given end
user ean include events detected across multiple eiannels oF
end user devices (ex, event detected on user mobile devie
(ormobile app) and on user desktop or browser). To generate
the encoded event sireum 310 for a given user across
‘multiple channels, some varations provide tha system 100
rmatehes user identifiers (eg, account identifiers) used by
end user when performing corresponding activities) andlor
ther types of user identifiers (eg, machine identities,
mobile device phone number, et).
‘Funtber, the sequence of event can identify or otherwise be
associated with contextual information, such as the location
fof the end user when the event oceurred andor the channel
from which the event was detected. The event data stream
121 can further be contextualized and personalized for the
end user, so as to be representative ofa subject's enterpise-
relevant activities or activity pattems. Such detected activi
ties or activity patterns ean, for example, enable highl
customized iaterations with customers, As deseribed With
ther examples, the encoded event stream 121 canbe
analyzed for patterns, using, for example, machine learning,
‘deep leaming and other learning techniques,
‘With further reference to an example of FIG. 3A, the
encoded event stream 310 can be processed and analyzed
(ex, such as by leaming sub-system 10) to predict, for
‘example, the user's intent with in conjunction witha curent
activity ofthe user. For a panicular event, the encoded event
sreaim 310 can be processed or analyzed to determine one
‘or more portions M2 which are relevaat (or most relevant)
toa panicular context (e.g. curent event detected for use).
Depending on implementation, a portion of the encoded
event stream 310 can be determined relevant based on, for
‘example, a recency oF Window of time peecoding a current
context (eg., current event detected for user), where the
relevant window of time can be configured or otherwise
selected based on, for example, the particular context andior
predictive model
PIG. 3B and FIG, 3C illustrate examples of data structures
320, 330 to represent individual events. As shown, each of
‘the event identifiers 11 ofthe encoded data stream 310 can
represent a detected event (eg., viewing a product in an
e-commerce site; searching for a product in an e-commerce
site). Each event ideattier S11 may be associated with a set
of contextual information pertaining to thit event. In some
‘examples, the contextual information may include paramet-
fic information which ean be defined or olherwise provided
by an enterprise operator (e.g. publisher of website),
FIG. 44-4C illustrate example data strictures to represent
fn encoded “click stream’ of an end user. With reference t0
FIG. 4A, an encoded click stream 400 is an example of an
encoxled event stream 310 (eg. se FIG. 3). Inexamples, the
encoded click stream 400 can comprise set of multiple
records, with each record representing an event ofthe user
‘click’ (eg, user operating input device on a computing
dovice to selet an interactive component on a website). By
‘way of example, system 100 can encode a sequence of
clck-events, with each being represented by a eorrespond-
ing event record 113.
Tn some examples, at least some of the contextual infor:
tion cam be parametrized and associated with correspond.US 12,348,591 B2
2
ing event ecords. In some examples, the event encoding 120
‘can collect event data 111 in real-time, and apply a code to
Specie parameters associated withthe event data
With reference to an example of FIG. 4B, a data structure
410 provides a voctorized dataset 412, As deseribod with an
‘example of FIG. 1A, the event encoding 120 can use the
‘enterprise data to vectorize the evens. For example, certain,
‘events can he associated with specific products that were the
subject of the event, and the vectorization can identify
jnformation about a particular event type or characteristic
for certain events ofthe user's encoded click steam 400, Ia
‘examples, the events of a given sequence may be parsed iato
subcomponents (eg, sbsequences), In an example of FIG.
4B, the vectorization can be Based on a common atibute oF
‘event characteristic For example, individual vectors may be
enerated (0 represent product identifies andioe sales price
‘with respect t0 coresponding events.
With reference to an example of FIG. 4C, a data structure
420 may provide pattems or other indicators ofa vectorized
data set for given use. In examples, the system 100 can,
process the encoded event streams (eg. using processes of
the learning sub-system 180) to extract pattems or other
indicators of an end user intent of outcome. The learaing
sub-system 180 may, for example, develop and apply mod-
‘lst predict user intent of behavior hased at least in part on
the extracted pattems.
FIG. 5 illostrates an example data steucture $00 to map an
‘event (or sequence of events) in an encoded event steam (0
f contextual information of the enterprise (eg, products,
‘category of products, et.) An example data sieeture $00
‘ean be based on a designed schema that accounts for the
‘enterprise customer base and objectives.
TIG, 6 illustrates a distributed network computer system
for detecting real-time events, aeeording to one oF more
‘examples. As shown, @ network computer system 600
‘includes one or more network computers 610 that eomn-
nicate cross one of more networks with end wser devices
(represented in FIG. 6 by end user device 620), In an
‘cxtmple shown, the network computer 610 can correspond
‘o, for example, a server, or combination of servers, and the
‘end user device 620 can correspond to, for example, 2
desktop computer or mobile device (eg, tablet, cellu
telephony and/or messaging device, wearable device, et.)
‘According to examples, the end user device 620 can
implement an event analysis subsystem 680, using. for
‘eximple, a dedicated service application, or a combination
‘of applications and/or programmatic functionality. The
‘event sub-system 650 can execute on the en! user device
620 to communicate with the network computer 610, ia
‘onde to receive and implement functionality for detecting
tnd responding t real-time events on the end user device
620, As described, the functionality provided tothe end user
device 620 can include decision logic 630, whieh can be
‘generated from machine leaming processes of the network
‘computer 610, for deployment to end user devices (as
represented by end user devices 620), to enable end user
‘devices to use machine leaning in detecting and responding
to rwal-time events
According 10 examples, the network computer 610
includes a device interioce 612, taining processes 614 and
‘one or more machine Teaming models 616 (including 3
sequence invariant model 616A). The device interface 612
‘ca operate to provide functionality, inching instructions
and data sos, tothe end user device 620. Additionally, the
‘device interface 612 can receive information from the end
twser device 620, including feedback which the network
‘computer 610 cat use for training and updating purposes
0
o
n
The machine lea models 616 can include one or
smuliple machine Iearaed models 616 that sre trsined to
enero an output tat is ingicaive of a wsee intent or
Interest, in response 10 receiving input in the form of
sequenced events tht corespond to detected se activites,
‘The network computer 610 may store an event brary 60
tat includes data to define mamerovs predefined events. In
capes, the evento the event library 68 can correspond
{individually oF in combination with other events, o aetv
tis that can be detected by the end user device 620
“The event analysis subsystem 680 can be implemented
as, forexanpl, an application tit a user can lunch onthe
ed ser device 620. According (0 an aspect, the event
aulysis subsystem 680 can be dedicat, oF otherwise
configured for use with the network computer 610. When
‘inning on the end ser device 620, componcats provided by
the event analysis subsystem 680 may include a service
Interface 682, an activity monitoring component 684, an
vent processing component 656 anda determination com-
oneal 68. The service interface 682 can communicule over
fone oF more networks ith the device interface 612, t0
frchange data seis a8 describe by various examples
Ts examples the network comspr 610 comicats st
least a portion ofthe event library 68 to the end user deviee
1620 via the device interface 612. The end user device 620
cam store an event collection 688, coresponding to a potion
fr complete version ofthe event library 608.
The activity monitor 684 can iatctace with and monitor
cone or more device esoures, sing one or more program:
‘atc esonrees 648 andor senso resources 647. The peo
zrammatic resources 64S can inch, for example hie
arty opplicatons, plugins. or services avalable trough
{he eal weer device 620. Iy way of example, the program:
‘atc resource can ince a bowser interface tht enables
the activity monitor 684 to detect certain pes of browser
aetivity (esearch for product, product Viewing, placing
product in shopping car, purchasing prev, et). The
Sensor resources 647 can incl, for example, an interface
tothe device's satelite roceiver, to obtain a eure location
‘ofthe end user deve 620.As an addition or alternative, the
Sensor resources 647 can include an interlace to a motion
Sensor of the end user device 620 (eq., accelerometer,
yroscoe), an environmental seas of the em user device
(Gg, barometer, temperature) andor interfaces wo a camera
‘emierophoneof ti end ser device. In some examples, the
fetivity monitor 684 accesses oF here utilizes logic for
processing output fom specie sensor resoures 647. Like-
‘wise the ativity monitor 6S4 ean acess the lize logic for
Aetecting and dterniaing information abou diferent types
‘of programmatic activities, such s ecommerce ativitis In
{his way, he activity monitor 684 can interface and monitor
programmatic andor sensor resources 648, 647 10 detect
Gevice usage that matches one ce more definitions for
comresponding events ofthe event collction 648
Ta examples, the activity monitor 684 detects spcitic
types of ser activities that are monitored through the
[roarammutic resource 648 and/or the sensor resource 647
When the setivity monitor 684 detects a elevant activity the
aedvity monitor 654 ean also detemune information Ut is
relevant tothe stivity. Far example, when ser porchases
fn item onlin, the feevant information can inclu, for
capt, () the numb of page views that wore detect
From the use in the network session, before the User made
the purchase, (ji) the numberof proets the user viewed,
Gian dente ofthe pret (€g, SKU}, (s) a price the
‘scr paid for the product andor (+) information about any
promotion the user sed when making the purcse. TheUS 12,348,591 B2
23
‘setivity monitor 684 can communicate detected activity,
‘including predefined relevant information about such events
to the event processing component 656.
The event processing componeat 656 can implement
various tasks in connection with detected evens. Por
‘example, the event processing component 656 can structure
the information about detected events, by generating @
recon! 657 of the detected activity. In processing the
dected activity, the event processing component 656 can,
match the activity to one of more ofthe events as defined by
the event collection 648, Whe a detected activity 655 is
tected as an event (oF events) a provided by the event
‘collection data 648, the event processing component 656 a,
‘associate @ code value 10 the event, and further populate a
‘current event record 687 to reflect the code value and other
information determined from the detecod activity. In some
‘examples, the code value of the event can rellct a category
designation of the event. Additionally, the current event
record 687 can inclide stributes which elect specific
Jnformation that was determined from the detected event.
Additionally, the current event record 687 can include a
timestamp to refleet when the corresponding user activity
‘cour
The event processing component 656 may maintsin an
‘event record store 660 to receive and store the curren event
rococd 657. Additionally, the event record store 660 may
include a collection of historial event records 651, with
‘each historial event record 681 providing information about
‘8 proviously detected event of the respective user. Tn
‘cxamples, the records 651 can include histrial information|
regarding detected events of the user. Still further, the
historical records 6S1 of the record store can inclde oF
reflect an encoded series of events for locally detected
‘events (corresponding to user activities that are defined for
those events). Additionally, the record store 660 can rellest
the detected events asa series, on sequences, based on the
timestamps that are associated with the individual records
“Accolng to examples, the event processing component
656 can retrieve historical event records 651 in connection
swith the event processing component 656 encoding and
analyzing the current event record 687. The event processing
‘component 656 can update the record store 660 swith the
‘curent event record, aad Veetorzation component 688 ca
Vestorize the updated record store 660 fo generate a vector
representation 669 that is based at least in part on the
‘encoded event seam of the ser, The event processing
‘component 686 can further analyze the vector representation
{669 in connoction with the current event record, in order to
make a predictive determination of the user's intent of
Jnerest. In some examples, the event processing component
656 can, for example, parse events, as recorded! bythe record
store 660, to identify sequences of events which share a
charecteristc of relevance (e-., by time, by typeof activity
‘of user performed, in relation to particular product oF
service, ce.) The event processing component 656 can also
proup events by criteria of relevance and/or time, so as 10
‘identify relevant events in accondance with a series of
Seaquence. In this way, the record store 660 itself may record
sn entire series of events according toa timeline of occur
Fenoe, while separately identifying sequences oF series of
‘events in accordance wth, for example, criteria of relevance,
In examples, the separately identified event sequences or
seros ean he analyzed collectively, for decision making,
In some examples, the event processing component 686
applies instrctions or logie received by the nctwork com-
puter 610 to determine event sequences or series. The
0
o
2
determinations made on the end user device can rele, for
ccxample, a patter or trend with respect to a user intent oF
interest,
In some examples, the vetorization component 688 can
generate vector representations 669 of event sequences,
based on for example a determination that a set of events are
relevant to one another, andr in response toa current user
activity, The record store 660 may also store vectorizd
torms of individual events, as well f vectorl representation
of identified event sequences or groupe, where the vectral
representation applies tothe collective group.
"According 10 examples, the event analysis sub-system
650 may also include a determination component 670,
whieh responds to detected events by determining an pro”
priate outcome for current or recently detected event. The
‘etermination of the outcome ean be based on, for example
analysis of prior events in combination with a eurent event.
As described by some examples the analysis of prior events
fan include analysis of multiple evens, in sequence or
clusters, where the events are deemed relevant to one
father, sich as when the events share a particular eharae-
teristic (eg., ecommerce activity)
‘As an addition or alternative, the determination compo-
nent 670 can analyze prior events to detect pater or tends
‘whieh may be probative in predicting, for example, a user
intent or interest a5 (0 a particular subject (ex. item of
‘commerce. In examples, functionality for analyzing events
in sequence can be integrated with the event analysis ub-
system 680, such a in the form ofa program that rans with
the event analysis sub-system 680, In some examples, the