US20200394666A1 - Machine Generated Recommendation and Notification Models - Google Patents
Machine Generated Recommendation and Notification Models Download PDFInfo
- Publication number
- US20200394666A1 US20200394666A1 US17/007,854 US202017007854A US2020394666A1 US 20200394666 A1 US20200394666 A1 US 20200394666A1 US 202017007854 A US202017007854 A US 202017007854A US 2020394666 A1 US2020394666 A1 US 2020394666A1
- Authority
- US
- United States
- Prior art keywords
- item
- user profile
- image
- user
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0203—Market surveys; Market polls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- H04L67/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Definitions
- the subject matter disclosed herein generally relates to a graphical user interface. Specifically, the present disclosure addresses systems and methods to facilitate matching buyers and sellers using calibrated user profiles and notification models.
- FIG. 3 is a flowchart illustrating operations of a device in performing a method of generating a calibrated user profile, according to some example embodiments.
- FIG. 4 is a flowchart illustrating operations of a device performing a method of generating a calibrated notification model, according to some example embodiments.
- FIG. 5 is a flowchart illustrating operations of a device performing a method of matching buyers to sellers using the calibrated user profile and the calibrated notification model, according to some example embodiments.
- FIG. 6 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 9 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 10 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 11 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 12 is a representation of sliders allowing users to specify qualitative levels of desire.
- FIG. 15 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 16 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- FIG. 17 is a flowchart illustrating operations of a device performing a method of matching buyers to sellers using the calibrated user profile and the calibrated notification model, according to some example embodiments.
- FIG. 18 is an illustration of an example graphical user interface of a client device, according to some example embodiments.
- Example methods and systems are directed to matching buyers and sellers using calibrated user profiles and notification models. Examples merely typify possible variations. Unless explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.
- FIG. 1 is a network diagram illustrating a network environment 100 suitable matching buyers and sellers using calibrated user profiles and notification models, according to some example embodiments.
- the network environment 100 includes a server machine 110 , a marketplace system 120 , and devices 130 and 140 , all communicatively coupled to each other via a network 150 .
- the server machine 110 can form all or part of a network-based system 160 configured to match buyers and sellers using calibrated user profiles and notification models and generate the calibrated user profiles and notification models.
- the marketplace 120 is shown as including an API server 112 , a web server 114 , an application server 116 , a database server 118 , and the database 125 .
- the marketplace 120 forms all or part of a network-based system 170 (e.g., a cloud-based server system configured to provide one or more services to the devices 130 and 140 ).
- the server machine 110 , the marketplace 120 , and the devices 130 and 140 may each be implemented in a computer system, in whole or in part, as described below with respect to FIG. 6 .
- the application server 116 may be implemented as a single application server 116 or a plurality of application servers.
- the application server 116 hosts one or more marketplace system 180 , which comprises one or more modules or applications and which may be embodied as hardware, software, firmware, or any combination thereof.
- the application server 116 is, in turn, shown to be coupled to the database server 118 that facilitates access to one or more information storage repositories or database(s), such as the database 125 .
- the marketplace system 180 provides a number of market place functions and services to users that interface with the network-based system 160 .
- the marketplace system(s) 180 can provide information for products for sale or at auction facilitated by the marketplace system(s) 180 and displayable in devices 130 and 140 .
- the marketplace 180 provides listings for products indicative of the information for products.
- the listings for products can be stored in the database 125 and may be searchable by through the network-based system 160 .
- the listings may include information indicative of a product, a condition of the product, terms of sale for the product, shipping information, a description of the product, a quantity, metadata associated the product, metadata associated with coding for the listing, and information indicative of product organization, such as titles, categories, category taxonomies, and product interrelations.
- the marketplace system(s) 180 can also facilitate the purchase of products in the online marketplace that can later be delivered to buyers via shipping or any conventional method.
- the marketplace system 180 is shown in FIG. 1 to form a part of the network-based system 170 , it will be appreciated that, in some embodiments, the marketplace system 180 may form part of a payment service that is separate and distinct from the network-based system 170 .
- the client-server-based network environment 100 shown in FIG. 1 employs a user-server architecture, the present disclosure is not limited to such architecture, and may equally well find application in a distributed architecture system (e.g., peer-to-peer), for example.
- the various marketplace system(s) 180 may also be implemented as standalone software programs, which do not necessarily have networking capabilities.
- marketplace system(s) 180 is shown in FIG. 1 to form part of the networked-based system 170 , it will be appreciated that, in alternative embodiments, the marketplace system(s) 180 may form part of a payment service that is a part of the networked-based system 170 .
- the database server 118 is coupled to the database 125 and provides access to the database 125 for the device 130 and 140 and other aspects of the server machine 110 .
- the database 125 can be a storage device that stores information related to products; documents; web sites; metadata relating to products, documents, or websites; and the like.
- users 132 and 142 are also shown in FIG. 1 .
- One or both of the users 132 and 142 can be a human user (e.g., a human being), a machine user (e.g., a computer configured by a software program to interact with the device 130 ), or any suitable combination thereof (e.g., a human assisted by a machine or a machine supervised by a human).
- the user 132 is not part of the network environment 100 , but is associated with the device 130 and is a user of the device 130 .
- the device 130 can be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 132 .
- the user 142 is not part of the network environment 100 , but is associated with the device 140 .
- the device 140 can be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 142 .
- the device 130 and 140 contains a web client 134 which may access the various marketplace system(s) 180 and, in some cases, the server machine 110 , via the web interface supported by the web server 114 .
- a programmatic client 136 is configured to access the various services and functions provided by the marketplace system(s) 180 and, in some cases, the server machine 110 , via the programmatic interface provided by the API server 112 .
- the programmatic client 136 may, for example, perform batch-mode communications between the programmatic client 136 and the networked-based system 160 and the server machine 110 .
- any of the machines, databases, or devices shown in FIG. 1 may be implemented in a general-purpose computer modified (e.g., configured or programmed) by software (e.g., one or more software modules) to be a special-purpose computer to perform one or more of the functions described herein for that machine, database, or device.
- a computer system able to implement any one or more of the methodologies described herein is discussed below with respect to FIG. 6 .
- a “database” is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof.
- any two or more of the machines, databases, or devices illustrated in FIG. 1 may be combined into a single machine, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices.
- the network 150 may be any network that enables communication between or among machines, databases, and devices (e.g., the server machine 110 and the device 130 ). Accordingly, the network 150 can be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof.
- the network 150 can include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof.
- the network 150 can include one or more portions that incorporate a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a wired telephone network (e.g., a plain old telephone system (POTS) network), a wireless data network (e.g., WiFi network or WiMax network), or any suitable combination thereof. Any one or more portions of the network 150 may communicate information via a transmission medium.
- LAN local area network
- WAN wide area network
- the Internet a mobile telephone network
- POTS plain old telephone system
- WiFi network e.g., WiFi network or WiMax network
- transmission medium refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions (e.g., processor executable instructions) for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software.
- FIG. 2 is a block diagram illustrating components of the server machine 110 , according to some example embodiments.
- the server machine 110 is shown as including a reception module 210 , a determination module 220 , an identification module 230 , a communication module 240 , a generator module 250 , and a calibration module 260 all configured to communicate with each other (e.g., via a bus, shared memory, or a switch).
- Any one or more of the modules described herein may be implemented using hardware (e.g., at least one processor of a machine) or a combination of hardware and software.
- any module described herein may configure a processor (e.g., among one or more processors of a machine) to perform the operations described herein for that module.
- modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices.
- FIG. 3-5 are flowcharts illustrating operations of the server machine 110 in performing a method 300 of generating a calibrated user profile, according to some example embodiments. Operations in the method 300 may be performed by the server machine 110 , using modules described above with respect to FIG. 2 .
- the server machine 110 receives a plurality of subjective estimations of value.
- the reception module 210 may receive the plurality of subjective estimations of value.
- the subjective estimations of value are a measure between a predetermined minimum value and a predetermined maximum value.
- the subjective estimation of value is implemented with discrete values between the predetermined minimum value and the predetermined maximum value.
- the user 132 may indicate a number between one and ten indicative of the user's 132 subjective need for the item, where one is the predetermined minimum value and ten is the predetermined maximum value.
- the discrete values for the subjective estimation of value may be indicated by whole numbers between one and ten.
- the subjective estimation of value is implemented as a continuous measure between the predetermined minimum value and the predetermined maximum value.
- the subjective estimation of value may be implemented in a graphical user interface on the device 130 as a slider extending between the predetermined minimum value and the predetermined maximum value.
- the each slider presented within the graphical user interface is a graphical representation of a specified subjective estimation of value. For instance, where the user 132 is identifying the user's 132 need for an item, the user 132 may place the slider at any position between one and ten as indication of the user's 132 subjective need for the item, where one is the predetermined minimum value and ten is the predetermined maximum.
- the server machine 110 In operation 320 , the server machine 110 generates a user profile. In some embodiments, the server machine 110 may import the plurality of subjective estimations of value into the profile to determine one or more attributes of the user 132 based on the plurality of subjective estimations of value. In some embodiments, in generating the user profile, the server machine 110 may receive data from the user indicative of demographic, location, and preference data from the user. Further, in some embodiments, the server machine 110 may receive data indicative of interests, desires, financial information, payment information, and other distinguishing data for the user.
- the server machine 110 may import the plurality of subjective estimations of value in relation to a specific item, product, or image. Given a plurality of sets of subjective estimations of value on related items, products, images, or the like, the server machine 110 determines one or more of the plurality of subjective estimations of value which relate to a category into which one or more of the specific item, product, or image may be organized. Where the server machine 110 determines a category corresponding to a set of subjective estimations of value, the server machine 110 identifies an association between the category and the set of subjective estimations of value.
- the server machine 110 receives a plurality of user actions corresponding to the plurality of subjective estimations of value.
- the server machine 110 may receive the plurality of user actions and perform one or more identification processes on the plurality of user actions. For example, the server machine 110 may determine a specific item, product, or image corresponding to one or more of the plurality of user actions.
- the server machine 110 may create an association between the set of user actions and a category encompassing the plurality of items, products, or images.
- the server machine 110 calibrates the user profile based on the plurality of user actions.
- the server machine 110 can determine that a subjective estimation of value corresponds to a user action for a specific item, product, image, or category thereof. Where the server machine 110 determines such a correspondence, the server machine 110 applies or adjusts a weighted value to the subjective estimation of value indicative of a higher likelihood of user action in relation to a future association of the subjective estimation of value with an item, product, image, or category thereof similar to that for which the subjective estimation of value was initially received.
- the category relating to the item, product, image, or category thereof associated with the subjective estimation of value and the user action may receive a weighted value or an adjustment to an associated weighted value indicative of a higher likelihood of user action with regard to items, products, or images associated with the category.
- the server machine 110 may also perform operation 342 .
- the server machine 110 determines a probability of user action based on the plurality of subjective estimations of value and the plurality of user actions.
- the server machine 110 may determine the probability of user action based on a combination of the item, product, image, or category thereof and the correspondence of the subjective estimation of value and the prior user action.
- FIG. 4 is a flowchart illustrating operations of the device 130 in performing a method 400 of generating and transmitting notifications calibrated to a user, according to some example embodiment. Operations in the method 400 may be performed by the device 130 , using modules described above with respect to FIG. 2 .
- the server machine 110 receives a plurality of subjective estimations of value.
- the subjective estimations of value being a measure between a predetermined minimum value and a predetermined maximum value.
- the server machine 110 receives a plurality of user actions corresponding to the plurality of subjective estimations of value.
- the plurality of user actions may be a plurality of first user actions and the server machine 110 may receive a plurality of second user actions corresponding to a plurality of notifications.
- the server machine 110 receives a plurality of communication mechanisms by which to transmit a notification to a user.
- the plurality of communication mechanisms can include SMS notifications, emails, text messages, IM notifications, calendar reminders, social media posts, social media notifications, or the like.
- the plurality of communication mechanisms may be received from the user 132 , the user profile, or, in some embodiments, interactions on the graphical user interface between the user 132 and the marketplace 120 .
- the server machine 110 determines a probability of user action based on the plurality of subjective estimations of value and the plurality of user actions. As discussed above, the server machine 110 may determine the probability of user action based on correspondence of previous user actions and subjective estimations of value, as well as items, products, images or categories thereof associated with such correspondences.
- the server machine 110 generates a notification model, based on the subjective estimations of value, the plurality of user actions, the probability of user action, or the like to pair two or more notification mechanisms together for transmission of a notification.
- the server machine 110 determines the two communication mechanisms may cooperate to increase notification efficacy while maintaining a desired level of urgency, unobtrusiveness, style, or the like of the notification.
- the server machine 110 transmits the notification to the user.
- the method 400 further includes operations 470 , 480 , and 490 .
- the server machine 110 determines one or more notification characteristics based on the plurality of subjective estimations of value; at least one of the plurality of first user actions and the plurality of second user actions; and the probability of user action.
- the notification characteristics can include the content of the notification, a message type, an urgency value, an importance value, a need value, a desire value, a probability of user action value, and other notification characteristics.
- a notification may have a repetition value in which the notification is determined to be a serial notification with a delivery having a predetermined time interval and a predetermined communication mechanism.
- the server machine 110 determines a notification timing, based on the plurality of subjective estimations of value; at least one of the plurality of first user actions and the plurality of second user actions; and the probability of user action. For example, the server machine 110 may match the content of the notification, the urgency value, and the importance value with one or more of the subjective estimations of value, at least one of the plurality of user actions, and the probability of user action to determine a priority indicating that the notification should be transmitted immediately. Further the server machine 110 , can determine, using the repetition value, the urgency value, and the content of the notification, that a notification should be transmitted on a weekly basis, each time updating the content of the notification, between the hours of 7:00 p.m. and 8:00 p.m.
- the server machine 110 may determine that the user 132 visits the marketplace 120 website between the hours of 7:00 p.m. and 8:00 p.m. on Wednesday night and that timing the notification to coincide with the website visit may increase the probability of future user action by the user 132 .
- the server machine 110 In operation 490 , the server machine 110 generates the notification based on the determined one or more notification characteristics and the determined notification timing.
- FIG. 5 is a flowchart illustrating operation of the device 130 in performing a method 500 of matching a set of items from the marketplace 120 to an item from an image based on a plurality of subjective estimations of value indicated by the user 132 .
- Operations in the method 500 may be performed by the device 130 , using modules described above with respect to FIG. 2 .
- the method 500 includes operations 510 , 520 , 530 , 540 , 550 , 560 , and 570 .
- the method 500 may include operation 580 .
- the server machine 110 receives an image depicting a first item having a plurality of characteristics.
- people may take pictures 610 - 640 of items they like, desire, need, suggest to others, or the like.
- Pictures or photographs may have a single item or multiple items. In some instances, where a photograph has multiple items, the user 132 may only be interested in a single item in the photograph.
- images, taken by the user 132 may contain metadata, such as geographic location, source, tags, or the like. Metadata corresponding to, relating to, or identifying an image may be generated automatically, at the same time as the photograph, or may be generated, embedded, attributed, or otherwise added later.
- the user 132 may take photographs on the device 130 , such as a mobile telephone.
- the device 130 or a software application installed on or native to the device 130 , may append a geographic location to the image as metadata.
- the user 132 may add metadata, such as a name of the item shown in the photograph, a description of the item, an indication of desire for the item, an indication of need for the item, an indication of attribution of ownership of the item or photograph, or the like.
- the user 132 or the server machine 110 may include metadata with the photograph (e.g., as shown in FIG. 8 ), such as potential sellers in the marketplace 120 who currently offer an item matching or similar to the item depicted in the photograph, potential buyers who have indicated a desire for the item (e.g., through an indication in the plurality of subjective estimations of value), buyers who have recently purchased an item matching or similar to the item depicted from a seller on the marketplace 120 , or the like.
- the user 132 or the server machine 110 may add metadata such as item details, description of an item in the photograph, an indication of other user actions with regards to the photograph, and the like.
- other user actions appended to the image as metadata may include users who indicated an interest in or desire for the item pictured, users who shared the photograph, or users who commented on the photograph.
- the user 132 may organize photographs into categories or may organize the items contained within the photographs into categories.
- the user 132 may place photographs into folders, such as virtual folders in an operating system, database, or other application configured to organize electronic data based on user input.
- the user 132 may organize the photographs, images, or other digital representations into folders by semantic categories, image similarity, or the like.
- the user 132 may manually organize or curate lists 910 - 940 of photographs or items within photographs.
- the images may be organized into categories including a representational image.
- the user 132 may manually organize or curate lists of photographs or items within photographs. Lists may be anything the user 132 collects together, such as a wedding registry, items for a camping trip, items for a new baby, a collection of photographs generally related to a theme, or the like, for example.
- the user 132 may maintain the list as a private list, accessible only by the user 132 and/or persons linked to the user 132 in the server machine 110 or in other social media systems.
- the user 132 may maintain the list as a public list and/or shared list with selected other people or the general public to facilitate organizing the items in which the user 132 or a group of users is interested. For example, the user 132 may employ public or shared lists to enable a social shopping experience between the group of users.
- the group of users may comment on photographs or items within the list; indicate interest in or desire for the item or photograph, such as by sharing the item with other users, indicating that the photograph or item is a favorite of the user through a binary selection, or indicate one or more of the plurality of subjective estimations of value.
- the server machine 110 receives a plurality of subjective estimations of value for the first item.
- the subjective estimations of value are a measure between a predetermined minimum value and a predetermined maximum value.
- the subjective estimations of value may be implemented with discrete values between the predetermined minimum value and the predetermined maximum value, or as a continuous measure between the predetermined minimum value and the predetermined maximum value.
- the plurality of subjective estimations of value may be implemented as a plurality of sliders 1110 - 1130 .
- the user 132 may adjust each of the plurality of sliders 1110 - 1130 to indicate the importance of an item, a subjective desire to own the item, and an amount the user 132 is willing to spend, for example, based on the position of the slider indicating a value.
- the user 132 may indicate a desired time frame for purchase, a likelihood of purchase, a likelihood of repurchasing the item, a time frame for repurchase of items, or other subjective estimations of value.
- the user 132 may adjust the plurality of subjective estimations of value on predefined axes of the slider, whether vertical, horizontal, circular, or the like. As shown in FIG. 11 , in some embodiments, when implemented as sliders, the plurality of subjective estimations may be a continuous measure between the predetermined minimum value and the predetermined maximum value.
- the sliders 1110 - 1130 may enable the user 132 to indicate to the server machine 110 a qualitative level of desire, interest, need, or the like indicative of the plurality of subjective estimations of value. This may enable the user 132 to clarify nuances behind the items of interest. These nuances may increase the granularity with which the server machine 110 , in cooperation with the marketplace 120 , may predict future interactions, the urgency of those interactions, and ultimately the likelihood that those interactions will lead to a purchase.
- the plurality of subjective estimations of value may provide an additional metric, means, or categorization by which to organize items and categories of items that interest the user 132 by the qualitative desire and urgency within those categories.
- the plurality of subjective estimations of value may also enable sellers, in the marketplace 120 or other systems or retail environments, to identify buyers, given the buyers' self-identified and machine derived interactions with the server machine 110 .
- the server machine 110 may generate models of user behavior by a combination of user actions within the server machine 110 and information provided by the user 132 .
- One such model may be a system action model, allowing interactions with users to be driven by a more personalized or granular understanding of the user's needs and interests. For instance, if the user 132 ranks an item or categories of items highly on the plurality of subjective estimations of value, more direct email or push notifications may be appreciated and may be generated and transmitted by the server machine 110 . For items or categories the user 132 ranks low on the plurality of subjective estimations of value, the server machine 110 may determine that email or push notifications may be unwanted by the user 132 with regard to that item or category of items.
- the server machine 110 may interpret the plurality of subjective estimations of value to indicate an interest in niche items or hedonistic spending which could inform or trigger different notifications for the user 132 or certain items or categories of items for the user 132 .
- the plurality of subjective estimations of value may enable the server machine 110 to segment or prioritize items or categories of items for personal evaluation, management, and disposition to known and potential recipients and services.
- the server machine 110 may enable automated actions to be set based on the plurality of subjective estimations of value. For example, the server machine 110 may enable the user 132 to authorize the server machine 110 to place bids or purchases in a marketplace 120 based on the plurality of subjective estimations of value, such as a relatively high indication of want or need.
- the user 132 may additionally indicate desire, interest, or ownership on the photograph of another user 1310 and 1320 , as shown in FIG. 13 .
- the user 132 may select or otherwise indicate a desire, interest, or want for an item, or that the user 132 owns the product.
- the server machine 110 may include metadata with the photograph, which may be an image or other digital representation, and display to users of the server machine 110 information indicative of users that currently have the item, and may include the price that the user paid.
- the server machine 110 may indicate sellers 1330 - 1334 on the marketplace 120 who have the item, the price 1340 - 1344 of the item listed with the seller, and the location for each potential seller of the item.
- the server machine 110 may include in the metadata and display to users of the server machine 110 details of users who have indicated an interest in or desire for the item depicted in the image. For example, the server machine 110 may display the plurality of subjective estimations of value indicated by the users who expressed interest in the item, such as how much the users wanted the item, needed the item, or were willing to spend on the item.
- the server machine 110 may also include information indicative of users who showed interest in the item, (e.g., interested parties 1410 ), such as those users who favorited the item, shared the image, and the like.
- the server machine 110 may also indicate any public lists in which the image or item may be included and any comments on the item or image (e.g., reviewing users 1420 and 1430 ).
- the server machine 110 identifies one or more of the plurality of characteristics from the first item in the image.
- the server machine 110 may identify characteristics from metadata associated with the image, the image analysis of the image containing the first item, images similar to the image containing the first item.
- the plurality of characteristics may be indicative of an item type, an item category, an item brand, an item model, a color, a shape, a price, an item description, or the like.
- the server machine 110 may initiate operation 532 , in which the server machine 110 performs image analysis of the image.
- the server machine 110 identifies one or more characteristic from metadata associated with the image.
- the metadata may be entered by the user 132 , associated with the image from a third party, associated with the image by the image owner, or otherwise associated with the image.
- the server machine 110 determines one or more second items which share the one or more characteristics identified in the operation 530 .
- the server machine 110 may determine one or more second items by image analysis of separate images, identifying the one or more characteristics of the first image through image analysis or metadata associated with the one or more second items in one or more second images.
- the server machine 110 extracts one or more search terms from one or more second items determined to be similar to the first item. For example, the server machine 110 may extract one or more term in metadata for the images associated with the one or more second items.
- the server machine 110 uses the one or more search terms to identify a set of third items on a marketplace 120 corresponding to the one or more search terms.
- the server machine 110 may perform image processing on the image to determine similar items 1510 - 1530 . Where the image has no associated identifying information, metadata, the server machine 110 may perform image processing to relate or associate the item in the image with one or more item contained in an image having associated identifying information. The server machine 110 may then extract relevant search terms from similar items that have metadata (e.g., tags associated with them) and issue a query to a marketplace 120 , such as eBay.
- a marketplace 120 such as eBay.
- the server machine 110 may identify the set of third items by determining the plurality of subjective estimations of value entered by the user 132 for the first item, determining an item category for the first item, and matching the plurality of subjective estimations of value entered by the user 132 to items offered by a seller on the marketplace 120 . In matching the first item to items offered by the seller, the server machine 110 may determine an associative array of items about which to notify the seller, an associative array of items about which to notify the user 132 , a potential buyer, and a distance threshold. In some embodiments, the distance threshold may be a value used for weighting item matches for determining items about which the user 132 or the seller should be notified.
- the server machine 110 may determine a score for each of the plurality of subjective estimations of value, determine differences between the first item and the item for sale, determine a distance between the scores of the plurality of subjective estimations of value between the first item and the item for sale, determine a distance between the category of the first item and the item for sale, and determine a total distance, based on the above-referenced scores, between the first item and the item for sale.
- the server machine 110 may use the value for the total distance, compare the total distance value to the distance threshold, and determine whether to transmit a notification about the item for sale. For example, the server machine 110 may determine whether the total distance is below the distance threshold and, if so, transmit a notification of the item for sale to the user 132 .
- the server machine 110 may transmit a message to the seller of the item for sale that the user 132 may be interested in the item for sale.
- the server machine 110 may determine whether to withhold notification to the buyer or the user 132 , based on logic, sale criteria, the plurality of subjective estimations of value, feedback scores, or other criteria. For example, the server machine 110 may determine that regardless of a match between the first item and the item for sale, the user 132 has not designated sufficient interest in purchasing the item, or that the notification should be withheld until a predetermined notification time.
- the server machine 110 displays the one or more third items.
- the server machine 110 may generate a list of the one or more third items and transmit the list to the device 130 for display to the user 132 on the device 130 .
- the results of the query to the marketplace 120 may be the set of third items 1610 - 1640 .
- the server machine 110 may cooperate with the marketplace 120 to perform operations on the results of the query.
- the server machine 110 may cooperate with the marketplace 120 to enable the user 132 to tag, share on social media, watch, bid on, sort into folders for later viewing, view, or otherwise interact with the set of third items in the results of the query.
- the method 500 may further include operation 580 .
- the server machine 110 updates the set of third items based upon the plurality of subjective estimations of value. For example, the server machine 110 can generate notifications to periodically notify the user 132 of items which have newly been added to the marketplace 120 which correspond to the one or more search terms or otherwise match the first item depicted in the image received from the user 132 .
- the server machine 110 may use user preferences of the user 132 (e.g., urgency, how much willing to spend, how much wanted) and available items on the marketplace 120 to create a user preference category item value to determine frequency of the automated search and update of the set of third items. For example, where the marketplace 120 hosts auctions, the server machine 110 may use aspects of the auction (e.g., many similar items, items in a category) to assist in creating the user preference category item value. The server machine 110 may also use merchandising of items, deals, recommendations for bid prices, periodicity and channel alerts (e.g., application push notification, email digest notification, etc.) to assist in creating the user preference category item value.
- user preferences of the user 132 e.g., urgency, how much willing to spend, how much wanted
- the server machine 110 may use aspects of the auction (e.g., many similar items, items in a category) to assist in creating the user preference category item value.
- the server machine 110 may also use merchandising of items, deals, recommendations for bid
- the server machine 110 may integrate the photographs organized by the user 132 and the set of third items, as shown in FIG. 18 .
- the server machine 110 may combine the photographs or items in which the user 132 has shown interest and the set of third items by organizing photographs 1810 and 1820 using predetermined categories 1830 and 1840 .
- content categories derived from the marketplace 120 structures may be selected through a social network analysis of user behavior.
- the server machine 110 may perform the analysis of user behavior, determine categories, and present the categories that would potentially be most relevant to each individual user.
- user behavior analysis may allow the server machine 110 to present recommendations that are timely or trending in a social media circle, since social networks may be created or influenced by recent activity.
- This user behavior analysis may enable creation of a weighted list, allowing the server machine 110 to present a more expansive browsing experience, including not only the items in which the user 132 has shown prior interest, but to include relevant items in which the entire population of users of the server machine 110 have shown interest.
- the operation 580 may include operation 582 , in which the server machine 110 generates a notification including the set of third items. Based on the plurality of subjective estimations of value, in operation 584 , the server machine 110 may select a communication mechanism for the notification from a plurality of communication mechanisms. In operation 586 , the server machine 110 may transmit the notification to the user by the selected communication mechanism.
- the server machine 110 may perform operation 588 , in which the server machine 110 determines one or more notification characteristics of the notification, based on the plurality of subjective estimations of value.
- the one or more notification characteristics includes a notification type, a notification frequency, an associated action, a notification interaction option, or a notification presentation.
- the notification type may include SMS notifications, emails, text messages, IM notifications, calendar reminders, social media posts, social media notifications, or the like.
- the server machine 110 enables the user 132 to set rules on notification types based on the plurality of subjective estimations of value.
- the user 132 may authorize the server machine 110 to send email reminders but not SMS notifications on items which have a low want or low need value, as indicated by the plurality of subjective estimations of value below a threshold as discussed below.
- the notification frequency may be determined for repeating the same or similar notifications. For example, based on the plurality of subjective estimations of value, the frequency can be determined to repeat the notification hourly, daily, weekly, monthly, quarterly, or other time intervals. The frequency may also be determined to repeat the notification based on an action or an event. For example, the notification may repeat every time a specific item is entered into a shopping list, every time a car is determined to need an oil change, each time a predetermined item is purchased using the marketplace 120 , or other actions or events.
- the server machine 110 may select between available communication mechanisms for the user 132 which are available to the server machine 110 .
- the user 132 may register one or more communication mechanisms or channels with the server machine 110 , such as a telephone number, an email address, a social media account, a shipping address, a home address, a billing address, or the like.
- the server machine 110 may use metadata entered by the user in conjunction with the communication mechanism, such as a set of available times of communication associated. For example, the user may enter metadata associated with a home telephone number indicating times of day in which the user 132 may be contacted at that number.
- the user 132 may indicate times or days in which text messages, SMS messages, or other text based communication may be received, times or days in which voice calls may be received, and times and days in which other forms of electronic communication may be received by the mobile telephone.
- the user 132 may only enable access of social media accounts on the mobile telephone on weekdays after 5:00 p.m.
- the server machine 110 may select between available communication mechanisms based on the context of the communication mechanism in conjunction with the plurality of subjective estimations of value. For example, where the user 132 has provided a mobile telephone as a communication channel, the user 132 may provide metadata for usage of the mobile telephone to determine contexts under which the mobile telephone may be an available communication mechanism. For example, the user 132 provide the server machine 110 with one or more locations, holidays, during a commute, or other temporal, geographical, or situational contexts under which the mobile telephone is not an appropriate contact method. The server machine 110 may determine that based on the plurality of subjective estimations of value and the context of the communication channel that the mobile telephone is not an available communication mechanism.
- the server machine 110 may determine that the mobile telephone is not an available communication mechanism.
- the server machine 110 may select between available communication mechanisms based on the plurality of subjective estimations of value and the one or more actions of the user 132 with respect to the previous instances of the plurality of subjective estimations of value. For example, where the user 132 has indicated a median need for an item, a median desire for the item, and a high acceptable price for an item, and the user 132 has previously and repeatedly purchased items after indicating a median need, a median desire, and a high acceptable price, the server machine 110 may determine that a relative likelihood of conversion of the item, where the user 132 will purchase the item based upon a notification of availability of the item. The server machine 110 may then select one or more of the available communication mechanisms for transmitting a notification, by operation 586 .
- At least a portion of the method 500 may be represented by pseudo code indicative of a portion of the algorithm described above.
- the algorithm may be represented by:
- DESIRED_ITEM_WANT ⁇ Want position of the slider>
- DESIRED_ITEM_NEED ⁇ Need position of the slider>
- the subjective estimations of value can be used in a health monitoring or exercising application on the user device 130 and used to interact with the server machine 110 .
- the plurality of subjective estimations of value may be indicative of parameters relating to exercise to build a user model, preference model, emotional attachment model, or other profiles or models indicative of the user 132 .
- the health application can use the plurality of subjective estimations of value to pair the user 132 with a local gym, health club, personal trainer, or other users of the health application via the health application cooperating with one or more social media applications or web sites, for example.
- the user 132 may adjust sliders for subjective estimations of value of exercise times, weather conditions for exercising, level of commitment, level of desire, enjoyment of an exercise, location preference for an exercise, food intake, food preferences, interest in a type of exercise, or the like.
- the user 132 can also enter into the application user actions indicative of actual exercises, including distances, weights, times, or other exercise metrics; food intake; food type; exercises missed; reasons for exercises missed; and the like.
- the server machine 110 may calibrate a user profile based on the subjective estimations of value and the user actions to determine probability of exercise or dietary actions that the user 132 will take in the future.
- the server machine 110 or the health application may use the user profile or probability of future user actions to make recommendations, suggest adjustments in an exercise program or dietary program, determine likely users to recommend to the user 132 , determine a personal trainer for the user 132 , determine a gym for the user 132 , or the like, based on the calibrated user profile.
- one or more of the methodologies described herein may facilitate matching buyers and sellers using calibrated user profiles and notification models. Moreover, one or more of the methodologies described herein may facilitate generation and calibration of user profiles, and notification models.
- one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in matching buyers and sellers using calibrated user profiles and notification models. Efforts expended by a user in finding buyers or sellers and determining when and where notifications may be transmitted to the user may be reduced by one or more of the methodologies described herein.
- Computing resources used by one or more machines, databases, or devices may similarly be reduced. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
- FIG. 19 is a block diagram illustrating components of a machine 1900 , according to some example embodiments, able to read instructions 1924 from a machine-readable medium 1922 (e.g., a non-transitory machine-readable medium, a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof) and perform any one or more of the methodologies discussed herein, in whole or in part.
- a machine-readable medium 1922 e.g., a non-transitory machine-readable medium, a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof
- FIG. 19 shows the machine 1900 in the example form of a computer system (e.g., a computer) within which the instructions 1924 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1900 to perform any one or more of the methodologies discussed herein may be executed, in whole or in part.
- the instructions 1924 e.g., software,
- the machine 1900 operates as a standalone device or may be communicatively coupled (e.g., networked) to other machines.
- the machine 1900 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a distributed (e.g., peer-to-peer) network environment.
- the machine 1900 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a cellular telephone, a smartphone, a set-top box (STB), a personal digital assistant (PDA), a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1924 , sequentially or otherwise, that specify actions to be taken by that machine.
- STB set-top box
- PDA personal digital assistant
- a web appliance a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1924 , sequentially or otherwise, that specify actions to be taken by that machine.
- STB set-top box
- PDA personal digital assistant
- a web appliance a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1924 , sequentially or otherwise, that specify actions to be taken by that machine.
- the term “machine” shall also be taken
- the machine 1900 includes a processor 1902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory 1904 , and a static memory 1906 , which are configured to communicate with each other via a bus 1908 .
- the processor 1902 may contain microcircuits that are configurable, temporarily or permanently, by some or all of the instructions 1924 such that the processor 1902 is configurable to perform any one or more of the methodologies described herein, in whole or in part.
- a set of one or more microcircuits of the processor 1902 may be configurable to execute one or more modules (e.g., software modules) described herein.
- the machine 1900 may further include a graphics display 1910 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, a cathode ray tube (CRT), or any other display capable of displaying graphics or video).
- a graphics display 1910 e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, a cathode ray tube (CRT), or any other display capable of displaying graphics or video).
- PDP plasma display panel
- LED light emitting diode
- LCD liquid crystal display
- CRT cathode ray tube
- the machine 1900 may also include an alphanumeric input device 1912 (e.g., a keyboard or keypad), a cursor control device 1914 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, an eye tracking device, or other pointing instrument), a storage unit 1916 , an audio generation device 1918 (e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and a network interface device 1920 .
- an alphanumeric input device 1912 e.g., a keyboard or keypad
- a cursor control device 1914 e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, an eye tracking device, or other pointing instrument
- a storage unit 1916 e.g., an audio generation device 1918 (e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and a network interface
- the storage unit 1916 includes the machine-readable medium 1922 (e.g., a tangible and non-transitory machine-readable storage medium) on which are stored the instructions 1924 embodying any one or more of the methodologies or functions described herein.
- the instructions 1924 may also reside, completely or at least partially, within the main memory 1904 , within the processor 1902 (e.g., within the processor's cache memory), or both, before or during execution thereof by the machine 1900 . Accordingly, the main memory 1904 and the processor 1902 may be considered machine-readable media (e.g., tangible and non-transitory machine-readable media).
- the instructions 1924 may be transmitted or received over the network 150 via the network interface device 1920 .
- the network interface device 1920 may communicate the instructions 1924 using any one or more transfer protocols (e.g., hypertext transfer protocol (HTTP)).
- HTTP hypertext transfer protocol
- the machine 1900 may be a portable computing device, such as a smart phone or tablet computer, and have one or more additional input components 1930 (e.g., sensors or gauges).
- additional input components 1930 include an image input component (e.g., one or more cameras), an audio input component (e.g., a microphone), a direction input component (e.g., a compass), a location input component (e.g., a global positioning system (GPS) receiver), an orientation component (e.g., a gyroscope), a motion detection component (e.g., one or more accelerometers), an altitude detection component (e.g., an altimeter), and a gas detection component (e.g., a gas sensor).
- Inputs harvested by any one or more of these input components may be accessible and available for use by any of the modules described herein.
- the term “memory” refers to a machine-readable medium able to store data temporarily or permanently and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium 1922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions.
- machine-readable medium shall also be taken to include any medium, or combination of multiple media, that is capable of storing the instructions 1924 for execution by the machine 1900 , such that the instructions 1924 , when executed by one or more processors of the machine 1900 (e.g., processor 1902 ), cause the machine 1900 to perform any one or more of the methodologies described herein, in whole or in part.
- a “machine-readable medium” refers to a single storage apparatus or device, as well as cloud-based storage systems or storage networks that include multiple storage apparatus or devices.
- machine-readable medium shall accordingly be taken to include, but not be limited to, one or more tangible (e.g., non-transitory) data repositories in the form of a solid-state memory, an optical medium, a magnetic medium, or any suitable combination thereof.
- Modules may constitute software modules (e.g., code stored or otherwise embodied on a machine-readable medium or in a transmission medium), hardware modules, or any suitable combination thereof.
- a “hardware module” is a tangible (e.g., non-transitory) unit capable of performing certain operations and may be configured or arranged in a certain physical manner.
- one or more computer systems e.g., a standalone computer system, a client computer system, or a server computer system
- one or more hardware modules of a computer system e.g., a processor or a group of processors
- software e.g., an application or application portion
- a hardware module may be implemented mechanically, electronically, or any suitable combination thereof.
- a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations.
- a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC.
- a hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
- a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- hardware module should be understood to encompass a tangible entity, and such a tangible entity may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
- “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software (e.g., a software module) may accordingly configure one or more processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- a resource e.g., a collection of information
- processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein.
- processor-implemented module refers to a hardware module implemented using one or more processors.
- processor-implemented module refers to a hardware module in which the hardware includes one or more processors.
- processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS).
- At least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
- a network e.g., the Internet
- API application program interface
- the performance of certain operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines.
- the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application claims the benefit of priority of U.S. Non-Provisional application Ser. No. 14/861,741, filed Sep. 22, 2015, which claims the benefit of priority of U.S. Provisional Application No. 62/053,711, filed Sep. 22, 2014, which is hereby incorporated by reference in its entirety.
- The subject matter disclosed herein generally relates to a graphical user interface. Specifically, the present disclosure addresses systems and methods to facilitate matching buyers and sellers using calibrated user profiles and notification models.
- User profiles are often generated directly from information provided by a user and may be used to generate recommendations to the user. User profiles may be provided to enable the system to automatically populate information into the system for the user and otherwise save effort for the user in relation to predetermined aspects of interaction with the system. However, user profiles are usually not calibrated to a user to weight differing aspects of the information disclosed by the user. Systems taking advantage of user profiles are generally incapable learning or generating differing profile information based on actions taken by the user in conjunction with the user profile.
- User profile information may be used to transmit notifications to a user along predetermined communications mechanisms. Unless given the capability to directly limit communication from the system, users often receive blanket notification without consideration of the user, user profile, or the content of the notification. For example, often systems transmitting notifications transmit the notifications without regard to time, location of the user, or aspects contained within the content of the notification. This lack of context to notifications may limit the effectiveness of the notification.
- Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings.
-
FIG. 1 is a network diagram illustrating a network environment suitable for matching buyers and sellers using calibrated user profiles and notification models, according to some example embodiments. -
FIG. 2 is a block diagram illustrating components of a server machine suitable for generating calibrated user profiles and notification models, according to some example embodiments. -
FIG. 3 is a flowchart illustrating operations of a device in performing a method of generating a calibrated user profile, according to some example embodiments. -
FIG. 4 is a flowchart illustrating operations of a device performing a method of generating a calibrated notification model, according to some example embodiments. -
FIG. 5 is a flowchart illustrating operations of a device performing a method of matching buyers to sellers using the calibrated user profile and the calibrated notification model, according to some example embodiments. -
FIG. 6 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 7 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 8 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 9 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 10 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 11 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 12 is a representation of sliders allowing users to specify qualitative levels of desire. -
FIG. 13 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 14 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 15 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 16 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 17 is a flowchart illustrating operations of a device performing a method of matching buyers to sellers using the calibrated user profile and the calibrated notification model, according to some example embodiments. -
FIG. 18 is an illustration of an example graphical user interface of a client device, according to some example embodiments. -
FIG. 19 is a block diagram illustrating components of a machine, according to some example embodiments, able to read instructions from a machine-readable medium and perform any one or more of the methodologies discussed herein. - Example methods and systems are directed to matching buyers and sellers using calibrated user profiles and notification models. Examples merely typify possible variations. Unless explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.
-
FIG. 1 is a network diagram illustrating anetwork environment 100 suitable matching buyers and sellers using calibrated user profiles and notification models, according to some example embodiments. Thenetwork environment 100 includes aserver machine 110, amarketplace system 120, anddevices 130 and 140, all communicatively coupled to each other via anetwork 150. - The
server machine 110, explained in more detail with reference toFIG. 2 , can form all or part of a network-basedsystem 160 configured to match buyers and sellers using calibrated user profiles and notification models and generate the calibrated user profiles and notification models. - The
marketplace 120 is shown as including anAPI server 112, aweb server 114, anapplication server 116, adatabase server 118, and thedatabase 125. In some embodiments, themarketplace 120 forms all or part of a network-based system 170 (e.g., a cloud-based server system configured to provide one or more services to thedevices 130 and 140). Theserver machine 110, themarketplace 120, and thedevices 130 and 140 may each be implemented in a computer system, in whole or in part, as described below with respect toFIG. 6 . - The
API server 112 provides a programmatic interface by which thedevice 130 and 140 can access themarketplace 120. - The
application server 116 may be implemented as asingle application server 116 or a plurality of application servers. Theapplication server 116, as shown, hosts one or more marketplace system 180, which comprises one or more modules or applications and which may be embodied as hardware, software, firmware, or any combination thereof. Theapplication server 116 is, in turn, shown to be coupled to thedatabase server 118 that facilitates access to one or more information storage repositories or database(s), such as thedatabase 125. - The marketplace system 180 provides a number of market place functions and services to users that interface with the network-based
system 160. For example, the marketplace system(s) 180 can provide information for products for sale or at auction facilitated by the marketplace system(s) 180 and displayable indevices 130 and 140. In some embodiments, the marketplace 180 provides listings for products indicative of the information for products. The listings for products can be stored in thedatabase 125 and may be searchable by through the network-basedsystem 160. The listings may include information indicative of a product, a condition of the product, terms of sale for the product, shipping information, a description of the product, a quantity, metadata associated the product, metadata associated with coding for the listing, and information indicative of product organization, such as titles, categories, category taxonomies, and product interrelations. The marketplace system(s) 180 can also facilitate the purchase of products in the online marketplace that can later be delivered to buyers via shipping or any conventional method. - While the marketplace system 180 is shown in
FIG. 1 to form a part of the network-based system 170, it will be appreciated that, in some embodiments, the marketplace system 180 may form part of a payment service that is separate and distinct from the network-based system 170. Further, while the client-server-basednetwork environment 100 shown inFIG. 1 employs a user-server architecture, the present disclosure is not limited to such architecture, and may equally well find application in a distributed architecture system (e.g., peer-to-peer), for example. The various marketplace system(s) 180 may also be implemented as standalone software programs, which do not necessarily have networking capabilities. - While the marketplace system(s) 180 is shown in
FIG. 1 to form part of the networked-based system 170, it will be appreciated that, in alternative embodiments, the marketplace system(s) 180 may form part of a payment service that is a part of the networked-based system 170. - The
database server 118 is coupled to thedatabase 125 and provides access to thedatabase 125 for thedevice 130 and 140 and other aspects of theserver machine 110. Thedatabase 125 can be a storage device that stores information related to products; documents; web sites; metadata relating to products, documents, or websites; and the like. - Also shown in
FIG. 1 areusers users user 132 is not part of thenetwork environment 100, but is associated with thedevice 130 and is a user of thedevice 130. For example, thedevice 130 can be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to theuser 132. Likewise, theuser 142 is not part of thenetwork environment 100, but is associated with the device 140. As an example, the device 140 can be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to theuser 142. - The
device 130 and 140 contains aweb client 134 which may access the various marketplace system(s) 180 and, in some cases, theserver machine 110, via the web interface supported by theweb server 114. Similarly, aprogrammatic client 136 is configured to access the various services and functions provided by the marketplace system(s) 180 and, in some cases, theserver machine 110, via the programmatic interface provided by theAPI server 112. Theprogrammatic client 136 may, for example, perform batch-mode communications between theprogrammatic client 136 and the networked-basedsystem 160 and theserver machine 110. - Any of the machines, databases, or devices shown in
FIG. 1 may be implemented in a general-purpose computer modified (e.g., configured or programmed) by software (e.g., one or more software modules) to be a special-purpose computer to perform one or more of the functions described herein for that machine, database, or device. For example, a computer system able to implement any one or more of the methodologies described herein is discussed below with respect toFIG. 6 . As used herein, a “database” is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof. Moreover, any two or more of the machines, databases, or devices illustrated inFIG. 1 may be combined into a single machine, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices. - The
network 150 may be any network that enables communication between or among machines, databases, and devices (e.g., theserver machine 110 and the device 130). Accordingly, thenetwork 150 can be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. Thenetwork 150 can include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof. Accordingly, thenetwork 150 can include one or more portions that incorporate a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a wired telephone network (e.g., a plain old telephone system (POTS) network), a wireless data network (e.g., WiFi network or WiMax network), or any suitable combination thereof. Any one or more portions of thenetwork 150 may communicate information via a transmission medium. As used herein, “transmission medium” refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions (e.g., processor executable instructions) for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software. -
FIG. 2 is a block diagram illustrating components of theserver machine 110, according to some example embodiments. Theserver machine 110 is shown as including areception module 210, adetermination module 220, anidentification module 230, acommunication module 240, agenerator module 250, and acalibration module 260 all configured to communicate with each other (e.g., via a bus, shared memory, or a switch). Any one or more of the modules described herein may be implemented using hardware (e.g., at least one processor of a machine) or a combination of hardware and software. For example, any module described herein may configure a processor (e.g., among one or more processors of a machine) to perform the operations described herein for that module. Moreover, any two or more of these modules may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules. Furthermore, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices. -
FIG. 3-5 are flowcharts illustrating operations of theserver machine 110 in performing amethod 300 of generating a calibrated user profile, according to some example embodiments. Operations in themethod 300 may be performed by theserver machine 110, using modules described above with respect toFIG. 2 . - In
operation 310, theserver machine 110 receives a plurality of subjective estimations of value. In some embodiments, thereception module 210 may receive the plurality of subjective estimations of value. The subjective estimations of value are a measure between a predetermined minimum value and a predetermined maximum value. - In some embodiments, the subjective estimation of value is implemented with discrete values between the predetermined minimum value and the predetermined maximum value. For example, where the
user 132 is identifying the user's 132 need for an item in themarketplace 120, theuser 132 may indicate a number between one and ten indicative of the user's 132 subjective need for the item, where one is the predetermined minimum value and ten is the predetermined maximum value. In this example, the discrete values for the subjective estimation of value may be indicated by whole numbers between one and ten. - In some embodiments, the subjective estimation of value is implemented as a continuous measure between the predetermined minimum value and the predetermined maximum value. For example, the subjective estimation of value may be implemented in a graphical user interface on the
device 130 as a slider extending between the predetermined minimum value and the predetermined maximum value. The each slider presented within the graphical user interface is a graphical representation of a specified subjective estimation of value. For instance, where theuser 132 is identifying the user's 132 need for an item, theuser 132 may place the slider at any position between one and ten as indication of the user's 132 subjective need for the item, where one is the predetermined minimum value and ten is the predetermined maximum. - In
operation 320, theserver machine 110 generates a user profile. In some embodiments, theserver machine 110 may import the plurality of subjective estimations of value into the profile to determine one or more attributes of theuser 132 based on the plurality of subjective estimations of value. In some embodiments, in generating the user profile, theserver machine 110 may receive data from the user indicative of demographic, location, and preference data from the user. Further, in some embodiments, theserver machine 110 may receive data indicative of interests, desires, financial information, payment information, and other distinguishing data for the user. - The
server machine 110 may import the plurality of subjective estimations of value in relation to a specific item, product, or image. Given a plurality of sets of subjective estimations of value on related items, products, images, or the like, theserver machine 110 determines one or more of the plurality of subjective estimations of value which relate to a category into which one or more of the specific item, product, or image may be organized. Where theserver machine 110 determines a category corresponding to a set of subjective estimations of value, theserver machine 110 identifies an association between the category and the set of subjective estimations of value. - In
operation 330, theserver machine 110 receives a plurality of user actions corresponding to the plurality of subjective estimations of value. Theserver machine 110 may receive the plurality of user actions and perform one or more identification processes on the plurality of user actions. For example, theserver machine 110 may determine a specific item, product, or image corresponding to one or more of the plurality of user actions. Where theserver machine 110 receives a set of user actions corresponding to a plurality of items, products, or images which may be categorized, theserver machine 110 may create an association between the set of user actions and a category encompassing the plurality of items, products, or images. - In
operation 340, theserver machine 110 calibrates the user profile based on the plurality of user actions. Theserver machine 110 can determine that a subjective estimation of value corresponds to a user action for a specific item, product, image, or category thereof. Where theserver machine 110 determines such a correspondence, theserver machine 110 applies or adjusts a weighted value to the subjective estimation of value indicative of a higher likelihood of user action in relation to a future association of the subjective estimation of value with an item, product, image, or category thereof similar to that for which the subjective estimation of value was initially received. Further, where theserver machine 110 determines such a correspondence, the category relating to the item, product, image, or category thereof associated with the subjective estimation of value and the user action may receive a weighted value or an adjustment to an associated weighted value indicative of a higher likelihood of user action with regard to items, products, or images associated with the category. - In some embodiments, in performing the
operation 340, theserver machine 110 may also performoperation 342. Inoperation 342, theserver machine 110 determines a probability of user action based on the plurality of subjective estimations of value and the plurality of user actions. In these embodiments, theserver machine 110 may determine the probability of user action based on a combination of the item, product, image, or category thereof and the correspondence of the subjective estimation of value and the prior user action. -
FIG. 4 is a flowchart illustrating operations of thedevice 130 in performing amethod 400 of generating and transmitting notifications calibrated to a user, according to some example embodiment. Operations in themethod 400 may be performed by thedevice 130, using modules described above with respect toFIG. 2 . - In
operation 410, theserver machine 110 receives a plurality of subjective estimations of value. The subjective estimations of value being a measure between a predetermined minimum value and a predetermined maximum value. - In
operation 420, theserver machine 110 receives a plurality of user actions corresponding to the plurality of subjective estimations of value. In some embodiments, the plurality of user actions may be a plurality of first user actions and theserver machine 110 may receive a plurality of second user actions corresponding to a plurality of notifications. - In
operation 430, theserver machine 110 receives a plurality of communication mechanisms by which to transmit a notification to a user. The plurality of communication mechanisms can include SMS notifications, emails, text messages, IM notifications, calendar reminders, social media posts, social media notifications, or the like. The plurality of communication mechanisms may be received from theuser 132, the user profile, or, in some embodiments, interactions on the graphical user interface between theuser 132 and themarketplace 120. - In
operation 440, theserver machine 110 determines a probability of user action based on the plurality of subjective estimations of value and the plurality of user actions. As discussed above, theserver machine 110 may determine the probability of user action based on correspondence of previous user actions and subjective estimations of value, as well as items, products, images or categories thereof associated with such correspondences. - In
operation 450, theserver machine 110 identifies one of the plurality of communication mechanisms on which to transmit a notification to a user, based on the plurality of subjective estimations of value, the plurality of user actions, the probability of user action, and the like. In some embodiments, theserver machine 110 may identify one or more of the plurality of communication mechanisms on which to transmit a notification. Theserver machine 110, based on a level of urgency indicated by the subjective estimations of value, determines that a notification or versions of a notification should be transmitted across all channels in a highly interruptive manner such that the user's 132 attention is directed to the notification based on the content of the notification, the style or characteristics of the notification, the number of transmissions of the notification, or the like. In some embodiments, theserver machine 110 generates a notification model, based on the subjective estimations of value, the plurality of user actions, the probability of user action, or the like to pair two or more notification mechanisms together for transmission of a notification. Theserver machine 110 determines the two communication mechanisms may cooperate to increase notification efficacy while maintaining a desired level of urgency, unobtrusiveness, style, or the like of the notification. - In
operation 460, theserver machine 110 transmits the notification to the user. - In some embodiments, the
method 400 further includesoperations operation 470, theserver machine 110 determines one or more notification characteristics based on the plurality of subjective estimations of value; at least one of the plurality of first user actions and the plurality of second user actions; and the probability of user action. For example, the notification characteristics can include the content of the notification, a message type, an urgency value, an importance value, a need value, a desire value, a probability of user action value, and other notification characteristics. In some embodiments, a notification may have a repetition value in which the notification is determined to be a serial notification with a delivery having a predetermined time interval and a predetermined communication mechanism. - In
operation 480, theserver machine 110 determines a notification timing, based on the plurality of subjective estimations of value; at least one of the plurality of first user actions and the plurality of second user actions; and the probability of user action. For example, theserver machine 110 may match the content of the notification, the urgency value, and the importance value with one or more of the subjective estimations of value, at least one of the plurality of user actions, and the probability of user action to determine a priority indicating that the notification should be transmitted immediately. Further theserver machine 110, can determine, using the repetition value, the urgency value, and the content of the notification, that a notification should be transmitted on a weekly basis, each time updating the content of the notification, between the hours of 7:00 p.m. and 8:00 p.m. In this example, theserver machine 110 may determine that theuser 132 visits themarketplace 120 website between the hours of 7:00 p.m. and 8:00 p.m. on Wednesday night and that timing the notification to coincide with the website visit may increase the probability of future user action by theuser 132. - In
operation 490, theserver machine 110 generates the notification based on the determined one or more notification characteristics and the determined notification timing. -
FIG. 5 is a flowchart illustrating operation of thedevice 130 in performing amethod 500 of matching a set of items from themarketplace 120 to an item from an image based on a plurality of subjective estimations of value indicated by theuser 132. Operations in themethod 500 may be performed by thedevice 130, using modules described above with respect toFIG. 2 . As shown inFIG. 5 , themethod 500 includesoperations method 500 may includeoperation 580. - In
operation 510, theserver machine 110 receives an image depicting a first item having a plurality of characteristics. As shown inFIG. 6 , people may take pictures 610-640 of items they like, desire, need, suggest to others, or the like. Pictures or photographs may have a single item or multiple items. In some instances, where a photograph has multiple items, theuser 132 may only be interested in a single item in the photograph. - As shown in
FIG. 7 , images, taken by theuser 132, may contain metadata, such as geographic location, source, tags, or the like. Metadata corresponding to, relating to, or identifying an image may be generated automatically, at the same time as the photograph, or may be generated, embedded, attributed, or otherwise added later. For example, theuser 132 may take photographs on thedevice 130, such as a mobile telephone. Thedevice 130, or a software application installed on or native to thedevice 130, may append a geographic location to the image as metadata. Theuser 132 may add metadata, such as a name of the item shown in the photograph, a description of the item, an indication of desire for the item, an indication of need for the item, an indication of attribution of ownership of the item or photograph, or the like. - In regards to metadata, in some embodiments relating to the
marketplace 120, theuser 132 or theserver machine 110 may include metadata with the photograph (e.g., as shown inFIG. 8 ), such as potential sellers in themarketplace 120 who currently offer an item matching or similar to the item depicted in the photograph, potential buyers who have indicated a desire for the item (e.g., through an indication in the plurality of subjective estimations of value), buyers who have recently purchased an item matching or similar to the item depicted from a seller on themarketplace 120, or the like. Further, theuser 132 or theserver machine 110 may add metadata such as item details, description of an item in the photograph, an indication of other user actions with regards to the photograph, and the like. For example, other user actions appended to the image as metadata may include users who indicated an interest in or desire for the item pictured, users who shared the photograph, or users who commented on the photograph. - As shown in
FIGS. 9 and 10 , theuser 132 may organize photographs into categories or may organize the items contained within the photographs into categories. Theuser 132 may place photographs into folders, such as virtual folders in an operating system, database, or other application configured to organize electronic data based on user input. Theuser 132 may organize the photographs, images, or other digital representations into folders by semantic categories, image similarity, or the like. As shown inFIG. 9 , theuser 132 may manually organize or curate lists 910-940 of photographs or items within photographs. As shown inFIG. 10 , the images may be organized into categories including a representational image. - The
user 132 may manually organize or curate lists of photographs or items within photographs. Lists may be anything theuser 132 collects together, such as a wedding registry, items for a camping trip, items for a new baby, a collection of photographs generally related to a theme, or the like, for example. Theuser 132 may maintain the list as a private list, accessible only by theuser 132 and/or persons linked to theuser 132 in theserver machine 110 or in other social media systems. Theuser 132 may maintain the list as a public list and/or shared list with selected other people or the general public to facilitate organizing the items in which theuser 132 or a group of users is interested. For example, theuser 132 may employ public or shared lists to enable a social shopping experience between the group of users. - Where users employ public lists, the group of users may comment on photographs or items within the list; indicate interest in or desire for the item or photograph, such as by sharing the item with other users, indicating that the photograph or item is a favorite of the user through a binary selection, or indicate one or more of the plurality of subjective estimations of value.
- Referring again to
FIG. 5 , inoperation 520, theserver machine 110 receives a plurality of subjective estimations of value for the first item. The subjective estimations of value are a measure between a predetermined minimum value and a predetermined maximum value. As described above, in some embodiments, the subjective estimations of value may be implemented with discrete values between the predetermined minimum value and the predetermined maximum value, or as a continuous measure between the predetermined minimum value and the predetermined maximum value. - As shown in
FIGS. 11 and 12 , by way of example, the plurality of subjective estimations of value, also referred to inFIG. 12 as qualitative levels of desire, may be implemented as a plurality of sliders 1110-1130. Theuser 132 may adjust each of the plurality of sliders 1110-1130 to indicate the importance of an item, a subjective desire to own the item, and an amount theuser 132 is willing to spend, for example, based on the position of the slider indicating a value. In some embodiments, theuser 132 may indicate a desired time frame for purchase, a likelihood of purchase, a likelihood of repurchasing the item, a time frame for repurchase of items, or other subjective estimations of value. When implemented as sliders, theuser 132 may adjust the plurality of subjective estimations of value on predefined axes of the slider, whether vertical, horizontal, circular, or the like. As shown inFIG. 11 , in some embodiments, when implemented as sliders, the plurality of subjective estimations may be a continuous measure between the predetermined minimum value and the predetermined maximum value. - Where implemented as sliders, the sliders 1110-1130 may enable the
user 132 to indicate to the server machine 110 a qualitative level of desire, interest, need, or the like indicative of the plurality of subjective estimations of value. This may enable theuser 132 to clarify nuances behind the items of interest. These nuances may increase the granularity with which theserver machine 110, in cooperation with themarketplace 120, may predict future interactions, the urgency of those interactions, and ultimately the likelihood that those interactions will lead to a purchase. - The plurality of subjective estimations of value may provide an additional metric, means, or categorization by which to organize items and categories of items that interest the
user 132 by the qualitative desire and urgency within those categories. The plurality of subjective estimations of value may also enable sellers, in themarketplace 120 or other systems or retail environments, to identify buyers, given the buyers' self-identified and machine derived interactions with theserver machine 110. As an example of machine derived interactions, theserver machine 110 may generate models of user behavior by a combination of user actions within theserver machine 110 and information provided by theuser 132. - One such model may be a system action model, allowing interactions with users to be driven by a more personalized or granular understanding of the user's needs and interests. For instance, if the
user 132 ranks an item or categories of items highly on the plurality of subjective estimations of value, more direct email or push notifications may be appreciated and may be generated and transmitted by theserver machine 110. For items or categories theuser 132 ranks low on the plurality of subjective estimations of value, theserver machine 110 may determine that email or push notifications may be unwanted by theuser 132 with regard to that item or category of items. In some embodiments, where theuser 132 indicates a high estimation of value and willingness to spend a larger amount of money but a low need, as indicated by the plurality of subjective estimations of value, theserver machine 110 may interpret the plurality of subjective estimations of value to indicate an interest in niche items or hedonistic spending which could inform or trigger different notifications for theuser 132 or certain items or categories of items for theuser 132. - In some embodiments, the plurality of subjective estimations of value may enable the
server machine 110 to segment or prioritize items or categories of items for personal evaluation, management, and disposition to known and potential recipients and services. In some embodiments, theserver machine 110 may enable automated actions to be set based on the plurality of subjective estimations of value. For example, theserver machine 110 may enable theuser 132 to authorize theserver machine 110 to place bids or purchases in amarketplace 120 based on the plurality of subjective estimations of value, such as a relatively high indication of want or need. - In some embodiments, the
user 132 may additionally indicate desire, interest, or ownership on the photograph of anotheruser 1310 and 1320, as shown inFIG. 13 . - In some embodiments cooperating with the
marketplace 120, as shown above inFIG. 13 , theuser 132 may select or otherwise indicate a desire, interest, or want for an item, or that theuser 132 owns the product. Theserver machine 110 may include metadata with the photograph, which may be an image or other digital representation, and display to users of theserver machine 110 information indicative of users that currently have the item, and may include the price that the user paid. In some embodiments, theserver machine 110 may indicate sellers 1330-1334 on themarketplace 120 who have the item, the price 1340-1344 of the item listed with the seller, and the location for each potential seller of the item. In some embodiments, theserver machine 110 may include in the metadata and display to users of theserver machine 110 details of users who have indicated an interest in or desire for the item depicted in the image. For example, theserver machine 110 may display the plurality of subjective estimations of value indicated by the users who expressed interest in the item, such as how much the users wanted the item, needed the item, or were willing to spend on the item. - In some embodiments, as shown in
FIG. 14 , theserver machine 110 may also include information indicative of users who showed interest in the item, (e.g., interested parties 1410), such as those users who favorited the item, shared the image, and the like. Theserver machine 110 may also indicate any public lists in which the image or item may be included and any comments on the item or image (e.g., reviewingusers 1420 and 1430). - Referring again to
FIG. 5 , inoperation 530, theserver machine 110 identifies one or more of the plurality of characteristics from the first item in the image. Theserver machine 110 may identify characteristics from metadata associated with the image, the image analysis of the image containing the first item, images similar to the image containing the first item. The plurality of characteristics may be indicative of an item type, an item category, an item brand, an item model, a color, a shape, a price, an item description, or the like. - In some embodiments, in conjunction with the
operation 530, theserver machine 110 may initiateoperation 532, in which theserver machine 110 performs image analysis of the image. Inoperation 534, theserver machine 110 identifies one or more characteristic from metadata associated with the image. The metadata may be entered by theuser 132, associated with the image from a third party, associated with the image by the image owner, or otherwise associated with the image. - In
operation 540, theserver machine 110 determines one or more second items which share the one or more characteristics identified in theoperation 530. Theserver machine 110 may determine one or more second items by image analysis of separate images, identifying the one or more characteristics of the first image through image analysis or metadata associated with the one or more second items in one or more second images. - In
operation 550, theserver machine 110 extracts one or more search terms from one or more second items determined to be similar to the first item. For example, theserver machine 110 may extract one or more term in metadata for the images associated with the one or more second items. - In
operation 560, theserver machine 110 uses the one or more search terms to identify a set of third items on amarketplace 120 corresponding to the one or more search terms. - As shown in
FIG. 15 , theserver machine 110 may perform image processing on the image to determine similar items 1510-1530. Where the image has no associated identifying information, metadata, theserver machine 110 may perform image processing to relate or associate the item in the image with one or more item contained in an image having associated identifying information. Theserver machine 110 may then extract relevant search terms from similar items that have metadata (e.g., tags associated with them) and issue a query to amarketplace 120, such as eBay. - In some embodiments, the
server machine 110 may identify the set of third items by determining the plurality of subjective estimations of value entered by theuser 132 for the first item, determining an item category for the first item, and matching the plurality of subjective estimations of value entered by theuser 132 to items offered by a seller on themarketplace 120. In matching the first item to items offered by the seller, theserver machine 110 may determine an associative array of items about which to notify the seller, an associative array of items about which to notify theuser 132, a potential buyer, and a distance threshold. In some embodiments, the distance threshold may be a value used for weighting item matches for determining items about which theuser 132 or the seller should be notified. Theserver machine 110 may determine a score for each of the plurality of subjective estimations of value, determine differences between the first item and the item for sale, determine a distance between the scores of the plurality of subjective estimations of value between the first item and the item for sale, determine a distance between the category of the first item and the item for sale, and determine a total distance, based on the above-referenced scores, between the first item and the item for sale. In some embodiments, theserver machine 110 may use the value for the total distance, compare the total distance value to the distance threshold, and determine whether to transmit a notification about the item for sale. For example, theserver machine 110 may determine whether the total distance is below the distance threshold and, if so, transmit a notification of the item for sale to theuser 132. In some embodiments, theserver machine 110 may transmit a message to the seller of the item for sale that theuser 132 may be interested in the item for sale. - In notifying the seller or the
user 132 about the match between the first item and the item for sale, theserver machine 110 may determine whether to withhold notification to the buyer or theuser 132, based on logic, sale criteria, the plurality of subjective estimations of value, feedback scores, or other criteria. For example, theserver machine 110 may determine that regardless of a match between the first item and the item for sale, theuser 132 has not designated sufficient interest in purchasing the item, or that the notification should be withheld until a predetermined notification time. - In
operation 570, theserver machine 110 displays the one or more third items. In some embodiments, to display the one or more third items, theserver machine 110 may generate a list of the one or more third items and transmit the list to thedevice 130 for display to theuser 132 on thedevice 130. - As shown in
FIG. 16 , the results of the query to themarketplace 120 may be the set of third items 1610-1640. Theserver machine 110 may cooperate with themarketplace 120 to perform operations on the results of the query. For example, theserver machine 110 may cooperate with themarketplace 120 to enable theuser 132 to tag, share on social media, watch, bid on, sort into folders for later viewing, view, or otherwise interact with the set of third items in the results of the query. - In some embodiments, as shown in
FIG. 17 , themethod 500 may further includeoperation 580. Inoperation 580, theserver machine 110 updates the set of third items based upon the plurality of subjective estimations of value. For example, theserver machine 110 can generate notifications to periodically notify theuser 132 of items which have newly been added to themarketplace 120 which correspond to the one or more search terms or otherwise match the first item depicted in the image received from theuser 132. - The
server machine 110 may use user preferences of the user 132 (e.g., urgency, how much willing to spend, how much wanted) and available items on themarketplace 120 to create a user preference category item value to determine frequency of the automated search and update of the set of third items. For example, where themarketplace 120 hosts auctions, theserver machine 110 may use aspects of the auction (e.g., many similar items, items in a category) to assist in creating the user preference category item value. Theserver machine 110 may also use merchandising of items, deals, recommendations for bid prices, periodicity and channel alerts (e.g., application push notification, email digest notification, etc.) to assist in creating the user preference category item value. - In some embodiments, the
server machine 110 may integrate the photographs organized by theuser 132 and the set of third items, as shown inFIG. 18 . For example, theserver machine 110 may combine the photographs or items in which theuser 132 has shown interest and the set of third items by organizingphotographs 1810 and 1820 usingpredetermined categories marketplace 120 structures, may be selected through a social network analysis of user behavior. Theserver machine 110 may perform the analysis of user behavior, determine categories, and present the categories that would potentially be most relevant to each individual user. In addition user behavior analysis may allow theserver machine 110 to present recommendations that are timely or trending in a social media circle, since social networks may be created or influenced by recent activity. This user behavior analysis may enable creation of a weighted list, allowing theserver machine 110 to present a more expansive browsing experience, including not only the items in which theuser 132 has shown prior interest, but to include relevant items in which the entire population of users of theserver machine 110 have shown interest. - In some embodiments, the
operation 580 may includeoperation 582, in which theserver machine 110 generates a notification including the set of third items. Based on the plurality of subjective estimations of value, inoperation 584, theserver machine 110 may select a communication mechanism for the notification from a plurality of communication mechanisms. Inoperation 586, theserver machine 110 may transmit the notification to the user by the selected communication mechanism. - In conjunction with
operation 582, theserver machine 110 may performoperation 588, in which theserver machine 110 determines one or more notification characteristics of the notification, based on the plurality of subjective estimations of value. The one or more notification characteristics includes a notification type, a notification frequency, an associated action, a notification interaction option, or a notification presentation. - The notification type may include SMS notifications, emails, text messages, IM notifications, calendar reminders, social media posts, social media notifications, or the like. The
server machine 110 enables theuser 132 to set rules on notification types based on the plurality of subjective estimations of value. Theuser 132 may authorize theserver machine 110 to send email reminders but not SMS notifications on items which have a low want or low need value, as indicated by the plurality of subjective estimations of value below a threshold as discussed below. - The notification frequency may be determined for repeating the same or similar notifications. For example, based on the plurality of subjective estimations of value, the frequency can be determined to repeat the notification hourly, daily, weekly, monthly, quarterly, or other time intervals. The frequency may also be determined to repeat the notification based on an action or an event. For example, the notification may repeat every time a specific item is entered into a shopping list, every time a car is determined to need an oil change, each time a predetermined item is purchased using the
marketplace 120, or other actions or events. - In
operation 584, for example, theserver machine 110 may select between available communication mechanisms for theuser 132 which are available to theserver machine 110. In some embodiments, theuser 132 may register one or more communication mechanisms or channels with theserver machine 110, such as a telephone number, an email address, a social media account, a shipping address, a home address, a billing address, or the like. In selecting between the available communication mechanisms based on the plurality of subjective estimations of value, theserver machine 110 may use metadata entered by the user in conjunction with the communication mechanism, such as a set of available times of communication associated. For example, the user may enter metadata associated with a home telephone number indicating times of day in which theuser 132 may be contacted at that number. By way of further example, where theuser 132 has provided theserver machine 110 with a mobile telephone number, theuser 132 may indicate times or days in which text messages, SMS messages, or other text based communication may be received, times or days in which voice calls may be received, and times and days in which other forms of electronic communication may be received by the mobile telephone. For example, theuser 132 may only enable access of social media accounts on the mobile telephone on weekdays after 5:00 p.m. - Further, in some embodiments, the
server machine 110 may select between available communication mechanisms based on the context of the communication mechanism in conjunction with the plurality of subjective estimations of value. For example, where theuser 132 has provided a mobile telephone as a communication channel, theuser 132 may provide metadata for usage of the mobile telephone to determine contexts under which the mobile telephone may be an available communication mechanism. For example, theuser 132 provide theserver machine 110 with one or more locations, holidays, during a commute, or other temporal, geographical, or situational contexts under which the mobile telephone is not an appropriate contact method. Theserver machine 110 may determine that based on the plurality of subjective estimations of value and the context of the communication channel that the mobile telephone is not an available communication mechanism. For example, where theuser 132 has indicated that the a need for an item is low, a desire for the item is equally positioned between the minimum predetermined value and the maximum predetermined value, and that the price willing to be paid for the item is low and theuser 132 is currently in a commute, traveling at a high rate of speed in a car, theserver machine 110 may determine that the mobile telephone is not an available communication mechanism. - In some embodiments, the
server machine 110 may select between available communication mechanisms based on the plurality of subjective estimations of value and the one or more actions of theuser 132 with respect to the previous instances of the plurality of subjective estimations of value. For example, where theuser 132 has indicated a median need for an item, a median desire for the item, and a high acceptable price for an item, and theuser 132 has previously and repeatedly purchased items after indicating a median need, a median desire, and a high acceptable price, theserver machine 110 may determine that a relative likelihood of conversion of the item, where theuser 132 will purchase the item based upon a notification of availability of the item. Theserver machine 110 may then select one or more of the available communication mechanisms for transmitting a notification, byoperation 586. - In some embodiments, at least a portion of the
method 500 may be represented by pseudo code indicative of a portion of the algorithm described above. For example, the algorithm may be represented by: -
DESIRED_ITEMS = <Desired items for a given user> ITEMS_FOR_SALE = <The vector of all items for sale and related item data, i.e., seller info, auction end date, etc> for (ITEM in DESIRED_ITEMS) { DESIRED_ITEM_WANT = <Want position of the slider> DESIRED_ITEM_NEED = <Need position of the slider> DESIRED_ITEM_SPEND = <Spend position of the slider> DESIRED_ITEM_CAT = <The full category path of the desired item, i.e., ″Sports Gear:Men's Running Shoe” or “Bicycles:Racing Bikes”> ITEM_BUYER = <The user who wants to buy the item> # Match user's stated levels of desire and urgency to determine what seller's items may be appropriate to connect the two SELLER_MATCHES = { } # Associative array of items to notify each seller about BUYER_MATCHES = { } # Similar associative array of items to notify the (potential) buyer about DISTANCE_THRESHOLD = <Number used for weighting to determine threshold for which desired items to send to the seller (or vice versa)> for (SALE_ITEM in ITEMS_FOR_SALE) { SALE_ITEM_WANT = <Floating point measure determining this item′s correlated ″want″ score> SALE_ITEM_NEED = < Floating point measure determining this item′s correlated ″need″ score> SALE_ITEM_SPEND = < Floating point measure determining this item′s correlated ″spend″ score> SALE_ITEM_CAT = <This item′s full category path> ITEM_SELLER = <User selling this item> # Get individual differences between desired item and item for sale WANT_DIST = <Distance between DESIRED_ITEM_WANT and SALE_ITEM_CAT> NEED_DIST = <Distance between DESIRED_ITEM_NEED and SALE_ITEM_NEED> SPEND_DIST = <Distance between DESIRED_ITEM_SPEND and SALE_ITEM_SPEND> CAT_DIST = <Levenshtein Distance between DESIRED_ITEM_CAT and SALE_ITEM_CAT> TOTAL_DIST = <Distance between desired item and item for sale in multi-dimensional space using the values above> if (TOTAL_DIST < DISTANCE_THRESHOLD) { SELLER_MATCHES[ITEM_SELLER] = ITEM BUYER_MATCHES[ITEM_BUYER] = SALE_ITEM } } # Finally, notify any sellers about these desired items for (ITEM_SELLER, ITEM in SELLER_MATCHES) { # Potential additional conditional logic to skip sellers based on any other criteria notify seller(ITEM_SELLER, ITEM) } # Additionally, notify the buyer that an item matching something they wanted is available for (ITEM_BUYER, SALE_ITEM in BUYER_MATCHES) { # Potential additional conditional logic to skip buyers based on any other criteria # NOTE: the notify_buyer function would be where the System Action Model may be implemented, as described below notify_buyer(ITEM_BUYER, SALE_ITEM) } } - In some example embodiments, the subjective estimations of value can be used in a health monitoring or exercising application on the
user device 130 and used to interact with theserver machine 110. For example, the plurality of subjective estimations of value may be indicative of parameters relating to exercise to build a user model, preference model, emotional attachment model, or other profiles or models indicative of theuser 132. Further the health application can use the plurality of subjective estimations of value to pair theuser 132 with a local gym, health club, personal trainer, or other users of the health application via the health application cooperating with one or more social media applications or web sites, for example. Here, theuser 132 may adjust sliders for subjective estimations of value of exercise times, weather conditions for exercising, level of commitment, level of desire, enjoyment of an exercise, location preference for an exercise, food intake, food preferences, interest in a type of exercise, or the like. Theuser 132 can also enter into the application user actions indicative of actual exercises, including distances, weights, times, or other exercise metrics; food intake; food type; exercises missed; reasons for exercises missed; and the like. Theserver machine 110 may calibrate a user profile based on the subjective estimations of value and the user actions to determine probability of exercise or dietary actions that theuser 132 will take in the future. Theserver machine 110 or the health application may use the user profile or probability of future user actions to make recommendations, suggest adjustments in an exercise program or dietary program, determine likely users to recommend to theuser 132, determine a personal trainer for theuser 132, determine a gym for theuser 132, or the like, based on the calibrated user profile. - Although discussed in reference to a
marketplace 120 and a health application, it will be understood by one skilled in the art that the methods and systems disclosed herein may be used in conjunction with differing applications, systems, actions, and the like without departing from the teachings of the present disclosure. - According to various example embodiments, one or more of the methodologies described herein may facilitate matching buyers and sellers using calibrated user profiles and notification models. Moreover, one or more of the methodologies described herein may facilitate generation and calibration of user profiles, and notification models.
- When these effects are considered in aggregate, one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in matching buyers and sellers using calibrated user profiles and notification models. Efforts expended by a user in finding buyers or sellers and determining when and where notifications may be transmitted to the user may be reduced by one or more of the methodologies described herein. Computing resources used by one or more machines, databases, or devices (e.g., within the network environment 100) may similarly be reduced. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
-
FIG. 19 is a block diagram illustrating components of amachine 1900, according to some example embodiments, able to readinstructions 1924 from a machine-readable medium 1922 (e.g., a non-transitory machine-readable medium, a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof) and perform any one or more of the methodologies discussed herein, in whole or in part. Specifically,FIG. 19 shows themachine 1900 in the example form of a computer system (e.g., a computer) within which the instructions 1924 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing themachine 1900 to perform any one or more of the methodologies discussed herein may be executed, in whole or in part. - In alternative embodiments, the
machine 1900 operates as a standalone device or may be communicatively coupled (e.g., networked) to other machines. In a networked deployment, themachine 1900 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a distributed (e.g., peer-to-peer) network environment. Themachine 1900 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a cellular telephone, a smartphone, a set-top box (STB), a personal digital assistant (PDA), a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing theinstructions 1924, sequentially or otherwise, that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute theinstructions 1924 to perform all or part of any one or more of the methodologies discussed herein. - The
machine 1900 includes a processor 1902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), amain memory 1904, and astatic memory 1906, which are configured to communicate with each other via abus 1908. Theprocessor 1902 may contain microcircuits that are configurable, temporarily or permanently, by some or all of theinstructions 1924 such that theprocessor 1902 is configurable to perform any one or more of the methodologies described herein, in whole or in part. For example, a set of one or more microcircuits of theprocessor 1902 may be configurable to execute one or more modules (e.g., software modules) described herein. - The
machine 1900 may further include a graphics display 1910 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, a cathode ray tube (CRT), or any other display capable of displaying graphics or video). Themachine 1900 may also include an alphanumeric input device 1912 (e.g., a keyboard or keypad), a cursor control device 1914 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, an eye tracking device, or other pointing instrument), astorage unit 1916, an audio generation device 1918 (e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and anetwork interface device 1920. - The
storage unit 1916 includes the machine-readable medium 1922 (e.g., a tangible and non-transitory machine-readable storage medium) on which are stored theinstructions 1924 embodying any one or more of the methodologies or functions described herein. Theinstructions 1924 may also reside, completely or at least partially, within themain memory 1904, within the processor 1902 (e.g., within the processor's cache memory), or both, before or during execution thereof by themachine 1900. Accordingly, themain memory 1904 and theprocessor 1902 may be considered machine-readable media (e.g., tangible and non-transitory machine-readable media). Theinstructions 1924 may be transmitted or received over thenetwork 150 via thenetwork interface device 1920. For example, thenetwork interface device 1920 may communicate theinstructions 1924 using any one or more transfer protocols (e.g., hypertext transfer protocol (HTTP)). - In some example embodiments, the
machine 1900 may be a portable computing device, such as a smart phone or tablet computer, and have one or more additional input components 1930 (e.g., sensors or gauges). Examples of such input components 1930 include an image input component (e.g., one or more cameras), an audio input component (e.g., a microphone), a direction input component (e.g., a compass), a location input component (e.g., a global positioning system (GPS) receiver), an orientation component (e.g., a gyroscope), a motion detection component (e.g., one or more accelerometers), an altitude detection component (e.g., an altimeter), and a gas detection component (e.g., a gas sensor). Inputs harvested by any one or more of these input components may be accessible and available for use by any of the modules described herein. - As used herein, the term “memory” refers to a machine-readable medium able to store data temporarily or permanently and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium 1922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions. The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing the
instructions 1924 for execution by themachine 1900, such that theinstructions 1924, when executed by one or more processors of the machine 1900 (e.g., processor 1902), cause themachine 1900 to perform any one or more of the methodologies described herein, in whole or in part. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as cloud-based storage systems or storage networks that include multiple storage apparatus or devices. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, one or more tangible (e.g., non-transitory) data repositories in the form of a solid-state memory, an optical medium, a magnetic medium, or any suitable combination thereof. - Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
- Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute software modules (e.g., code stored or otherwise embodied on a machine-readable medium or in a transmission medium), hardware modules, or any suitable combination thereof. A “hardware module” is a tangible (e.g., non-transitory) unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
- In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- Accordingly, the phrase “hardware module” should be understood to encompass a tangible entity, and such a tangible entity may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software (e.g., a software module) may accordingly configure one or more processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors.
- Similarly, the methods described herein may be at least partially processor-implemented, a processor being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. As used herein, “processor-implemented module” refers to a hardware module in which the hardware includes one or more processors. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
- The performance of certain operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
- Some portions of the subject matter discussed herein may be presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). Such algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
- Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any suitable combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless specifically stated otherwise, the terms “a” or “an” are herein used, as is common in patent documents, to include one or more than one instance. Finally, as used herein, the conjunction “or” refers to a non-exclusive “or,” unless specifically stated otherwise.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/007,854 US20200394666A1 (en) | 2014-09-22 | 2020-08-31 | Machine Generated Recommendation and Notification Models |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462053711P | 2014-09-22 | 2014-09-22 | |
US14/861,741 US10796323B2 (en) | 2014-09-22 | 2015-09-22 | Machine generated recommendation and notification models |
US17/007,854 US20200394666A1 (en) | 2014-09-22 | 2020-08-31 | Machine Generated Recommendation and Notification Models |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/861,741 Continuation US10796323B2 (en) | 2014-09-22 | 2015-09-22 | Machine generated recommendation and notification models |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200394666A1 true US20200394666A1 (en) | 2020-12-17 |
Family
ID=55526127
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/861,741 Active 2037-11-26 US10796323B2 (en) | 2014-09-22 | 2015-09-22 | Machine generated recommendation and notification models |
US17/007,854 Abandoned US20200394666A1 (en) | 2014-09-22 | 2020-08-31 | Machine Generated Recommendation and Notification Models |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/861,741 Active 2037-11-26 US10796323B2 (en) | 2014-09-22 | 2015-09-22 | Machine generated recommendation and notification models |
Country Status (2)
Country | Link |
---|---|
US (2) | US10796323B2 (en) |
WO (1) | WO2016049060A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016049060A1 (en) | 2014-09-22 | 2016-03-31 | Ebay Inc. | Machine generated recommendation and notification models |
US11288723B2 (en) * | 2015-12-08 | 2022-03-29 | Sony Corporation | Information processing device and information processing method |
US10277714B2 (en) * | 2017-05-10 | 2019-04-30 | Facebook, Inc. | Predicting household demographics based on image data |
US11216835B2 (en) * | 2017-07-05 | 2022-01-04 | Sony Corporation | Information processing apparatus, information processing method, and recording medium for calculating a price of a target product using machine learning based on an image of the target product |
CN107729501A (en) * | 2017-10-23 | 2018-02-23 | 福州领头虎软件有限公司 | A kind of trading object matching process and system |
CN108418886B (en) * | 2018-03-12 | 2023-07-18 | 北京汽车研究总院有限公司 | Vehicle control method, controller, cloud server and vehicle |
US11416770B2 (en) * | 2019-10-29 | 2022-08-16 | International Business Machines Corporation | Retraining individual-item models |
US11393013B2 (en) | 2020-06-25 | 2022-07-19 | Mercari, Inc. | Method, non-transitory computer-readable device, and system for intelligent listing creation |
US11694218B2 (en) * | 2020-06-25 | 2023-07-04 | Mercari, Inc. | Computer technology for automated pricing guidance |
US20220122141A1 (en) * | 2020-10-21 | 2022-04-21 | Rohit Bhardwaj | Train any buddy real-time online matching service |
CN112288540A (en) * | 2020-11-02 | 2021-01-29 | 北京每日优鲜电子商务有限公司 | Item customization information pushing method and device, electronic equipment and readable medium |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010144B1 (en) * | 1994-10-21 | 2006-03-07 | Digimarc Corporation | Associating data with images in imaging systems |
US8429205B2 (en) * | 1995-07-27 | 2013-04-23 | Digimarc Corporation | Associating data with media signals in media signal systems through auxiliary data steganographically embedded in the media signals |
US5960407A (en) * | 1996-10-08 | 1999-09-28 | Vivona; Robert G. | Automated market price analysis system |
US6134531A (en) * | 1997-09-24 | 2000-10-17 | Digital Equipment Corporation | Method and apparatus for correlating real-time audience feedback with segments of broadcast programs |
US6009406A (en) * | 1997-12-05 | 1999-12-28 | Square D Company | Methodology and computer-based tools for re-engineering a custom-engineered product line |
KR100865247B1 (en) * | 2000-01-13 | 2008-10-27 | 디지맥 코포레이션 | How to authenticate metadata and embed metadata in watermarks of media signals |
WO2001075548A2 (en) * | 2000-03-31 | 2001-10-11 | Liquid Engines, Inc. | System and method for implementing electronic markets |
WO2002023369A2 (en) * | 2000-09-13 | 2002-03-21 | Koninklijke Philips Electronics N.V. | Method and system for selling an additive for a product |
US7899707B1 (en) * | 2002-06-18 | 2011-03-01 | Ewinwin, Inc. | DAS predictive modeling and reporting function |
US7769623B2 (en) * | 2002-12-17 | 2010-08-03 | International Business Machines Corporation | Method and system for conducting online marketing research in a controlled manner |
AU2003900776A0 (en) * | 2003-02-20 | 2003-03-13 | Eis Pathfinder Pty Ltd | Executive information reporting system and method |
US7870018B2 (en) * | 2004-03-19 | 2011-01-11 | Accenture Global Services Gmbh | Brand value management |
MX2007011675A (en) * | 2005-03-22 | 2008-11-04 | Ticketmaster | Apparatus and methods for providing queue messaging over a network. |
US20070021165A1 (en) * | 2005-07-21 | 2007-01-25 | Ma Jeffrey K | Graphical user interface for a fantasy sports application |
US20130046582A1 (en) * | 2005-09-14 | 2013-02-21 | Jumptap, Inc. | Realtime surveying within mobile sponsored content |
US8290810B2 (en) * | 2005-09-14 | 2012-10-16 | Jumptap, Inc. | Realtime surveying within mobile sponsored content |
JP5009577B2 (en) * | 2005-09-30 | 2012-08-22 | 富士フイルム株式会社 | Image search apparatus and method, and program |
US8494894B2 (en) * | 2008-09-19 | 2013-07-23 | Strategyn Holdings, Llc | Universal customer based information and ontology platform for business information and innovation management |
US20100274631A1 (en) * | 2009-04-24 | 2010-10-28 | Veretech Holdings, Inc. | System and Method For Generating Vehicle Sales Leads |
US8260715B2 (en) * | 2009-07-13 | 2012-09-04 | International Business Machines Corporation | Software license usage amongst workgroups using software usage data |
US20120066039A1 (en) * | 2010-09-10 | 2012-03-15 | Peter Ang | Method and system for event-targeted advertisement |
US20120173324A1 (en) * | 2010-12-29 | 2012-07-05 | Ebay, Inc. | Dynamic Product/Service Recommendations |
US20120323794A1 (en) * | 2011-06-15 | 2012-12-20 | Microsoft Corporation | Monetization strategies in privacy-conscious personalization |
US10853826B2 (en) * | 2012-02-07 | 2020-12-01 | Yeast, LLC | System and method for evaluating and optimizing media content |
US20130282438A1 (en) * | 2012-04-24 | 2013-10-24 | Qualcomm Incorporated | System for delivering relevant user information based on proximity and privacy controls |
US20150112754A1 (en) * | 2013-10-17 | 2015-04-23 | Ebay Inc. | User intent tracking streams |
US20160055497A1 (en) * | 2014-08-20 | 2016-02-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and polling system for supporting evaluation of a delivered service |
WO2016049060A1 (en) | 2014-09-22 | 2016-03-31 | Ebay Inc. | Machine generated recommendation and notification models |
-
2015
- 2015-09-22 WO PCT/US2015/051515 patent/WO2016049060A1/en active Application Filing
- 2015-09-22 US US14/861,741 patent/US10796323B2/en active Active
-
2020
- 2020-08-31 US US17/007,854 patent/US20200394666A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2016049060A1 (en) | 2016-03-31 |
US10796323B2 (en) | 2020-10-06 |
US20160086206A1 (en) | 2016-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200394666A1 (en) | Machine Generated Recommendation and Notification Models | |
US12131342B2 (en) | Image evaluation | |
US11830031B2 (en) | Methods and apparatus for detection of spam publication | |
US11100520B2 (en) | Providing insights to a merchant | |
US11012753B2 (en) | Computerized system and method for determining media based on selected motion video inputs | |
CN110046299B (en) | Computerized system and method for automatically performing an implicit message search | |
US11341153B2 (en) | Computerized system and method for determining applications on a device for serving media | |
CN108701014B (en) | Query database for tail queries | |
US8595049B2 (en) | Method and system for monitoring internet information for group notification, marketing, purchasing and/or sales | |
US10304066B2 (en) | Providing relevant notifications for a user based on location and social information | |
US11176574B2 (en) | Contextual secondary content for search results | |
US20150088921A1 (en) | Search guidance | |
US20130041837A1 (en) | Online Data And In-Store Data Analytical System | |
US20150120386A1 (en) | System and method for identifying purchase intent | |
US20130218687A1 (en) | Methods, systems and devices for determining a user interest and/or characteristic by employing a personalization engine | |
US20170344552A1 (en) | Computerized system and method for optimizing the display of electronic content card information when providing users digital content | |
US20180033051A1 (en) | Interest based delivery system and method in a content recommendation network | |
US20140222560A1 (en) | System and method for monetization in photo sharing sites | |
US20200273079A1 (en) | Automatic electronic message data analysis method and apparatus | |
US20140297618A1 (en) | Method and system for automatically selecting tags for online content | |
US20180084079A1 (en) | Time and location based distribution of additional content for content items | |
US20180082331A1 (en) | Predicting a user quality rating for a content item eligible to be presented to a viewing user of an online system | |
US10530898B1 (en) | Serving a content item based on acceptance of a new feature | |
US20160005084A1 (en) | Systems, methods, and computer program products for user-specific product related activity | |
US20240005346A1 (en) | Identifying user-generated content related to a consumer brand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EBAY INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHURCHILL, ELIZABETH;RESSLER, BRYAN KENT;SARMA, ATISH DAS;AND OTHERS;SIGNING DATES FROM 20160421 TO 20160725;REEL/FRAME:053646/0301 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |