GB2556970A - Method and system for providing content - Google Patents

Method and system for providing content Download PDF

Info

Publication number
GB2556970A
GB2556970A GB1714004.7A GB201714004A GB2556970A GB 2556970 A GB2556970 A GB 2556970A GB 201714004 A GB201714004 A GB 201714004A GB 2556970 A GB2556970 A GB 2556970A
Authority
GB
United Kingdom
Prior art keywords
user
data
content
correlation
web
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.)
Withdrawn
Application number
GB1714004.7A
Other versions
GB201714004D0 (en
Inventor
Hackett Christopher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mporium Group PLC
Original Assignee
Mporium Group PLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mporium Group PLC filed Critical Mporium Group PLC
Publication of GB201714004D0 publication Critical patent/GB201714004D0/en
Publication of GB2556970A publication Critical patent/GB2556970A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

At a signal processor, receiving and processing signal data A2, e.g. television metadata, relating to at least one stimulus of digital engagement from a data feed, e.g. an on-demand video stream or a social media, news or weather feed; at a web monitor module, generating and storing user data A8 e.g. web activity data or user profile data; at a correlation processor, identifying correlations between the signal and user data A3, indicative of the influence of the stimulus on digital engagement of the user and storing correlation data A4; and at a content management module, modifying web, social media or application content in response to the correlation e.g. delivering personalised digital content. Digital engagement may comprise online interactions such as search, web page navigation, online content consumption, purchase or download. Correlation data may indicate a likelihood that the user consumed television or radio content at the time of the digital engagement. May determine unique identifiers for users and assign users to segments A5 based on correlations. May be used to understand what offline stimuli, e.g. television content, prompts a user to interact with their smartphone or tablet e.g. entering search terms or interacting with social media.

Description

(56) Documents Cited:
None (32) 01.09.2016 (33) GB (58) Field of Search:
Other: No search performed: Section 17(5)(b) (71) Applicant(s):
mporium Group Pic
106 New Bond Street, London, WS1 1DN, United Kingdom (72) Inventor(s):
Christopher Hackett (74) Agent and/or Address for Service:
mporium Group Pic
106 New Bond Street, London, WS1 1DN, United Kingdom (54) Title of the Invention: Method and system for providing content Abstract Title: Influencing web, social media or application content (57) At a signal processor, receiving and processing signal data A2, e.g. television metadata, relating to at least one stimulus of digital engagement from a data feed, e.g. an on-demand video stream or a social media, news or weather feed; at a web monitor module, generating and storing user data A8 e.g. web activity data or user profile data; at a correlation processor, identifying correlations between the signal and user data A3, indicative of the influence of the stimulus on digital engagement of the user and storing correlation data A4; and at a content management module, modifying web, social media or application content in response to the correlation e.g. delivering personalised digital content. Digital engagement may comprise online interactions such as search, web page navigation, online content consumption, purchase or download. Correlation data may indicate a likelihood that the user consumed television or radio content at the time of the digital engagement. May determine unique identifiers for users and assign users to segments A5 based on correlations. May be used to understand what offline stimuli, e.g. television content, prompts a user to interact with their smartphone or tablet e.g. entering search terms or interacting with social media.
Figure GB2556970A_D0001
At least one drawing originally filed was informal and the print reproduced here is taken from a later filed formal copy.
Figure GB2556970A_D0002
Figure GB2556970A_D0003
co cn
Γ\Ι cn co
Figure GB2556970A_D0004
co
Figure 3
Figure GB2556970A_D0005
en
LD
CQ
Figure GB2556970A_D0006
<
CL) ι_
Ξ3 .5Ρ
Liσ>
io
CQ
Figure GB2556970A_D0007
CQ
CL)
Figure GB2556970A_D0008
co τ—I u
N +->
c cu +->
c o
u co u
Figure GB2556970A_D0009
Figure GB2556970A_D0010
cn oo
Figure 5
Figure GB2556970A_D0011
u
610
Figure GB2556970A_D0012
Application No. GB1714004.7
RTM
Date :23 January' 2018
Intellectual
Property
Office
The following terms are registered trade marks and should be read as such wherever they occur in this document:
wi-fi; Facebook; Twitter; Instagram; Google; Javascript
Intellectual Property Office is an operating name of the Patent Office www.gov.uk/ipo
Method and System for Providing Content
The present invention relates to a system and method for modifying content of a web page, website or application. In particular, the invention relates to modifying content in response to a correlation between at least one stimulus that may influence an online interaction and user data.
The growth in usage of mobile electronic devices has changed the way that internet users engage in digital activity. Various offline or online stimuli may prompt a user to engage in an online activity such as entering search terms, using applications, consuming web pages, downloading content or interacting with social media. In many cases, a user may be prompted to engage in digital activity substantially immediately or shortly after they are prompted by a stimulus. This type of digital interaction has been called a “micro-moment”. When a user’s interest is peaked in this way for a short window of time in response to a stimulus, he or she often wants to quickly identify and access relevant information or content. This may include web pages, video content, audio content, news articles and advertising content.
Understanding what stimulates or prompts a user to engage in digital activity may assist content providers to deliver relevant content without the need for the user to search extensively or navigate complex menus or web pages. It is also advantageous to present the information to a user in the most appropriate format for the user, for example by personalisation of a web page. Web pages may include slots or areas in which content can be modified, such that when the user visits the page, the most appropriate content for that user is displayed.
One stimulus that is known to drive digital engagement in certain circumstances is media content. It is common for consumers of media content to be using multiple devices at once. For example, a user may be watching a television programme while using a smartphone or tablet computer to surf the internet or interact with social media platforms such as Facebook. Sometimes a user may be motivated by television content (for example) to interact with their smartphone or tablet computer to find out more about something they saw on the television.
Profiling of viewers of television and determining their viewing preferences may be also be valuable for targeted programming, provision of personalised content and advertising. However, there are a number of factors that make accurate profiling of TV audiences very difficult. For example, in certain prior art systems, it is necessary to have a viewer register and/or login to a system via an interface before consuming content in order to track the viewer’s activity. Alternative systems attempt to monitor a viewer’s interaction with a television set via a remote control and/or set top box. There are a number of disadvantages associated with such systems and since there may be a number of viewers in each household, it remains difficult to attribute viewing habits to any particular individual.
It would be desirable to provide an improved method of modifying content to deliver personalised digital content.
One aspect of the invention provides a method of influencing web, social media or application content comprising:
receiving and processing signal data from a data feed, said signal data relating to at least one stimulus of digital engagement;
generating and storing user data;
identifying and storing correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user; and modifying web, social media or application content in response to the correlation.
It will be understood that the terms correlation, correlated, correlation engine and any other terms referring to correlation may refer to a process or outcome of applying a statistical processor machine learning technique that implies a dependence or association between variables. The metric used to measure this relationship may be a correlation measure but may also include other measures such as mutual information probability metrics or learnt associations employing machine learning techniques.
Advantageously, the method allows a client user or website owner to plan an approach before execution time and aligns the mechanics to business values, processes or objectives while still allowing dynamic selection of content at run time.
Optionally, the data feed comprises a media source selected from one or more of; a television channel, an on-demand video stream, electronic programme guide data, a radio channel, a social media site, a news feed, a weather feed, a sports feed.
In certain embodiments, the signal data comprises television metadata. This may be closed caption data such as subtitles, image data or electronic programme guide data.
Preferably, the method comprises determining for a given content request by the user a unique identifier associated with the user.
In certain embodiments, the user data comprises web activity data. This may be behavioural data. The user may be a non-authenticated user.
In certain embodiments, the user data comprises user profile data. In certain embodiments, the user data comprises user signal data.
User signal data may comprise signals from a user device, browser, IP address etc and may include time of interaction, mode, browser, location, IP address, type of device used.
User data may comprise real time signals/data. Preferably, the data feed comprises a real time data feed.
Optionally, the digital engagement comprises an online interaction selected from search, web page navigation, user journey, online content consumption, online purchase or download.
In certain embodiments, the correlation data indicates a likelihood that the user is or has been consuming television or radio content at the time of the digital engagement.
The likelihood may be expressed as a probability, which may be above a threshold level.
The method may comprise identifying the television or radio content stimulus.
The method may comprise assigning the user to one or more user segments based on the correlation.
Optionally, the method comprises modifying the web, social media or application content by selecting and serving content to the user according to the one or more user segments.
Preferably, the method comprises evaluating candidate content for presenting to the user based on relevance to the stimulus and/or the user data.
The method may comprise evaluating candidate content, ranking or sorting content by assigning a relevance score and selecting content of relevance to the stimulus and/or user/segment. The method may be performed in response to a given content request by a user.
Another aspect of the invention provides apparatus for influencing web, social media or application content comprising:
a signal processor for receiving and processing signal data from a data feed, said signal data relating to at least one stimulus of digital engagement; a web monitor module for generating and storing user data;
a correlation processor for identifying and storing correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user; and a content management module for modifying web, social media or application content in response to the correlation.
Another aspect of the invention provides a method of determining the influence of at least one stimulus on digital engagement of a user comprising;
receiving and processing signal data from a data feed, the signal data relating to at least one stimulus of digital engagement;
generating and storing user data;
identifying and storing correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user.
Preferably, the method comprises modifying a website or webpage in response to the correlation.
Modifying the web page may include adding or removing content.
Digital engagement may comprise an online interaction.
Optionally, the method comprises determining a unique identifier associated with the user and wherein user data comprises data specific to an individual user.
The method may comprise identifying of a plurality of users or user group or segment.
In certain embodiments, the method comprises assigning a user to one or more user 20 segments in response to the correlation.
In certain embodiments, the method comprises modifying a website or web page according to the one or more user segments.
Optionally, the user data comprises user web activity data. Optionally, the user web activity data comprises search terms or keywords.
In certain embodiments, the method comprises the data feed comprises a media source selected from; a television channel, an on-demand video stream, electronic programme guide data, a radio channel, a social media site, a news feed, a weather feed, a sports feed.
The online interaction may comprise search, web page navigation, user journey, online content consumption, online purchase and/or download.
The user data may be updated in substantially real time or near real time.
Optionally, users are dynamically segmented.
The data feed may comprise television metadata.
Preferably, the user data comprises time of online interaction.
Optionally, the correlation data comprises a correlation between stimulus status and the online interaction of the user during a predetermined period of time.
Stimulus status may comprise a broadcast of text, image or audio, a level or score, a change in a level or score, an on/off or yes/no value.
The user data may comprise user profile data.
In certain embodiments, the correlation data stores a correlation between online search terms entered by the user and terms associated with or relating to the stimulus.
In certain embodiments, the method comprises determining based on the correlation data a probability that the at least one stimulus has influenced the online interaction of the user.
Optionally, the at least one stimulus comprises television and the method comprises determining based on the correlation data a probability that the user is watching television.
Optionally, the correlation data comprises a correlation between input data comprising television metadata and user data comprising one or more of search terms, location data, device data and/or user profde data.
In certain embodiments, the method comprises generating further segmentation and assigning a user to a segment based on the probability that the user is watching television.
This provides the advantage as content can be targeted to a user who is “second screening” without any network connection or other communication between television and user device.
In certain embodiments, the method comprises utilising a machine learning algorithm to influence modification of the website or web page on a subsequent visit by the same user or other users in the same segment or segments.
In certain embodiments, the method comprises determining based on the correlation data a probability that the at least one stimulus has influenced the online interaction of a plurality of users of the same segment or segments.
For example, where user search terms correlate with media broadcast content, the media content can be identified.
In certain embodiments, the method comprises dynamically assigning a plurality of simultaneous online users to one or more segments.
The method may be for use by an advertising management system.
Yet another aspect of the invention provides a method of segmenting users of a website, comprising generating and storing user data from a web monitor;
receiving and processing at least one signal from a data feed, said signal relating to at least one stimulus for online interaction;
identifying and storing correlation data indicative of an influence of the at least one stimulus on the online interaction of a user;
assigning the user to one or more user segments based on the correlation.
User data may comprise user activity data. The method may comprise dynamically segmenting users in substantially real time or near real time.
Yet another aspect of the invention provides a method of providing personalised content, comprising receiving and processing at least one signal from a data feed, said signal relating to at least one stimulus for online interaction;
determining a first relevance score for each of a plurality of predetermined content items based on relevance to the at least one signal;
selecting a subset of the content items based on the first relevance score; determining a unique identifier associated with a user; generating and storing user data specific to the individual user; identifying and storing correlation data indicative of an influence of the at least one potential stimulus on the online interaction of the user;
based on the correlation, determining a second relevance score for each of the subset of the content items;
serving one or more of the subset of the content items to the user based on the second relevance score.
Another aspect of the invention provides a method for providing digital content comprising:
providing a client user interface for specifying one or more targeting criteria; receiving a selection of the one or more targeting criteria to be associated with content served to an online user;
the selection of the one or more targeting criteria comprising an indication that the online interaction of an online user is influenced by a certain stimulus; evaluating candidate content for serving to the online user;
wherein the step of evaluating candidate content comprises determining whether the online interaction of the online user has been influenced by the stimulus;
selecting and serving content to the online user based on the targeting criteria.
Optionally, the determination that the online user has been influenced by the stimulus comprises identifying a correlation between online user data and stimulus signal data.
Optionally, evaluating candidate content comprises receiving a request for content from a user and evaluating whether the user is watching television or has been watching television.
In certain embodiments, the method comprises identifying the television content and determining the relevance of candidate content to the television content and/or user.
Another aspect of the invention provides a computer implemented method of serving digital content to a user comprising accessing a database of digital content items categorised according to content item attributes;
obtaining user data associated with an individual user;
calculating a user interest metric associated with the user based on a plurality of user interest attributes;
receiving and processing by a computer processor input signal data from at least one media signal source;
determining a correlation between the input signal data and the one or more content item attributes and/or user interest attributes;
based on a combination of the correlation data and user interest metric selecting 20 content for output to a user device;
and delivering one or more output content items to a user.
One aspect of the invention comprises computer implemented method of serving digital content to a user comprising accessing a database of digital content items categorised according to content item attributes;
receiving and processing by a computer processor input signal data from a plurality of media signal sources;
determining a correlation between the input signal data and the one or more content 30 item attributes;
based on the correlation data selecting content for output to a user device; and delivering one or more output content items to a user.
Optionally, the input signal data comprises disparate data and processing of the input signal data comprises combining the disparate data to output normalised signal data.
Optionally, the user interest attributes and/or user interest metric comprise dynamically changeable time based values.
The user interest metric may be calculated by assigning an interest value to each of a plurality of predetermined interest attributes.
Optionally, the method comprises repeatedly calculating the user interest metric a plurality of times during a user session. The user interest metric may be re-calculated with each predetermined user engagement.
The user interest attributes may be predetermined. Optionally, user data comprises online behavioural data. The user may be an anonymous user and user data may comprise behavioural data from the anonymous user.
Optionally, determining a correlation between the input signal data and the one or more content item attributes and/or user interest attributes comprises determining the correlation based on the user interest metric and media signal substantially at the time of the media signal being broadcast. Optionally, determining a correlation comprises calculating a correlation metric.
The correlation metric may be indicative of an association between one or more attributes of media signal data and one or more attributes of content item attributes.
The correlation metric may be indicative of an association between one or more attributes of user data and one or more attributes of content item attributes.
The correlation metric may be indicative of an association between one or more attributes of media signal data and one or more attributes of user data.
In certain embodiments, the method comprises algorithmically combining user interest correlation metrics and signal metadata correlation metrics to determine and execute content selection.
In response to a user request, the system may deliver one or more content items to the user, wherein selection of the content items is based on the user request and the correlation data.
Optionally, the method comprises dynamically generating a set of digital content items for output to a user device based on the correlation data.
Optionally, the method comprises filtering by assigned user segment candidate content items for output to a user.
In certain embodiments, the one or more input signals comprises a broadcast media signal and the method comprises calculating a probability that the user is influenced by the broadcast.
Optionally, content is selected for output to a user device based on the correlation data or combination of correlation data and user interest metric when the calculated probability is above a threshold value.
User interest attributes may include price point (or range), brand affinity, style, preferences, colour, clothing size, basket additions, repeat product views, checkout abandons.
One or more output content items may be delivered to a user as a recommendation or set of recommended items.
In certain embodiments, the method comprises inserting the selected content into a content slot on a web page and delivering the web page with the selected content to a user device associated with a user.
Optionally, the media signal data comprises a digital signal representing an offline stimulus of digital interaction. There may be no substantially direct communication or network connection between signal source and the online user.
To assist in understanding of the invention, specific embodiments thereof will now be described by way of example and with reference to the accompanying drawings, in which:
Figure 1A schematically illustrates a system for influencing web, social media 5 or application content.
Figure IB schematically illustrates a system for influencing web, social media or application content.
Figure 2 schematically illustrates a system for influencing web, social media or application content.
Figure 3 is a schematic flow diagram which illustrates how user data and signal data are correlated to influence content.
Figures 4A, 4B and 4C show schematic flow diagrams which illustrates how user data and signal data are correlated to influence content.
Figure 5 schematically illustrates how content on a web page or application 15 may be modified.
Figure 6 schematically illustrates a system for influencing web, social media or application content.
Those skilled in the art of computer sciences will appreciate and understand 20 the various ways in which embodiments of the invention may be implemented. As such, in the following description, certain specific detailed description of computer programming, software modules, database structures, queries, network transactions etc are omitted in order to avoid obscuring the invention.
Figure 1A is a schematic illustration of an example environment 100 in which modified content is output to a user in response to determining an association metric between attributes of content, user interest and one or more time based digital signals substantially at the time the content is requested by a user device 101.
The invention can be deployed in various ways. Personalised content may be provided to remote users of computing devices via a network of any kind and such content may be provided as a recommender service, for example to provide product recommendations to users in online retail environments and/or in selection of downloadable media content or applications. A database of content items may be local or remote from the user, stored at one location or distributed across multiple servers.
A network 102 is configured to couple user device 101, publisher 103, server or “ad server” 104 and a content generation system 105, allowing them to communicate. The network 102 may include any type of network, for example, the Internet, wi-fi network, local area network (LAN), wide area network (WAN) or wireless telephone network. It will be understood that although in the illustrative example shown in Figure la, a single user device is shown but in fact the system 100 may include many thousands of user devices 101, publishers 103 and ad servers 104.
User devices 101 may include desktop computers, laptop computers, tablets, mobile telephones personal digital assistants or any other devices capable of receiving content via the network 102 and presenting it to a user. Typically, a user device 101 will comprise an application eg a web browser, providing a user interface through which web pages are displayed to the user and through which the user may interact with the web pages.
Publishers 103 may be website owners, retailers, and/or online platforms such as Facebook, Twitter, Instagram, Google etc. In certain embodiments the content generation system 105 may be part of an ad server or publisher.
When a user device 101 sends a request to a server 104 of a publisher 103 for a publication (typically a web page) the content generation engine 105 dynamically selects and assembles content items 106 to be presented to the user on the user device 101 in response to the request. The content items may be retrieved from a server 104 (such as an advertisement server) or directly from a publisher 103.
Content items 106 are tagged according to certain attributes and categorised in groups - each of the digital content items in a group having similar or related attributes. For example, the content items may be categorised using key-value (or attribute-value) pairs and retrieved from a data store or content library by the content generation engine 105, based on key-value pair attribute groupings and/or weighting algorithms.
The content items 106 may comprise files, documents, text, images, audio, video elements, graphics, search results, web pages, webpage listings, discussion threads, hyperlinks, numerical values, embedded content, advertisements, ad extensions, banners etc or any combination thereof.
The content generation engine 105 has an input for receiving time based digital signals from an external source or signal provider 108. Time based digital signals received from signal source 108 may include media source data associated with, for example, a television channel, an on-demand video stream, a radio channel, a social media site, a news feed, a weather feed, electronic programme guide (EPG) data, sports data.
In certain embodiments, the time based signals may include data relating to weather, news, events, sports data, financial market data, health related data eg air quality, pollen count or pollution data, product price data, product inventory data, search trends data eg Google Trends, social media data eg Twitter, Facebook, social media trends data, electronic customer relationship management (eCRM) events eg internal or competitor data, promotions data, transport related data eg traffic reports, blog data eg competitor blog information, technical events eg service outage, calendar data, calendar events, social media events, sentiment data, content events eg sports, broadcast media metadata, electronic programme guide (EPG data) and/or television subtitle data. These may be received as RSS or Atom feeds.
Signals received by the content generation engine 105 represent variable values which may be text based strings representing time based events, which may therefore change over time. If an attribute of signal data representing a particular condition or event is received by a signal processor, this may trigger a processing action of the optimisation engine, for example to affect the selection logic output of a content retrieval module, which is triggered to perform one or more processing actions, such as selection and assembly of particular content items for transmission to a user device.
Such processing actions may be subject to time restrictions or time delay - for example, certain content items may be selected to be transmitted within a specified time period.
Content items are categorised according to content attributes - and optionally also according to predetermined user request attributes, into groups according to a defined ontology. A user request attribute may include, for example a search keyword or combination of keywords input by a user, ad clicked, or the type of device used.
In certain embodiments, content items may be further categorised and grouped according to user specific information such as user profile information, for example, based on a user’s interests, geo-location, preferences, interests, demographic, online behaviour, social groups, transactions, purchase history and the like.
Figure IB illustrates in further detail how the content generation system 105 receives data feed signals and influences Internet search functions, web pages, social media sites or applications (which might be mobile applications (or “apps”) running on portable electronic devices such as mobile phones, or software applications running on personal computers for example) based on those signals. The content generation system 105 comprises a client front end la, via which a client may enter rules which govern what happens when one or more signals are detected in one or more data feeds 2a, 2b, 2c, 2d received at an ingestion processor 3. The rules are stored in a database 4 and may relate to how provision content, searches, web pages or other media streams should be influenced or modified if a particular signal, or combination of signals is detected. In particular, the rules may relate to targeting certain content to a particular segment of users/consumers, such as a segment of users for which correlation data indicates a probability or confidence score above a certain threshold that one or more of the signals represents a stimulus that has influenced the behaviour of the user.
Clients may be website owners or other content providers and the database 4 may store large numbers of rules associated with various different clients (and/or their associated web sites), and with various different rules for various signals and combinations of data feed signals. It will therefore be understood that the occurrence of a particular signal in a data feed may invoke a number of rules in relation to different clients and their websites.
Examples of data feed signals 2a, 2b, 2c, 2d include weather, news, event data, sports data, financial market data, health related data eg air quality, pollen count or pollution data, product price data, product inventory data, search trends data eg Google Trends, social media data eg Twitter, Facebook, social media trends data, ECRM events eg internal or competitor data, promotions data, transport related data eg traffic reports, blog data eg competitor blog information, technical events eg service outage, calendar events, social media events, sentiment data, content events eg sports, TV, and the like, TV metadata such as subtitles and/or images. One or more of these may represent stimuli that influence or prompt digital engagement of an online user. Such input data may be referred to as “features”.
Figure IB shows four data feed signals 2a, 2b, 2c, 2d but it will be understood that the system of the invention may comprise a single data feed or signal type, or it may comprise a plurality of different data feeds or signal types. They may be received as RSS (rich site summary) or Atom type feeds.
Certain types of data feed signals 2, such as news or weather feeds, or social media feeds, are rich in text content, making it relatively straightforward to identify the occurrence of particular words or phrases within those data feeds. In other types of data feed such as television or radio, the media is less text based, making it more difficult to obtain text-based descriptions of what is going on in the content.
Similarly, numerical data may require non text based processing.
In certain embodiments, data feeds may comprise a client’s own internal data, such as promotions or inventory data, and/or may be provided by a third party data supplier.
The system is configured such that the signal data is processed by an ingestion processor 3 (signal processor) to determine when certain conditions are met and these conditions may be linked by predefined association rules to directly associate the signal value/ condition with particular content and/or user attributes.
Referring to Figure IB, the ingestion processor 3 receives and processes data feed signals 2a, 2b, 2c, 2d and an optimisation engine 5 effects modifications to a client website 6 in response to the data feed input signals and the rules in database 4.
In the example of a signal comprising TV metadata such as subtitles, the ingestion processor 3 comprises a matching engine that queries certain keyword or phrase matches and sends a match alert object to a match processor. The match processor processes the match object to determine which content items or groups of content items are affected by the match object.
The system 105 then determines which actions (if any) are output in relation to the rules in database 4. In certain embodiments, the system may determine a probability value that a user is influenced by a stimulus such as TV and if the value is below a threshold value no further processing action is output.
A web monitor 7 monitors traffic and user interaction with the client’s web site 2, and records this with respect to time. The web monitor may use cookies, Javascript tags or the like and some data may be stored as cookie data.
User data for each unique user is collected and stored in database 8 and is updated as the user navigates the website 6. The updates may happen in real-time, or periodically. User profile information may comprise information about an individual user’s age, gender, demographic, geo-location, preferences, time of day. The information may also comprise historic data relating to the user’s previous interactions with the client website and real time activity data collected and processed at or around the time the user visits the website 6. User profile data may comprise user interest profile data, based on the user’s browsing behaviour during a browsing session.
User profile data may include data originating from content profiles for the pages that the user consumes. Tor example, if a user tends to read pages about music, that will be reflected in that user's profile. The data may also comprise search queries submitted by the user. Additionally, it may include data inferred from requests made by the user. For example, location and device usage may be inferred from the IP address and User-Agent string.
In certain embodiments, the user profile data may include externally supplied data, which may be non-public data that a client has collected. Certain elements of user profile data may be used for different elements of personalisation or optimisation.
User profiles may contain group names that are associated with the individual user, such as the city where the user is located, including the real time location of the user, geographical co-ordinates, the user’s workplace (which may be inferred by the owner of the user’s IP block), the type of device eg mobile telephone, tablet or desktop, the brand of the device, the browser, operating system, search engine and the like. Further information in user profile may include search queries entered by the user on sites within a network or outside the network ie referrer sites, advertisements clicked and browsing history.
As a user interacts with the website 6, and consumes pages, the user profile is updated by factoring in a weighting for each user interaction, for example giving a higher weighting to recently consumed items or those having greater time spent etc. The user profile is updated substantially immediately with each user action, but some sub-sets of user profile data may be updated periodically rather than dynamically, such as the long term user interests, based on total browsing history.
Based on the user profile data and taxonomy, users are grouped into segments or otherwise assigned unique user interest values. In certain embodiments, segmentation and/or interest metric determination is a dynamic process, such that groupings may change in real time or near real time based on real time user interactions with the website and/or with correlation of user information with real time or near real time data feed signals.
Users may be grouped in segments using user profile data such as geolocation, age, demographic, survey preferences etc and alternatively, or in addition, by historic web activity data such as average time spent on website, page views, purchase history, user (customer) journey, responsiveness to special offers, previous search history, social media interactions and preferences, articles of interest etc. Further, a user may be assigned to a segment in real time or near real time while interacting with the website during a user session, based on real time or near real time data and/or based on a correlation between real time user activity data and historic and/or user profile data.
For example, where a user has arrived at a landing page of website 6 using search term “sportswear” or from a particular referral URL or advert comprising the term “sportswear”, where user profile data for that user includes information that the user often reads articles about outdoor running and historic web activity data suggests the user responds well to free delivery offers, the optimisation engine 5 may effect modification of a web page, or a section thereof, to display a free delivery offer on running clothing. The user journey on the site may also indicate what the customer is interested in.
The real time data may also comprise signal data from one or more of the data feeds 2a-2d. If the data feed includes weather data and the signal indicates that the temperature is high in a location associated with the user profile, the optimisation engine 5 may effect modification of the web page or section to prioritise content promoting warm weather running clothing, for example running shorts and vests.
It will be appreciated that the web site monitor 7 may in fact monitor traffic to a large number of client user web sites, and store traffic information in association with an identification of the web site and/or client user.
Figure 2 illustrates in further detail the system and optimisation engine 5 and is described using an example of the system utilising a media stream such as a television data feed. The ingestion processor 3 receives and processes TV signal data 20a, 20b, 20c, 20d. These could be for example, data from any number of TV channels, or multiple signals associated with a particular TV channel or TV programme. The signal or signals may comprise TV metadata.
The optimisation engine 5 comprises a correlation processor 9 which correlates data feed signal data received at the ingestion processor 3 with user data from database 8. Based on a correlation, users may be allocated to segments or subgroups via a segmentation module 10. Alternatively, or in addition, the correlation processor correlates data feed signal attributes with content attributes and based on the correlation, certain content may be prioritised for delivery to a user.
A strategy controller 11 determines which content is most relevant to a particular segment or segments, user or users, and/or to the signal data based on the data available. The client website 6 or webpage is modified accordingly.
Web page modification may include (but is not limited to) personalised recommendations, modification of text, images or other content on a whole or any part of a webpage, re-ordering display of products, presentation of an advertisement or offer.
The web monitor 7 monitors user and/or segment activity and interaction with the website. This provides data on efficacy of the personalised or optimised content, for example, as compared with user/segment engagement with non-personalised content. This is fed back into user data and utilised in the system for future optimisation and personalisation.
By way of further illustration, in one embodiment, TV signal data 20a comprises subtitle text or image data from a TV channel, which indicates a mention of a particular word, group of words or phrase in TV content, such as the name of a particular celebrity being interviewed on a TV show about cars. Within a defined time window of the mention of the celebrity on the TV show, a user visits the client website 6. By correlating user activity data and/or user profile data with TV signal data 20a, the system 1 algorithmically calculates a probability that the user is currently - or has been -watching the TV show. If the probability is above a defined threshold, the optimisation engine 5 effects modification of the website 6 or webpage thereof accordingly. The modification may be in any form desired by the client. For example, the optimisation engine may select and deliver content to a webpage, such that it is modified to display an image related to the TV show or actors in the show. Similarly, a flash sale, chat box or time limited offer related to the TV show could be displayed.
The probability that the user is watching TV (and/or a specific show) is also be useful in determining commercial intent, as it could be inferred that a conversion to eg purchase a product may be more likely when user is watching TV at home, compared to, for example, when the user is “on the go”.
In another illustrative example, the signal data feed 20a, 20b, 20c, 20d may comprise EPG (electronic programme guide) signal data and closed caption (subtitle) data. The combination of EPG data feed and subtitle feed indicates that a TV show scheduled to broadcast a show in the UK between 8pm and 8.30pm about a particular actress travelling to Indonesia has commenced and the narrative has just mentioned her arrival in a five star hotel Bali.
A user arrives at a client website 6 and the website monitor 7 collects user data indicating the particular user has used search terms, is referred from a particular URL, or has clicked on an advert for “five star hotels in Bali” within a few minutes of the closed caption (subtitle) signal mention of related content. Thus the system determines a correlation between the user activity data including time of visit and search terms used or advert clicked, with signal data including time of TV broadcast and EPG content information and/or subtitle information. Although in this example, the search terms / keywords entered by the user include the same or similar words as the subtitle text, in some embodiments the keywords may be different and event contextually unrelated to the signal text- but nevertheless associated with the signal content in some way by the system of the invention based on historical associations and/or machine learning.
Additional user data may also be correlated to provide a more accurate determination of the probability that the individual user is watching the TV programme. For example, user profile data may establish that the user is grouped within the main demographic of viewers of the particular TV show and that the user has an interest in travel. Both factors would increase a probability score that the user is a viewer of the show. Further, stored correlation data may indicate that the user has previously visited the website or other websites during broadcast times of the same TV show. This would significantly increase the probability that the user is viewing the show.
Based on a probability score, the user is assigned to a segment or group of users who are likely to be viewers of the particular programme and/or user profile data is updated accordingly. Alternatively, or in addition, the user may be assigned to a segment of users motivated to search when watching TV. Webpage content is modified accordingly to personalise the user interaction with the website depending on user segmentation. The web monitor may further collect data on the user’s interaction and compare with historic data to test a hypothesis on an individual user or user segment’s engagement with personalised content.
The user is then further assigned to either of a group of users likely to respond positively to similar webpage modifications, images, advertisements etc or a group of users unlikely to respond. The information is fed back into the system and the user data is refined. A machine learning algorithm is utilised to further refine the webpage modifications and selection of content and/or rules. Patterns in individual user behaviour or segment behaviour may be established and used to further refine the system and/or make inferences and content modifications in relation to other users having similar profiles.
In another example, aggregated user data or traffic profile for a particular group or segment may reveal an elevated number of users from a particular group arriving at a website during a particular time window. The user data, including time of visit, demographic, interests profile etc is then correlated with signal data from, for example media streams such as TV or social networks to determine the probability that those users are being motivated to search based on the media content.
For example, user data may indicate that an elevated number of users of the same segment arrive at a website within a specific time period. The system may correlate this data with signal data to determine the most likely event (such as a broadcast media event) motivating that group to visit the site. Those users may be assigned to further segments or sub-groups for website modification based on the probability that those users were motivated by the particular event indicated in signal data (correlating with user data at segment and/or individual level).
An elevated number of users may arrive at a website or page using a similar unusual search string or to a particular area of the site or its content. The system may then correlate this to a signal feed such as TV programme content or a narrative in a
TV or radio broadcast within a defined time window and assign a probability based on the user data that those users are currently watching TV/listening to a particular radio station etc and has been influenced by this stimulus. Website content may be modified accordingly in near real time and on the user/segment’s subsequent visits.
Figure 3 is a flow diagram schematically illustrating one embodiment of the system of the invention. At a step Al, user activity relating to an individual user (or unique identifier associated with an individual user) on a web page or application is detected. A web monitor tracks the user interaction with the web page, web site or application. The activity data is stored and forms part of the user data, as illustrated at step A8. At a step A2, one or more data feed signals are received. Data feed signals may include data relating to weather, news, events, sports data, financial market data, health related data eg air quality, pollen count or pollution data, product price data, product inventory data, search trends data eg Google Trends, social media data eg Twitter, Facebook, social media trends data, ECRM events eg internal or competitor data, promotions data, transport related data eg traffic reports, blog data eg competitor blog information, technical events eg service outage, calendar events, social media events, sentiment data, content events eg sports. A client is able to select which type of data feed signals to receive and set various rules around receipt of signals, such as weighting of importance, combination of one or more signals etc. These may be received as RSS or Atom feeds.
At step A3, correlation information is generated, by comparing and/or associating together the user data with one or more data feed signals. This may involve associating one or more data feed signals with a time period in which user activity is detected and calculating the probability of an association. For example, user data including search terms or phrases may be compared with words or phrases trending in social media or broadcast in other media during a corresponding time period shortly before the search terms were entered by the user. The correlation information may comprise a score or probability determined by the system, that there is an association between a particular data feed signal or set of signals and user activity, which may be indicative of a user interest, offline activity, preference, motivation etc. At step A4, the correlation information is stored in a database.
At a step A5, based on the correlation information, the user is assigned to a segment or sub-group of a segment. Taxonomy and segments may be defined by a client, or in certain embodiments, generated automatically by the system - for example using EPG information to assign users to a segment of viewers (or likely viewers) of particular TV programmes or genres. A segment may relate to one or more of a large number of classifications, for example, based on a user’s interests, preferences, interests, demographic, online behaviour, social groups, transactions, purchase history and the like. The process of assigning a user to a segment or subgroup may occur dynamically in near real time as a user navigates a website or enters search terms having a correlation with signal data. In this way, content on whole or part of a web page (or application) may be dynamically modified as the user interacts with the site, such that the content is personalised in near real time based on the most up to date information about that user.
Based on user segment, the content on part or substantially all of a web page, or an application is modified for display to a user at a step A6. The content displayed to each unique user is based on the segmentation information specific to that user.
At a step A7, the impact of the content personalisation on the individual user’s interaction with the website or application is determined. This may be measured at the level of an individual by comparing with the user’s previous activity/behaviour on a non-personalised site or page, or a site or page personalised to a lesser degree (eg in which the user is assigned to a lower number of segments or broader, more general segments) or having different types of modification to content. For example, modification of content to personalise to an individual user (or user segments) may reveal an increased duration of time spent on a page or site, or an increased propensity to purchase etc.
Assessment of the effectiveness of particular modifications or types of content modifications at step A7 may be measured at segment or sub-group level. The information determined at step A7 is used to provide a feedback loop, which feeds back information on the effectiveness of certain content modifications on user interaction. A machine learning algorithm is utilised to optimise the system and the content displayed to a user or group of users on subsequent visits to a website or associated website.
As illustrated in Figure 4A and 4B, a number of alternative content items are stored in a database Bl, which forms part of a content management system that serves content to one or more websites. Content items are indexed in an index cache in accordance with attributes and relevance to various entities, segments etc.
Depending on rules or criteria set by a client or website owner, the selected content to be displayed to a user of the website may be determined using data feed signals received at or around the time the user visits the website or uses the application.
Content items are ranked or prioritised at step B3 depending on data feed signals received at B2. For example, if a data feed signal comprises TV metadata indicating that a particular celebrity is appearing on TV at a particular time, content related to the TV programme and/or associated with that celebrity is ranked or weighted more highly than other content within a selected associated time period.
The actual content selected at a step B4 to display to a user at step B6, when the user visits a web page, will depend on the combination of the ranking of the content from using signal data and the user segmentation information (Fig 4A) at B5 or user interest profile data (Fig 4B). In certain embodiments, it will depend on the segment(s)/group(s)/sub-group(s) to which the individual user has been assigned. The user is assigned to a segment based on historical user data stored in database B7, supplemented with real time or near real time activity data collected at step B8 when the user visits the site and correlation data indicating a correlation with input signals received from one or more data feeds.
For example, if the input signal data from a data feed indicates a particular 5 sports event is taking place and trending on social media, and the user data indicates that the user has been assigned to segments “sports fan”, “male” and “aged 18-25”, content relating to the particular sports event and targeted to engage men of that age group may be ranked most highly and displayed to the user via the content management system.
In a further embodiment, correlation information may be used to affect the ranking or scoring of content items and/or to dynamically assign the user to one or more further segments or subgroups.
For example, the correlation information may indicate that it is likely the user is watching the sports event on TV. The correlation information may include a correlation based simply on a correlation between the segments (such as age/demographic) to which the user has been assigned with those segments known to be the most likely viewers of the particular TV content.
In certain embodiments, the correlation may involve correlating data relating to the TV content with more detailed user data such as real time user signals indicating type of user device (eg. a higher probability that the user is watching TV may be assigned if the device is mobile or hand held ie the user is “second screening”) and location of user (eg higher probability that user is watching TV if user at usual home address or a residential address). The user data may also include search terms/log (eg higher probability if there is correlation with EPG or subtitle data) and historical data indicating user interests in a particular sport, team or player (eg higher probability if user has previously indicated interest in the sport, team or player in the event on TV).
If the probability that the user is watching the particular sports event on TV is determined to be above a threshold level, certain content may be prioritised and/or the user may be dynamically assigned to a segment eg “motivated by TV content” or “viewer of TV sports” and the content ranking and/or selection may be affected accordingly to select content aimed specifically to engage individuals motivated by TV content or viewers of TV sports.
The probability and/or segmentation may change dynamically with user journey as the user navigates the site, for example by inputting search terms on the site or clicking related content. By clicking related content, the user may be further assigned to a segment “responsive to personalised content”.
Correlation of user data with text based signal data from a media stream such as TV may include a matching function to match words, word stems or phrases entered by the user or text links or images clicked by the user with subtitle text and/or EPG data. This includes comparing timestamp of the user interaction with that of a broadcast or broadcast metadata. The broadcast text or metadata may not necessarily directly match search strings but a correlation may nevertheless be determined by identifying the occurrence of certain words broadcast within a specified time period or close to each other in broadcast sentences.
As illustrated in Figure 4C, delivery' of personalised content to users may be achieved by calculating, at a step 409 a user interest metric associated with a specific userlD or other unique identifier, based on user behavioural activity data generated at 408 as the user navigates and engages with content and web pages of the website or web application. This system is particularly advantageous for anonymous users since correlation information can be utilised to enhance user browsing experience even when the user is an unknown or non-authenticated user, for whom user (profile) data is limited to web behavioural data only.
Where the user or visitor is an “anonymous” or non-authenticated visitor (for whom no authentication data such as prior purchase details or email address is known) the only user data is therefore browsing behaviour data, such as what the user clicks or dwells on, how often they return to the site, whether they start and abandon the payment process etc. This type of information may be collected at step 408 on a user’s first visit to a site and enriched on subsequent visits to the site.
When a certain level of user information is collected, the user can optionally be assigned to a user group segment, which may be used for further filtering of content at a step 405. A user may be assigned to a segment based on a certain number of digital interactions, such as eg basket additions, checkout abandons, repeat product views etc.
At a step 404, the system 105 selects from a set of candidate content items stored in database 401 of a content management system, a subset of candidate content items for delivery to a user. This may be influenced by predetermined rules set by a client. The subset of candidates can be further filtered to maximise optimisation criteria.
Web content items in database 401 are indexed or otherwise categorised according to content attributes and/or client defined taxonomy. Various different metrics between and among content items and web pages can be generated. For example, metadata similarities may be computed by determining keywords associated with the content items, such as style, theme, actor, artist, product type etc.
In certain embodiments, content items are categorised by the system of the invention by constructing a map or matrix of web pages and/or specific content items based on similarity of content attributes. The system may invoke a content crawler to gather and assimilate content from a website as a pre-processing step. A mapping module (not shown) extracts attributes, such as text based descriptors, from the web pages and associates similar web pages and content items based on computing a similarity metric between the extracted attributes. In certain embodiments, crawled pages are parsed and the text extracted is semantically analysed to produce a content profile using natural language processing. A parsing heuristic is used to strip out unnecessary data and the semantic analysis associates content categories, concepts, entities and keywords from the structured and unstructured data.
Alternatively, or in addition to segmenting users based on demographic and/or historical data, a user interest profile is updated during the user session (eg at each user interaction such as each click or new page visited) as the user engages with website content. At 405, based on activity data, a user interest metric is calculated by assigning interest values (reflecting levels of interest in certain content attributes) based on the attributes of the content the user engages with on the site and optionally also the similarity of those content attributes to other content attributes. The interest metric calculated at 409 represents the short term interests of the user. For example, a user clicking on content relating to high heeled sandals might be algorithmically assigned interest values of 0.9 for high heeled sandals, 0.7 for summer style and 0.6 for flat sandals. Interest values change as the user navigates the site and views other items. There may be a decay factor such that attributes relating to more recently viewed content is assigned a higher value, to more accurately reflect a user’s immediate interests, at the present moment, as they are engaging with online content.
At step 410, the calculated individual user interest metric is compared with content attributes and the content having the highest relevance is selected at 404 in dependence on certain rules stored in database 407.
Content relevance is determined (ranked or assigned a relevance score) at 403 based at least partially on similarity or association of its attributes with the user interest metric. Relevance or ranking of content is automatically adjusted with the changing user interest metric over time.
The relevance score or ranking of content and content selection logic applied at step 403 is also affected by data feed signals received at 402. For example, a signal associated with one or more of the content attributes, which is received substantially during or shortly prior to the user session may affect content ranking. For example, a signal comprising TV broadcast metadata may indicate that a particular brand of shoes “Brand X” has been mentioned in a television broadcast during the user session. The user interest metric at 409 indicates that the user is interested in sandals and the system 105 may rank Brand X sandal products at 403 with a higher weighting than sandal products of other brands, such that one or more Brand X sandal products is displayed to the user at step 406.
Optionally, at step 403 the system calculates a probability that the user is influenced by the broadcast or other data feed signal and thus only factor the signal input into the content ranking for the user if the probability is above a certain threshold.
Delivery of the content can be further filtered by user segment at step 405.
For example, Brand X high fashion sandals may be prioritised for delivery to users belonging to a “Fashionista” segment, where content delivered to users belonging to a “Classic” segment may comprise Brand X products in a more classic style. Similarly, user segment “at least 2 basket additions” may receive different content to “repeat viewers of the same product” based on different assumed levels of intent to purchase.
Where “Fashionista” and “Classic” may be considered user preference type segments, it will be appreciated that users may also be assigned to behaviour segments such as “Bargain Hunter”, “Cart Abandoner” or by most browsed category, time of last visit etc and content filtered accordingly. Similarly, based on browsing behaviour, a user may be removed from a segment or assigned to a different segment.
In operation, the system 105 retrieves from a content dataset at 401 a number of content items having the highest correlation metrics with the user interest during a time point in the user session. The selected set of candidate content items are ranked and one or more of this subset of content items is delivered to the user at step 406. Content item(s) may be delivered to predetermined slots in a web page or an entirely different version of a web page may be displayed to the user. Placing of the one or more content item(s) in particular slot positions in a web page or application may also be determined by the correlation data and/or filters at 405. In certain embodiments, the system selects and groups a set of content items to be output to a user device together. For example, if signal data indicates that the singer Rhianna is performing on TV, and the user interest profile suggests the user is interested in jackets, a set of content items including an editorial piece “Rhianna - Steal Her Style” may be grouped together with product recommendations for bomber jackets and “fashionista style” leather jackets (which content ontology has associated with the singer Rhianna).
At steps 411 and 412, if the system determines that one or more attributes of signal data received from the signal data feed at step 402 corresponds to, or is associated with one or more attributes of the user data and/or content attributes (and optionally the system determines at 403 a likelihood above a threshold value that the user is influenced by a media signal broadcast) the subset of candidate content items undergo further processing to assign relevance to items of the candidate subset according to a correlation metric with the signal metadata. At 403, the system calculates an overall content relevance score based on a combination of highest correlation metric with user interest and highest correlation metric with signal metadata (and which metrics may be appropriately weighted according to rules in database 407), in order to select which content to deliver to the user at 406.
It will be appreciated that in some implementations, the system may retrieve content items from a content dataset according to a correlation metric with signal metadata if the system determines that one or more attributes of signal data received from the signal data feed corresponds to or is associated with one or more attributes of the user data and/or content attributes (and optionally the system determines a likelihood above a threshold value that the user is influenced by a media signal broadcast) to generate the subset of candidate content items, which undergo further processing to rank items of the candidate subset according to user interest.
In certain embodiments, at step 403 the system algorithmically combines user interest correlation metrics and signal metadata correlation metrics to determine and execute content selection.
Since the system receives user data and signal metadata substantially in real time during a user session, the selection metric will be recalculated and updated a plurality of times during an interactive browsing session (and during a broadcast, such as a TV broadcast). A new calculation may be performed at each user engagement, such as a click, and with each receipt of new relevant signal metadata. It will be understood that user engagement may not be limited to clicks and may include other user activities. For example, user activity data may include behaviours such as scrolling, typing activities, scroll time, dwell time, links clicked, position clicked or any other interaction with content.
Metric values reflect and quantify a level of association between one or more attributes of the content items, the user interest, and/or the signal data received substantially within a defined time period of a user session. It will be appreciated that generally the groupings and content items attributes will remain the same (or may be updated periodically), but that the user interest and signal data are continuously changing throughout the user session, such that the system re-calculates the metric values a plurality of times during a user browsing session and in some embodiments substantially continuously.
As described previously in relation to Figure IB, the probability that the user is influenced by a stimulus of digital engagement (such as a media broadcast) represented by the signal data is calculated by the system by correlating signal data with user data. A probability score or confidence value may be algorithmically calculated and assigned by the correlation processor and compared with a threshold value to determine any associated relevance weightings to be applied, which may be determined by rules at 407.
The probability score or confidence value representative of the likelihood the individual user is influence by the signal may be calculated in several ways. It may comprise processing of data substantially in real time from the web monitor indicating a spike or other anomaly in user visits to the website or application, or a spike in web traffic of users belonging to a particular segment and/or exhibiting similar user browsing behaviour and/or unusual activity (eg unusual search term entered, correlates with subtitle data the time of the broadcast/user session (or shortly before).
A feedback loop (as discussed in relation to the Figures) at step 413 provides a mechanism for optimisation based on user interaction data and or A/B testing from the web monitor. Such data may be useful for optimising rules, weightings, signal feeds, user interest metric, threshold values, segmentation, content presentation, layouts, colour schemes etc. This optimisation may be in relation to an individual user or groups of users/ segments.
Figure 5 illustrates a simple embodiment of the invention in which a portion Cl 1 of a given web page Cl, includes content X, which is content selected to be displayed to an unknown user or first time visitor to the website. When a user visits the website, that user is associated with a unique identifier eg by using a cookie, and certain information is collected. Collection of this information and categorisation of the user into one or more segments may occur substantially immediately or shortly after the user arrives on the landing page. As the user is assigned to one or more segments or sub-groups, content may be modified accordingly on one or more sections of the page the user is currently navigating, and/or when the user navigates to another page or section.
On a subsequent visit to the site user is then a “known” user. The system has stored user data about the user and has categorised the user into certain segments. Thus, when the user subsequently visits the same URL for Cl, web page version C2 is selected displayed in place of Cl. Web page C2 includes a portion C12, which displays content adapted for display to users assigned to a particular segment or segments.
As a user interacts with the web page Cl, C2 or C3 and the content of those web pages, the user journey is tracked and the user interests may be determined from this such that the user may be assigned to one or more segments based on that interest.
Similarly, known users who regularly visit the site may be shown content Z, specifically adapted for “fanatic” or regular visitors, who for example, may not need to see introductory type information such as an explanation of how to use products or purchase items etc. It will be appreciated that the content X, Y, Z may in fact include numerous alternatives. In one embodiments, content to serve to a portion of the site
C13 may be dynamically generated in response to correlation data to reflect the user’s likely activity at the time of visit. For example, if the system determines that the user is likely to be watching a particular TV programme, an image or text may be generated directly from and using EPG data, such as image data, to display an image or text relevant to the programme.
In addition to modification of content, the system can remove content in response to certain inputs. For example, content may be removed to minimise disctractions where a user is near the point of purchase.
The system of the invention can process either a single input signal or a combination of input signals, which may be substantially simultaneous. Where a combination of signals is used, the processing may comprise evaluation of the signals these with boolean logic on each of the inputs or by using an aggregate of the signals.
Aggregation of signals is in real time can be achieved using a number of different methods. In one embodiment, combination of signals is undertaken using weightings and normalisation.
As illustrated in Figure 6, a processor 601 is configured to process and combine disparate data from multiple inputs 602 of different kinds of data. For example, inputs may comprise disparate or heterogeneous data (eg binary data, cumulative data etc). Cumulative data such as, for example, user propensity to purchase may also have a feedback loop (not shown), such that the value or score drops immediately after purchase. One or more of the inputs 602 may comprise user data. Other inputs 602 may include for example weather, news, event data, sports data, financial market data, health related data, product price data, search trends data, social media data eg, content events eg sports, TV, and the like, TV metadata such as EPG data, subtitles and/or images.
The processor 601 comprises a signal mixer 603, which combines signal data with various weighting to convert the multiple input signals 602 into a single output signal, which may for example comprise normalised data, such that output to an event processor 604 comprises an absolute number. This processing of signal data and conversion to output signal is a substantially continuous process. The event processor
604 receives the output signal from the signal mixer 603 and registers events.
In certain embodiments, the processor 601 comprises a correlation processor to determine a correlation between input signal data (which may be combined or mixed data) and user data.
The event processor 604 communicates events to a configuration adapter 605, having a set of configuration records stored in a database 606. The configuration adapter 605 responds to events from the event processor 604, such that when a particular event (and signal) occurs the configuration processor 607 determines content configuration in relation to one or more of slot (position on page), configuration (which content to include) and selection criteria (eg signal value) and updates a set of records stored in database 608. This is propagated on to a content server 609, which effects delivery of the content to consumers 610, 610’ according to the active configuration.
Content can be delivered to the consumer (user) 610, 610’ in different ways, as illustrated. For example, a user 610 may send a request to web server 611 and the web server returns it with a request to the content server 609. The content server then serves relevant content based on the active configuration (updated by the configuration processor 607). Alternatively, a web server 612 whilst fulfilling the original request can itself request content from the content server 609 on behalf of a user 610’.
Dynamic selection of content at runtime can be achieved using predetermined content item criteria (which may include predetermined content attributes). During normal operation a web page could use for example a configuration that results in 5 content items being displayed to a user (which, for example may be top selling products). In one illustrative example executed code may therefore be:
query( percentile(monthly-sale-count) > 20) ), items( 5 ) where
- monthly-sale-count is an attribute for each product or item
- percentile is a function that returns a value
- query restricts available items based on the expression nested in its parentheses.
On processing the signal metadata, predefined criteria may be met to influence the output to include a given product in the results mix( query( percentile(monthly-sale-count) > 20) ), items( 4 ); item(1234567890);
) where
- mix is a function to that takes one or more statements and mixes the results
- item returns a single item
As such the input signal may substantially directly affect output of content to a user. Alternatively, instead of content items the output may comprise a change in a downstream query to include a different query:
query( percentile(monthly-sale-count) > 20 AND category == ‘dogs’), items(
5) where
- category is an attribute for each product or item
Optionally, a signal value can be passed through to the template mix( query( percentile(monthly-sale-count) > 20) ), items( 5 - %D_SIG * 5 ); query( percentile(monthly-sale-count) > 20 AND category == ‘dogs’), items( %D_SIG * 5 );
) where
- %D_SIG is a token representing the signal which has been normalised to a range between 0 and 1
- multiplication within the context of the items function results in an integer (instead of a real number)
The system may effect change of content in response to one or more input signals based on certain criteria or rules accessed by the configuration processor.
Alternatively or in addition, response to one or more input signals may result in output corresponding to an action such as a change in a downstream query, which then affects dynamic content selection.
Where this document refers to individual users, user data or personal information, it will be appreciated that such data may be anonymised such that personally identifiable information about the user cannot be determined. Further, users may be given an opportunity to opt out of collection of personal information.
Where this document refers to online, web, website and web pages, it will be understood that this is intended to content presented via mobile applications (apps), which may obtain, filter and display information obtained from the internet.
Embodiments of the invention and techniques described in this specification can be implemented in digital electronic circuitry, computer software, firmware or hardware, including the structures equivalent to those disclosed in this specification, or in combination thereof.
The invention can be implemented as one or more computer program products, ie one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus. The computer program product may written in any programming language. The method of the invention may be performed by one or more computer processors executing a program tangibly embodied in a machine readable storage device for execution by a computer processor, such a microprocessor.
A computing device suitable for implementation of the invention may comprise any combination of any number of: a processor, a memory or other storage medium readable and/or writable by the processor -including, for example, volatile and non-volatile memory and/or storage elements which may have a distributed architecture), an input device, and an output device and, or other peripherals that may be communicatively coupled via a local interface, such as one or more buses, wired or unwired connections.
The processor may be any custom or commercially available processor that can process instructions for execution within the computing device. In certain implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory including but not limited to any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM). Multiple computing devices may be connected, with each device providing portions of the necessary operations.
It will be appreciated that simplified exemplary embodiments of the invention are described and illustrated in the specification to aid understanding, where in fact, in application the invention may comprise a highly complex system for managing many hundreds of thousands of content items, websites and applications for numerous different client users over one or more networks and processing of a large amount of disparate input signal data.

Claims (15)

  1. CLAIMS:
    1. Method of influencing web, social media or application content comprising: receiving and processing signal data from a data feed, said signal data relating to at
    5 least one stimulus of digital engagement; generating and storing user data;
    identifying and storing correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user; and
    10 modifying web, social media or application content in response to the correlation.
  2. 2. A method according to claim 1, wherein the data feed comprises a media source selected from one or more of; a television channel, an on-demand video stream, electronic programme guide data, a radio channel, a social media site, a news feed, a
    15 weather feed.
  3. 3. A method according to claim 1 or 2, wherein the signal data comprises television metadata.
    20
  4. 4. A method according to any preceding claim, comprising determining for a given content request by the user a unique identifier associated with the user.
  5. 5. A method according to any preceding claim, wherein the user data comprises web activity data.
  6. 6. A method according to any preceding claim, wherein the user data comprises user profile data.
  7. 7. A method according to any preceding claim, wherein the user data comprises user 30 signal data.
  8. 8. A method according to any preceding claim, wherein the digital engagement comprises an online interaction selected from search, web page navigation, user journey, online content consumption, online purchase or download.
  9. 9. A method according to any preceding claim, wherein the correlation data indicates a likelihood that the user is or has been consuming television or radio content at the time of the digital engagement.
  10. 10. A method according to claim 9, comprising identifying the television or radio content stimulus.
  11. 11. A method according to any preceding claim, comprising assigning the user to one or more user segments based on the correlation.
  12. 12. A method according to any preceding claim, comprising modifying the web, social media or application content by selecting and serving content to the user according to the one or more user segments.
  13. 13. A method according to any preceding claim, comprising evaluating candidate content for presenting to the user based on relevance to the stimulus and/or the user data.
  14. 14. Apparatus for influencing web, social media or application content comprising: a signal processor for receiving and processing signal data from a data feed, said signal data relating to at least one stimulus of digital engagement;
    a web monitor module for generating and storing user data;
    a correlation processor for identifying and storing correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user; and a content management module for modifying web, social media or application content in response to the correlation.
  15. 15. A system for influencing web, social media or application content comprising:
    a signal processor configured to receive and process signal data from a data feed, said signal data relating to at least one stimulus of digital engagement; a web monitor module configured to generate and store user data;
    a correlation processor that identifies and stores correlation data comprising a correlation between the signal data and the user data indicative of the influence of the at least one stimulus of digital engagement on the digital engagement of the user at a particular time point; and a content management module configured to modify web, social media or application content; wherein the system modifies web, social media or application content in response to the correlation.
GB1714004.7A 2016-09-01 2017-08-31 Method and system for providing content Withdrawn GB2556970A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GBGB1614864.5A GB201614864D0 (en) 2016-09-01 2016-09-01 Method and system for providing content

Publications (2)

Publication Number Publication Date
GB201714004D0 GB201714004D0 (en) 2017-10-18
GB2556970A true GB2556970A (en) 2018-06-13

Family

ID=57139846

Family Applications (2)

Application Number Title Priority Date Filing Date
GBGB1614864.5A Ceased GB201614864D0 (en) 2016-09-01 2016-09-01 Method and system for providing content
GB1714004.7A Withdrawn GB2556970A (en) 2016-09-01 2017-08-31 Method and system for providing content

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GBGB1614864.5A Ceased GB201614864D0 (en) 2016-09-01 2016-09-01 Method and system for providing content

Country Status (2)

Country Link
GB (2) GB201614864D0 (en)
WO (1) WO2018042179A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020099948A1 (en) * 2018-11-13 2020-05-22 3M Innovative Properties Company Deep causal learning for e-commerce content generation and optimization

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200241B2 (en) * 2017-11-22 2021-12-14 International Business Machines Corporation Search query enhancement with context analysis
US11706167B2 (en) * 2020-06-29 2023-07-18 Snap Inc. Generating and accessing video content for products

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262449A1 (en) * 2009-04-09 2010-10-14 Access Mobility, Inc. Context based mobile marketing
US9277275B1 (en) * 2011-05-03 2016-03-01 Google Inc. System and method for associating individual household members with television programs viewed
US20170318336A1 (en) * 2014-11-07 2017-11-02 Mporium Group Plc Influencing content or access to content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020099948A1 (en) * 2018-11-13 2020-05-22 3M Innovative Properties Company Deep causal learning for e-commerce content generation and optimization

Also Published As

Publication number Publication date
WO2018042179A1 (en) 2018-03-08
GB201614864D0 (en) 2016-10-19
GB201714004D0 (en) 2017-10-18

Similar Documents

Publication Publication Date Title
US20220020056A1 (en) Systems and methods for targeted advertising
US20210209623A1 (en) Method and system for creating an audience list based on user behavior data
TWI636416B (en) Method and system for multi-phase ranking for content personalization
US9165060B2 (en) Content creation and management system
US9706008B2 (en) Method and system for efficient matching of user profiles with audience segments
US9703783B2 (en) Customized news stream utilizing dwelltime-based machine learning
JP5646724B2 (en) Category similarity
US9020839B1 (en) Method, medium, and system for customizing content based on social network information
US7813959B2 (en) Altering keyword-based requests for content
US8442849B2 (en) Emotional mapping
TWI519974B (en) Method for optimizing content on a topic page
US20140280890A1 (en) Method and system for measuring user engagement using scroll dwell time
US11449553B2 (en) Systems and methods for generating real-time recommendations
US20070150345A1 (en) Keyword value maximization for advertisement systems with multiple advertisement sources
US10025861B2 (en) Prioritizing items from different categories in a news stream
US20140280550A1 (en) Method and system for measuring user engagement from stream depth
US20140280554A1 (en) Method and system for dynamic discovery and adaptive crawling of content from the internet
JP2010113542A (en) Information provision system, information processing apparatus and program for the information processing apparatus
US20210004844A1 (en) Building topic-oriented audiences
US10650074B1 (en) Systems and methods for identifying and managing topical content for websites
GB2556970A (en) Method and system for providing content
US20140101064A1 (en) Systems and Methods for Automated Reprogramming of Displayed Content
Zhao et al. Personalized Dynamic Counter Ad-Blocking Using Deep Learning
AU2016204641A1 (en) Infer a users interests and intentions by analyzing their interaction and behavior with content accessed in the past, present &amp; future

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)