`EX1010
`
`
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`US01031146SB2
`
`(12) United States Patent
`Maginnis
`
`(10) Patent No.:
`(4s) Date of Patent:
`
`US 1053115465 B2
`Jnn. 4, 2019
`
`(54) ESTIMATIN&'(OOT TRJLVI1C I,IVT I ~
`RESPONSE TO A i ADVERTISEMENT
`CAMPAI&'N AT Axr ONI.INE SYSTEM
`
`(71) Applicant: Vacehook, Inc., Menio Park, ('A ((JS)
`
`(72)
`
`Inventor
`
`Patrick Brendan 34aginnts, San
`Francisco, CA (US)
`
`(sfi)
`
`Refcrcnces Cited
`
`IJ S PAI'I(N1 iX)('JJMI(NT)
`
`Z(102 (10526919 A("
`
`5 20(JZ ('hcn
`
`Z(l(5 (1286660 A("
`
`(020(5 Stump
`
`2015i0348095 AI r
`
`12i2015 Dixon
`
`D2(1 7 04
`702 34
`(i060 50 01
`705 319
`0060 . 0:0246
`705 14.45
`
`(73) Assignee: Facebook, Inc.. Menlo Park, CA(US)
`
`" cited by examiner
`
`"
`
`(
`
`) Notice
`
`Subject to any disclaimer. the rerm of tlus
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 286 days.
`
`(21) Appl. No: 14/742,509
`
`(22)
`
`Filed:
`
`Jun. 17, 2015
`
`Prior Publication Data
`US 2016/0371722 A I
`1&ec. 22, 2016
`
`(65)
`
`(51)
`
`(52)
`
`Int. CL
`&II)6e 3(IZI)2
`IJ.S. CL
`('PC
`
`(201 2 01)
`
`(II)6&I dlhr)243 (2013 OI)„0'I)de) all/I/26/
`(2013 01)
`
`('P('........... (JOGQ 30,'0207—30/0277
`USP('............
`
`(58) Field of Classification Search
`
`705/14 I — 14 73
`See application file for complete search history
`
`Pritt(ort Exam/ner
`Sam Refai
`igent, or Firm Fenwick a West LI p
`(74) .(/rorno);
`ABSTRACT
`(5 /)
`An online system ca(uncles a hft ut foot trallic at a store in
`rcspollsc to all tlilvc(ttsemcllt ctllltpalgll at tile ollltllc svstelll.
`'I'he online system identifies a physical location for the store
`and obtains iocation data for a base gmup of users and a
`lifted group of users, where the lifted group of users receives
`advertisements associated with the store and the base group
`of users does non Thc online system computes a distance
`bc(wino thc location ol'hc store and thc user's location to
`create a base distance array for thc base group and a lif(cxi
`distance array for the lifted group 1 he online system then
`determines an agiregnte value that represents a measure of
`a number of users visiting the store for each of the hase
`distance array and the lifted distance array. and estimates a
`lift (n foot tratfic by comparing the two ag re ate values.
`
`30 Claims, 4 Drawing Sheets
`
`303
`
`310'12a
`
`314a
`
`Launch Labs EX1010 Page 1
`
`
`
`U.S. Patent
`
`Jun. 4,2019
`
`Sheet 1 of 4
`
`US 10,311,465 B2
`
`100
`
`FIG. 2
`
`Launch Labs EX1010 Page 2
`
`
`
`U.S. Patent
`
`Jun. 4,2019
`
`Sheet 2 of 4
`
`US 10,311,465 B2
`
`303
`
`30
`
`isit 304
`
`ot a
`isit 305
`
`Visit
`(Base)
`
`Nota V
`(Base) 3
`
`303
`
`it (Lifted) 308
`
`Not a Visit
`Lifted) 309
`
`FIG. 3A
`303
`
`FIG. 3B
`
`310
`
`312a
`
`314a
`
`FIG. 3C
`303
`
`330'32a
`
`334a
`
`FIG. 3D
`
`FIG. 3E
`
`FIG. 3F
`
`Launch Labs EX1010 Page 3
`
`
`
`U.S. Patent
`
`Jun. 4,2019
`
`Sheet 3 of 4
`
`US 10,311,465 B2
`
`FIG. 4
`
`Launch Labs EX1010 Page 4
`
`
`
`U.S. Patent
`
`Jun. 4,2019
`
`Sheet 4 of 4
`
`US 10,311,465 B2
`
`CL
`OI ~
`O
`U C9
`
`C 0
`
`0)
`
`L0
`0.
`
`Q Q0I
`
`LL
`
`(n
`m &-&
`CCI C9
`
`0 0
`
`OI
`
`0Q
`
`.I
`
`dl
`
`U
`
`Launch Labs EX1010 Page 5
`
`
`
`US 10,3
`
`11,465 B2
`
`1
`ESTIMATING FOOT TRAFFIC LIFT IN
`RESPONSE TO AN ADVERTISFMENT
`CAMPAIGN AT AN ONLLNE SYSTEM
`
`BA('K(iROIJNI)
`
`This disclosure relates generally to estimatin B lift in foot
`traffic at a store, Bnd more particularly to estimating foot
`the store in response to an advertisement
`traffic lift at
`Cdiltpdtgit ttl ail Otlltt&C SVSli:111
`Businesses ofimt use behaviors ol
`lhctr customers lo
`influence services provided to the customers Businesses
`may prm ide advertisentents to users at an online system to
`increase traffic to their stores Any business that provides
`such advertisements may be interested in estimatin a lift in
`foot traffic at a physical location of its stores in response to
`thc advenisemcnt ctunpatgn io mcasurc Ihc cfii:ctn encss of
`1IS dilvCrnst:tuCill iutillpB&gil.
`('onventional techniques for estimating foot traffic lift use
`direct nteasures of foot traffic such as tracking a nuntber of
`visits to a store*s physical location by estimating, a number
`of users witlfin a predefined region around the store*s
`physical location. In such a technique, a user is counted as
`d visitor lo a store &1 Ihc user's device is detcrlctl lo bc w i!lan
`d prcdcftttcsf region around llm physical local&on of Ihe store.
`'I'he accuracy of such a conventional technique depends on
`a frequency with which the user's device reports its location.
`For example. the accumcy of the fi&ot tmflic lift estimate
`increases as the repottin frequency increases. It is impor-
`tant for businesses with brick-Bnd-mortar stores engaging in
`advcrlisemeni campmgns at onlute syslcms lo bc able lo
`CslhlidlC foot
`IralhC lift
`li& SttCh CaillptttgtlS
`ii:SpoilSi:
`accurately irrespective of a frequency with which the user's
`device reports its location
`
`111
`
`SUMF LARY
`
`To determine the effectiveness of an advertisement cant-
`paign at an online system, the online system estimates a lift
`in foot traffic at B store ln response to the advertisement
`campaign. For example. the online system estimates the foot
`traflic ltfi by receiving locduon dale associated with users tn
`the 1 ictnily of tlm store, aud by deicnnimng tm aggregate
`&slue based on the rccetvcd location data. Tlm aggregate
`value may be an indirect n&easure fi&r a nutuber of visitors to
`the store such as. for example, a mean distance between the
`location and the users'losest reported
`store's physical
`location to the store*s physical location. The online system
`cslimdics the mean distance lbom Ihc store lhr a base roup
`ol users (t.c., control group) thai does nol rccctvc advcrlisc-
`mcnls assoctatcsf with thc store. and lor a hllcd group of
`users (i e.. treatment group) that does receive one or ntore
`advertisements associated with the store. 'I'he oniine systent
`then estimates a lift in foot traffic by computin a decrease
`in the mean distance from the store for the base gmup of
`users versus the hflcd group of users, whcrc tmy decrwtse tn
`Ihe mean distance lrom lhe base gruup lo Ihc i&fled group
`rcprcscnls a h f1 tn fi&ol tra flic at Ihe store in response lu thc
`advertisentent cantpaign 1&oot traffic in the context used
`throughout this descnption refers to in-person visits by users
`(e.g.. by foot) to a physical or brick and mortar location of
`a store/brand associated with an advertiser or entity tlmt
`owns the store/brand).
`To cstimatc a ltfi in I'ooi Irdflic m rcsponsc lo Ihc adver-
`tiscmmti campaign associated with a store, the onlute system
`location of the store or brand The
`identifies a physical
`online system obtains location data of users correspotlditlg
`
`to ihc base group of users and to the hfted group of users.
`'I'o compute a mean distance from the store for each of the
`base group and lifted group of user~.
`the online system
`computes a distance bet&veen the obtained location associ-
`ated with a user and the physical location of the store for
`each user of the base yt&up to create a base distance array,
`and for each user ol Ihc liflixl group ol users lo create B lificsf
`distance array. For thc base group of users and thc lificsf
`gmup of users v, ith a number of users K. each of the base
`lo distance array and the lifted distance array includes K
`distances The online system determines a ntean distance
`value for each of the base distance array and the lifted
`distance array, ivhere the mean distance value ts an aggre-
`gate value thai rcprescnis dn indirect mcasurc of a number
`of users visiting Ihc store. Other example aggregate values
`may relate to other statistical values of distance such as
`standard deviation, median, I-score. and the like.
`the online system determines the
`In one etnbodintent,
`mean distance value fi&r a distance array using statistical
`io teclutiques such as bootstrapping v,ith replacement statisti-
`cal analysts. Boolslrapputg ts a statistical tccluuquc Ihal uses
`resampling to cslimalc Bny statistic of a population. The
`bootstrapping technique is used to contpute statistics on
`mean distance value for each of the base distance array and
`the lifted distance arnsy The technique includes generating
`a hrst sample of the distance array and then generating
`multiple distance sub-arrays by resampling the first sample,
`where each distance sub-array ts ol'he same length as that
`Of tl&C 111St wtillplC. Tilt: Otlltt&C SV'SICtil Coil&puli:S B 111CB11
`so distance value for each of the nndtiple distance sub-arrays
`,'ltltl gcflct'Blas a tucatl tltst;tace art'dv cotllptlstftg the mcatl
`'Ihe
`distance values of the multiple distance sub-arrays.
`online system then orders the individual mean distance
`values of the mean distance array in either an ascendin
`&s order or a descanting order for further processing. A mern&
`distance value is dclcrnuncd for the distance array using a
`conlidmtcc interval such as a t)S% confidence utterval.
`I'he online system estimates a lift in the foot traffic at the
`store by computing a difference between the mean distance
`do value for the lifted distance army and the mean distance
`value for the base distance array, where the mean distance
`value difi'crcnce rcprcsents a mcasurc of the tncrotsc in thc
`number ol'sers vistung lhe store tn response lo receivutg
`thc Bdvcrltsemcnt. Stdiisncal analysw such as a proportion
`test and K-score contputation. as described below ivith
`reference to Fl(i &L can be performed on the mean distance
`values for the base group of users Bnd the lifted group of
`to estimate whether any higher mote of visitors
`users
`observed with thc liflcd group (i.c.. auy reduction in mern&
`o distance) ts slansttcnlly significant.
`In onc cmbodtmen( Ihc onlutc system cstimatcs Ihe lifi in
`foot traffic for each set of users belonging to a frequent
`reportmg group, where the users'lient devices report their
`location data frequently to the online system (e.g . above a
`» frequency threshold), and belonging to an infrequent report-
`iug group, where ihc users* client dcviccs do not rcport their
`location data frcqucnlly enough lo thc online system (e.g..
`thc users of
`below a frcqucncy tlueshold). For example,
`frequent reporting group might have opted in to location
`io tracking such that the online system may obtam the location
`data associated with the user (i.e., the current location of the
`device) et en when a mobile application is ninning in the
`background on thc mobile de&ice. such llrdt thc dcvicc has
`an abthty to share the dci ice's location pcrioihcally without
`ss any input from Ihc user. Allcmanvcly,
`thc users ol Ihe
`infrequent reporting group might have opted out of location
`tracking such that the online systent may obtain the location
`
`Launch Labs EX1010 Page 6
`
`
`
`US 10,311,465 B2
`
`dain associated with Ihc user only when d mobile appl ice! ion
`is ninning in the forebrround. and the user provides an input
`to share ihe device's location. Thc proportion test mialysis
`and I-score computation can be repeated for each of the
`frcqucn( rcportuig group and uifrcquni( reporting group, and
`individual Z-scores can bc combmccl usuig S(oufibr's
`w nghtccl Z-score mc(hod.
`
`BRIEF DESCRIPTION OF THE DRAWIN(iS
`
`in
`
`system cnviroiunent in
`in accordance with an
`
`FIG. 1 is a block diagram ol'
`which an online systeni operates,
`embodiment
`FIG. 2 is a block diagram of an online system,
`accordsance with an embodiment.
`FIGS. 3A-3F show example representations of foot trafhc
`at a store, in accordance with an embodiment.
`FIG. 4 is flowchurt ol an cxtunple process fiir cstimatuig
`traflic lift at a store in response to advertisenient
`foot
`in accordance with an
`cmnpai n at an online system,
`entbodiment.
`FI(iS. 5A-5D show example estimation of foot traffic lift
`at a store in response to advertisement campaigt at an online
`sv's(eili. lli accorcldllcc Wlfll all clIlboclililciln
`llic ligures depict various cmbodimen(s of Ihc presnit
`disclosure for purposes of illustration only One skilled in
`the art will readily recognise from the fiillowing discussion
`that alternative embodiments of the structures and methods
`illustrated herein may be employed without departing fmm
`the principles of the disclosure described herein.
`
`l)l I I'A II,I il ) Dl IS('RIP('ION
`
`System Architecture
`FIG. I is a block diagrmn of a system environment 100 for
`an online system 140 such as, a socml nc(v,orkmg system.
`Thc sys(em environmnit 100 shown by FIG. 1 composes
`one or more client devices 110, a network 120, one or ntore
`(30, and the online system 140.
`third-party systenis
`In
`alternative configumtions. different and/or additional com-
`ponents ntay be included in the system environment 100.
`Thc cmbodunen(s dcscnbcd herein can bc ddaptnl Io online
`sysu:ms ihat arc no( social uetworlang systems.
`llic chcnt devices 110 are onc or more computing devices
`capable of receiving user input as well as transmitting and/or
`receiving data via the network 120. In one embodiment, a
`client device 110 Is a conventional computer sysrem. such as
`a desktop or a laptop computer. Alternatively, a client device
`110 mdy be a device lmvuig compuier lunctiouahty, such as
`a personal digital assistant (PDA), a mobile Iclclthonc, a
`smar(phone or another suitable device. A client devwc 110
`is configured to comniunicate via the network (20. In one
`embodiment, a client device 110 executes an application
`allowing a user of the client device 110 to interact with the
`online system 140. For example, a client device 110
`cxecutcs a browser upplicdtion to enable uiteraction between
`the clien( device 110 and thc online system 140 via thc
`ac(work 120 In another cmbodimen(, a clien«lcvtcc 110
`interacts with the onhne system 140 through an application
`pmgramming interface (Apl) running on a native operating
`such as IOSdc'r
`system of the client device 110.
`ANDROIDr" In some embodiments, the client devices 110
`ilicllldc liiciilioll Irdckillg folic(lollalltv, elle! cilli lch:11!llv Illc
`locations of thc dcviccs basixl on global positioiung. IP
`address. triangulation Io nearby cellular tov, crs, or any other
`niechanism. In one enibodiment, a user of the client device
`(10 can disable or opt out of location tmcking on the device,
`
`and Ihc client dcvicc 110 w ill not truck Ihc device's loca(tun.
`In other cases, the client device (10 only tracks location if
`the user opts in to location tracking
`'I'he client devices 1(0 are configured to comnuuiicate via
`the netv,ork IZO, ivhich may comprise any combination of
`local area and/or wide area networks. using both wired
`and/or wireless comnuinication systems. In onc embodi-
`ment, thc network 120 uses suindard communications tech-
`nologies and/or prctocOI. I'or exmnple. the network 120
`Io includes comnnuiication links using technologies such as
`Ethernet, g02.11, worldkvide interoperability for microwave
`access (Wi)/LAX), 3(i, 4G. code division multiple access
`(CDMA). digital subscriber line (DSL)„etc. Examples of
`networking protocols usn! for conmiurucauug via thc net-
`work 120 include muluprotocol label swi(clung (MPLS).
`transnlission control pronicol11iternet pmtocol (I( P/IP),
`hypertext transport protocol (I I'I'1 P), simple mail transfer
`pmtocol (SM'I'P), and file tmnsfer protocol (liTP) Data
`exchan ed over the netvvork 120 may be represented usin
`scs any suitable format, such as hypertext marlnip language
`(HTML) or cxtcnsiblc markup language (XML). In some
`embodiments, all or some ol Ihc communication luiks of Ihe
`network 120 may be encrypted using any suitable technique
`or techniques
`One or more third party systems 130 may be coupled to
`the network IZO for conununicating v ith the online system
`140. which is further described belocc in conjunction with
`FIG. 2. In onc cmbodimcnt. a tlurd party system 130 is an
`application provider conunumcatuig uilhnuauon dcscribuig
`io applications for execution by a client device llfl or com-
`municating data to client devices (10 for use by an appli-
`cation executing on the client device In other embodiments,
`a tlurd party system 130 provides content or other infomta-
`tion for presentation via a client device 110. A third party
`is s)'stclll 130 llliiv also comlIluillciltc lilforllla(loll Io Illa olllllle
`system 140. such as adi crusemcnts, con(nit, or infonnauon
`about an applicauon prox iclnl by thc tlurd party system 130.
`Other third party systems 130 are associated with entities
`having physical locations that niay be visited by users of the
`do online system 140. For example, third party system 130 may
`be associated with an entity that has brick-and-mortm busi-
`ncsscs selling mcrchdndisc Io users of the online system 140.
`Au example system operating as thc online system 140 is
`a social nctworkuig system. FIG. 2 is an cxamplc block
`diagram of an architecture of the online system 140 includ-
`ing social networking functionality. 'lite online system (40
`shown in FICi. Z includes a user prohle store 205. a content
`store 210. an action lo ger 215. an action log 220, an edge
`store 225, an ad s(ore 230. an authorize(cou scrvcr 235. d
`location module 240, a locaiion store 245, a traflic hfl enguie
`250. and a wcb scrvcr 255. In other cmbodnueuts, the onluie
`fewer. or diiferent
`system 140 may inchide additional,
`cmnponents for various applications ( oilveiltional compo-
`nents such as netivork interfaces. security functions, load
`s. balancers, failover servers, management and network opera-
`tions consoles, and thc lile are not shown so as to not
`obscure Ihe detiuls of Ihc sysicm arclu(ccture.
`Each user of Ihc online sys(nn 140 is associated with a
`user profile, which is stored in the user prohle store 205 A
`io user profile includes declarative information about the user
`that was explicitly shared by the user and may also include
`profile information inferred by the online system 140. In one
`embodiment, a user prolilc uicludcs muluplc data lields,
`each dcscnbing one or morc auributes ol'hc corresponduig
`ss user of thc onluie systnu 140. Exiunples of uifonnation
`stored in a user profile include bio raphic, dentogiaphic, and
`other types of descriptive information, such as work expe-
`
`o
`
`Launch Labs EX1010 Page 7
`
`
`
`US 10,311,465 B2
`
`i
`uence. educational h&story, gcndcr, hobbies or prclbrmiccs,
`location and the like A user profile may also store other
`information prov&ded by the user, for exainple, images or
`images of users ntav be
`In certain embodunents,
`videos
`tagged with information Iden&ilying the online system users
`dispLayed in an &ma e, v ith information identifying the
`images ui winch a user &s tagged or stored ui thc user proiile
`ol'hc user A user proiilc in the user pro(ilc store 205 may
`also n&ai&ttaiii references to actions by the correspo&tdi&tg
`user per ti&rn&ed on content items in the content store 210 and
`stored in the action log 220. I Or&hero&ore, a user protile in
`the user pmfile store 205 may also store identifiers of
`physical locations visited by the corresponding user.
`thc user pmiile store 205 arc
`Wh&lc user pro(iles &0
`frcqucntlv'&ssoc&B&ixl w&th uld&vnlut&la, Blk&w Big uld&v&foals
`to interact w&th each other via the online system 140, user
`pmhles may also be stored for entities such as businesses or
`organizations. 'I'his allows an entity to establish a presence
`on the online system 140 for connecting and excl&anging
`content &vith other onl&ne system users. The entity may post
`inlonnation about Itself. about its products or prov&de other
`inl'onnation to users ol'hc onluie system 140 usui
`a brand
`page assoc&ated with the entity's user profile. Other users of
`the online systeni 140 n&ay connect to the brand page to
`receive information posted to the bmnd page or to receive
`information from the bmnd page. A user profile associated
`&vith the brand page may include information about the
`round or uifomia-
`mit&ty Itself. prov&d&ng users w&th bacl
`uonal data about thc entity Brands lor wluch fi&ot trallic
`adve&tising lift is calculated for one or more brick and mortar
`stores may have a brand page representing an online pres-
`ence ti&r the brand within the online system 140. I &ach store
`can also have a separate brand page.
`The content store 210 stores objects that each represent
`I arious types ol content. Extunples of content represented
`bv an oblcct ulchulc B pBgc posn a status update, a photo-
`graph, a iidco, a luck, a shared content &&em, a gaming
`application ach&evement, a check-in event at a local bus&-
`ness. a pape fe.g.. brand pagei, or any other type of content.
`Online system users may create objects stored by the content
`ed by users to
`store 210. such as status updates, photos ta
`bc assoc&a&ed w&th other objects ui thc onlmc system 140,
`events, groups or nppl&cat&ons.
`In some embod&mm&ts,
`oblccts drc rccc&vcd from th&rd-pin(I'pphcatnn&s 0& th&rd-
`party applications separate from the online system 140 In
`one embodiment, objects in the content store 210 represent
`single pieces of content. or content "items." Hence. online
`system users are encoumsged to conununicate with each
`other by posting text aud content items ol'anous types of
`mcd&a to thc onluic system 140 through various conumuu-
`cauon cluutnels Thw uicrcascs the tmiount ol interact&on of
`users &vith each other and increases the frequency v ith
`which users interact within the online systein 140.
`The action logger 215 receives conmtunications about
`user actions internal to and/or external to the online system
`140. populatuig the act&on log 220 w&th infomiation about
`user actions. Examples ol'ctions mcludc addu&g a co&u&m-
`inn& &0 Iux&thor user, scndulg B nlcssagc &0 Bun&he& i&set,
`uploading an image. reading a message from another user,
`vie&vina content assoc&ated with another user, and attending
`an event posted by another user. In addition. a number of
`actions may involve an object and one or more particuLar
`users. so these act&ous arc associated w&th thc part&euler
`users as well and stored &0 the schon log 220.
`11&e acuon lo 220 may be used by the onlmc system 140
`to track user actions on the online system 140, as well as
`actions on third party systems 130 that comimu&icate infi&r-
`
`&0
`
`mat&on to thc onluic system 140 Users may in&cruet w&th
`various objects on the online system 14U, and information
`describing these intemctions is stored m the actiim log 220
`Exmnples of interactions &vith objects include commenting
`on posts, sharing link~, checkin -in to physical locations via
`a cheat de& ice 110, accessing content items, and any other
`su&table uiteractions. Additional cxtunples ol uitcractions
`w&th oblccts on thc online system 140 that nrc u&cludcxI in the
`act&on log 220 include commenting on a photo album,
`u& cmnn&unicating v,ith a user. esnsblishing a connection &vith
`joming a group, creating an
`joining an event,
`an object,
`event, authorizing an application. usin
`an application,
`expressing a preference for an object ("fiking'* the object),
`slid cngi&gulg ul a transact&on. Add&t&0&tally& thc sct&on log
`220 may record a user's &ntcracuons w &th adverusemcnts on
`the onbne systen& 140 as &veil as with other applications
`opensting on the online system 140 In some embodiments,
`data from the action loa 220 is used to infer interests or
`preferences of a user. augntenting the interests included in
`the user's user profile and allowing a more complete under-
`standulg of user p&clc&cnccs.
`Thc action log 220 may also store user actions taken on
`a tlurd party system 13U, such as an external website and
`cmnn&unicated to the online system 140 l&or example, an
`e-con&merce v,ebsite that primarily sells apparel at bargain
`prices may reco nize a user of an online system 140 through
`a social plug-in enabling the e-cotmnerce v ebs&te to identify
`thc user of thc online system 140. Bccausc users of thc
`onlu&c system 140 arc uniquely &dcntiliablc, c-conunercc
`&0 v ebsites, such as in the apparel retailer, may communicate
`inforn&ation about a user's actions outside of the online
`system 140 to the online system 140 for association with the
`the action log 220 may record inii&rmation
`user. Hence,
`about actions users perfomt on a tlurd party system 130,
`iucludu&g webpage viewing histories, adverusemcnts that
`werc cngagixl, purchases nu&dc. m&d other patterns
`from
`shopp&ng mid buyuig.
`In one embodiment. the edge store 225 stores information
`describing connections between users and other objects on
`so the online system 140 as edges. Some edges may be defined
`by users. alio&ving users to specify their relationships with
`other users. For cxamplc. users may gm&crate ixigcs w&th
`other users that parallel Ihc users'eal-lili: relationslups.
`such as fncndk, co-workers, partners. aud so forth. Other
`edges are generated &vhen users uiteract with oblects in the
`online system 140. such as expressing interest in a page on
`the online system 140. sharing a link u ith other users of the
`online system 140. and conunenting on posts made by other
`users of the onhnc system 140.
`In onc cmbod&menu an edge may include venous li:sturcs
`iu&clt rcp&csun&fig chaiscic&1st&cs ol nltc&dct&ons bctwccn
`users, mteractions bet&veen users and oh(acts. or interactions
`between objects l&or example. features included m an edge
`describe a rate of interaction between two users, how
`recently two users have interacted v, ith each other, a mote or
`an mnount of ufiomiation retncvcd by onc user about an
`obicct, or numbers and types of comments posted by a user
`about an object. The fenturcs may also rc3&resent infonnat&on
`describing a particular object or user l&or exmnple. a feature
`ic may represent the level of interest
`that a user has in a
`particular topic. the rate at which the user lo s into the online
`system 140, or information describing demo raphic infor-
`mauou about thc user. Each Ihaturc may bc assocmted w&th
`a source object or user. a target object or user. and a feature
`Si value. A fi:aturc may bc spcciiicd as an cxprcss&ou based on
`values describing the source object or user, the target object
`or user, or interactions benveen the source object or user and
`
`&I
`
`0
`
`&s
`
`Launch Labs EX1010 Page 8
`
`
`
`US 10,311,465 B2
`
`target object or user, hcncc, Bn edge may bc rcpircscntcxf as
`one or more feature expressions.
`'lhe educ store 225 also stores intilrmation about edges,
`such as afiinity scores for objects, interests, and other users.
`Affinity scores, or "afiinities,*'ay be computed by the
`online system 140 over time to approximate a user's interest
`in an object or ln another user ln the onhne systmn 140 based
`on Ihc Iictlons pcrlornnxl bv thc Uscn A llscr s Iiibnlty nlay
`be computed by the onhne system 140 over time to approxi-
`nlate the user's interest in an object. in a topic, or in another
`user in the online system 140 based on actions perfornled by
`the user. Computation of afiinlty is further described in U.S.
`patent application Ser No. 12/978.265, filed on Dec. 23,
`2010, U.S. patent apphcatlon Scr. No. 13/690.254, filed on
`Nov. 30. 2012, U S patent application Scr. No. 13/689,969,
`filed on Nov. 30, 20I2. and U.S. patent application Ser No.
`13,'690.088. fled on Nov 30, 2012, each of which is hereby
`incorporated by reference m its entirety. Multiple interac-
`tions between a user and a specific object may be stored as
`in one embodiment.
`a single edge In the edge store 225,
`Altcmatively, each interaction betwimn a user mid a specific
`obicct is stored as u separate edge. In some emboduncnts,
`connections between users may be stored in the user profile
`store 205. or the user profile store 21)5 nmy access the edge
`store 225 to deternlme connections between users.
`One or more advertisement requests f"ad requests**) are
`included in the ad store 230. An advertisement request
`includes advcrtiscment content
`tmd a bid mnount. Thc
`divertisement content is text, image, audio, video, or any
`other suitable data presented to a user In various embodi-
`the advertisement cimtent also includes a landing
`ments.
`page specifying a network address to ivhich a user is directed
`when the advertisement
`is accessed. The bid amount
`Is
`associated ivith an advertisement by an advertiser and Is
`used to dctemunc Bn cxpcctcd value, such as monetary
`compensation. provided by tm advcrtiscr to thc onlulc sys-
`tem 140 lf the advcrtlsemcnt ls prcscnted to a user. if the
`advertisement receives a user interaction. Or based on any
`other suitable condition I'or example, the bid amount speci-
`fies a monetary amount that the online system 140 receives
`from the advertiser if the advertisement is disphsyed and the
`cxpcmcd value la dctcnnlncd by multiplyulg thc bid unount
`by a probability of tlm adveniscmcnt beulg accessed.
`Additionally, un advcrtlscment request may ulcludc onc
`or more tar eting criteria specified by the adveniser. Tar-
`getin criteria included in an advertisement request specify
`one or more characteristics of users eligible to be presented
`with content
`in the advertisement request. For example,
`targcilng cntena urc a filter to apply to lields of a user
`prohlc. cdgcs, Bnd/or dctlons Bssoclatcil wnh a Ilscr 10
`idcntil'y users huvuig user profile ulformatlon. ufgcs, or
`actions satisfyin at least one of the targeting criteria I lence,
`the targeting criteria allow an advertiser to identify groups of
`users matclfing specific targeting criteria, simplifyin sub-
`sequent distribution of content to groups of users.
`In oneembodnnent,
`the targeting crneria may spccll'y
`dctlons iir lopes ol connections bctw ccn B Uscl Bnd Iinothcr
`user or object of'thc online system 140. The targctm cntcria
`may also specify interactions between a user and objects
`performed external to the online system 140. such as on a
`third party system 130. For example, the targeting criteria
`identifies users that have taken a particular action, such as
`sending a message to another user, usulg ml application,
`Ionung d group, lcavulg a gloUp, lonlln Bn event, gcncrBI-
`hlg iin ci cnt ih:scllptlon, pllrchasnlg in leva:v, nlg B producl
`or service usmg an online nlarketplace, requesting informa-
`tion fmm a third-party system 130, or any other suitable
`
`io
`
`action. Including actions in Ihc turgcung critcna allows
`advertisers to further refine users eligible to be presented
`v ith content front an advertisement request As another
`targeting criteria may identify users having a
`exanlple,
`connection to another user or object or having a particular
`type of connection to another user or object. Furthermore,
`targeting cnteria may also specify a locauon vtsitcxf by a
`user. For example, thc targeting cntcria Idmitlfics a city,
`buildmg, or room in which the user is or was located
`I'he authorization server 235 enforces one or more pri-
`vacy settings of the users of the online system 141) A privacy
`setting of a user detemlines lmv, particular infomlation
`associated with a user can be shared. and may be stored in
`thc user profile of a user ln tlm user prolile store 205 or
`stored ul the authonzauon scrvcr 235 und associated with a
`user profile In one embodiment. a privacy setting specifies
`particular intilrnlation associated with a user and identifies
`the entity or entities with ivhom the specified information
`may be shared. Examples of entities with which infilrmation
`Io cml be shared may include other users. applications. third
`party systems 130 or any cutify Ihat can potenually access
`the inlilnnatlon. Examples of infonnauon that can bc sharcxf
`by a user include user pmhle information like profile photo,
`phone numbers associated with tbe user, user s connections,
`actions taken by the user such as adding a connection,
`changing user prohle infomlation, locations visited by the
`user. and the like.
`Thc privacy scttulg spccdication may be pmvldrxl at
`dlffi:rent levels of granulanty. In onc embodiment, a pnvacy
`lo setting may identify specific infornlation to be shared ivith
`other users For example. the privacy setting identifies a
`v ork phone munber or a specific set of related information,
`such as. personai infomtation including pmfile photo, home
`phone number. and status. Alternatively. the privacy settin
`li may apply to all the udormauon associated with the user.
`Spccilication ol thc sci of cntitics Ihut cun access particular
`infilrmatlon may also bc spccificxf ut various levels of
`granularity Various sets of entities with which information
`can be shared may include, filr exanlple, all users connected
`do to the user. a set of users connected to the user. additional
`users connected to users connected to the user all applica-
`tions, all tlurd party systems 130, specific third party sys-
`tems 130, or all extcmal systenno
`Onc cmbodlmcnt uses dn enumeration of cntltlcs to
`specifj the entities alloived to access identified information
`or to identify types of intilrmation presented to different
`entities. For example. the user may specify types of actions
`that are comnumicated to other users or communicated to a
`spccilicd group of users. Altcmatlvcly, the user may spccily
`types ol iictlons ill othci hlfliilndtlon thtit ls not pUbllshcd ol
`prcscnted to other users.
`I'he authorization server 235 includes logic to determine
`if certain information associated v ith a user can be accessed
`by a user's friend



