EP4298582A1 - Performance and quality improvements for a market research platform - Google Patents
Performance and quality improvements for a market research platformInfo
- Publication number
- EP4298582A1 EP4298582A1 EP22711420.4A EP22711420A EP4298582A1 EP 4298582 A1 EP4298582 A1 EP 4298582A1 EP 22711420 A EP22711420 A EP 22711420A EP 4298582 A1 EP4298582 A1 EP 4298582A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- survey
- market research
- respondents
- quality
- usage data
- 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.)
- Pending
Links
- 238000011160 research Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims description 93
- 238000010801 machine learning Methods 0.000 claims description 91
- 238000012549 training Methods 0.000 claims description 54
- 230000003542 behavioural effect Effects 0.000 claims description 15
- 230000006399 behavior Effects 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 description 26
- 230000009471 action Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 20
- 230000001960 triggered effect Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000037452 priming Effects 0.000 description 1
- 238000011012 sanitization Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0203—Market surveys; Market polls
Definitions
- “low-quality” responses are responses that have little or no research value.
- Low-quality responses may include spam and/or other kinds of responses that are rushed, incomplete, not responsive to the marketing question being asked, clearly biased, and/or otherwise undermine the quality (and thus the value) of the research being done.
- “Spam” may include, for example: gibberish; submissions by autonomous systems (a.k.a. “bots”); duplicate responses; and/or other kinds of data that are submitted for reasons other than those intended for the market research platform.
- spammers may use bots to submit a large volume of responses, solely for the purpose of “earning” rewards provided by the market research platform, such as points, gift cards, etc.
- Low-quality responses are a problem not only because of their limited research value, but also because of their impact on system resources and performance.
- Low-quality responses consume hardware resources (e.g., processing cycles, storage, network bandwidth, etc.), energy associated with operating hardware resources, etc.
- the additional resources needed to accommodate low-quality responses can also incur financial costs (e.g., hardware costs and/or hosting costs imposed by cloud infrastructure services), energy costs, etc.
- the present disclosure relates generally to performance and quality in market research platforms.
- one or more non-transitory computer-readable media store instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template-specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
- Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
- Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
- the operations may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
- the first template- specific quality filter may be a rule-based filter, and the operations may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
- the first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
- the first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b) behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
- a system includes at least one device including a hardware processor.
- the system is configured to perform operations including: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
- Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
- Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
- the operations may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
- the first template- specific quality filter may be a rule-based filter, and the operations may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
- the first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
- the first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b) behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
- a method includes: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
- Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
- Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
- the method may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
- the first template- specific quality filter may be a rule-based filter, and the method may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
- the first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
- the first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b) behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
- FIG. 1 is a block diagram of an example of a system according to an embodiment
- FIGS. 2A-2K show a table of examples of tracked data points according to one or more embodiments
- FIG. 3 shows a table of examples of logic variables that may be included in a codified quality filter according to an embodiment
- FIG. 4 shows a table of examples of codified quality filters according to an embodiment
- FIG. 5 is a flow diagram of an example of operations for filtering market research responses according to an embodiment.
- FIG. 6 is a block diagram of an example of a computer system according to an embodiment.
- one or more embodiments include systems and methods to improve the performance of a market research platform. Techniques described herein may reduce system load incurred by spammers and/or other kinds of low-quality respondents, thus avoiding potential costs associated with those resources and/or freeing up additional resources for higher-quality respondents. Reducing wasteful resource utilization may allow the system to perform faster, for example, by reducing strain on the database, application programming interface (API) layer, etc. Alternatively or additionally, one or more embodiments include systems and methods to improve the quality of responses obtained by a market research platform. Specifically, techniques described herein may help identify and deter spammers and/or other kinds of low- quality responses. Deterring spammers and/or other kinds of low-quality responses improves the overall quality of responses that are retained. In addition, deterring spammers and/or other kinds of low-quality responses may reduce employee costs associated with “sanitizing” data sets to remove spam and other kinds of low-quality responses.
- Techniques described herein may reduce system load incurred by spammers and/or other kinds of low-quality
- a market research survey platform as described herein is a multi tenant platform having multiple customers in the same industry and/or across industries. Data from multiple tenants may be aggregated to obtain a rich data set that can be used to generate rules and/or machine learning for identifying low-quality responses.
- a multi-tenant platform allows for a larger set of data (e.g., user demographics, survey responses, etc.) than what would typically be available in a survey system that (a) services only a single tenant and/or (b) does not aggregate data across tenants. This rich data set may allow the platform to generate more effective quality filters than what would be possible based on a smaller and/or single-tenant data set.
- a multi-tenant market research survey platform may further include market research survey templates that multiple tenants can use to construct market research surveys.
- Survey templates provide relative heterogeneity across surveys based on the same template, even across multiple tenants, thus allowing the platform to generate template- specific quality filters. For example, a certain response may be considered low quality in a survey based on one template but high quality in a survey based on a different template.
- Template- specific quality filtering in a multi-tenant platform may thus allow for highly effective, domain- specific quality filtering.
- Techniques described herein may be used to identify many different kinds of low-quality responses. For example, techniques described herein may be used to identify one or more of:
- biases may be detectable by analysis, e.g., in metadata;
- the system 100 includes a market research survey platform 108, or simply “platform” for ease of discussion, and a user device 102.
- the user device 102 includes a market research survey application 104, or simply “application” for ease of discussion, configured to communicate with the platform 108 over a network.
- the application 104 presents a graphical user interface (GUI) 106 on the user device 102.
- GUI graphical user interface
- the GUI 106 includes user interface elements for participating in one or more market research surveys.
- the application 104 is configured to obtain data for populating the GUI 106 from the platform 108, and to communicate results of survey questions to the platform 108.
- the platform 108 is accessible to a retained set of users who are active over a period of time and answer questions regularly.
- operations are described herein in reference to a single user; these operations may be repeated any number of times for any number of users.
- a larger number of users may provide a richer data set for training the platform 108 to distinguish between low-quality and high-quality responses.
- the platform 108 and application 104 are configured to generate and present a market research survey interface in the GUI 106.
- Operations may be allocated between the platform 108 and application 104 in various ways.
- the application 104 may be a web application accessible via a web browser, and the platform 108 may be configured to perform back-end operations to generate content (e.g., survey questions, animations, rewards, and/or other kinds of content) and provide the content in hypertext markup language (HTML) and/or another web protocol to the GUI 106.
- the user device 102 may be a device such as smartphone, tablet, laptop, or desktop computer and the application 104 may be an installable application or “app.”
- the platform 108 may be configured to communicate with two or more kinds of application 104.
- the platform 108 may include both (a) a web server providing a web-based version of the GUI 106 and (b) an application programming interface (API) accessible by an installable app that includes the GUI 106, thus providing a range of modalities for accessing a market research survey.
- API application programming interface
- the GUI 106 renders user interface elements and receives input via user interface elements.
- user interface elements include checkboxes, radio buttons, dropdown lists, list boxes, buttons, toggles, text fields, date and time selectors, command lines, sliders, pages, and forms.
- the GUI 106 includes a grid of visual tiles that represent questions in a market research survey.
- the user interface elements allow a user to interact with the market research survey.
- a spammer or other kind of low-quality respondent may use automated software (for example, a “bot”) to interact with the user interface elements, rather than interacting with them manually as intended.
- GUI 106 Different components of the GUI 106 may be specified in different languages.
- the behavior of user interface elements may be specified in a dynamic programming language, such as JavaScript.
- the content of user interface elements may be specified in a markup language, such as hypertext markup language (HTML), Extensible Markup Language (XML), or XML User Interface Language (XUL).
- the layout of user interface elements may be specified in a style sheet language, such as Cascading Style Sheets (CSS).
- CSS Cascading Style Sheets
- aspects of a GUI 106 may be specified in one or more other languages, such as Java, Python,
- a data repository 110 may be configured to store survey data 112.
- Survey data 112 includes data associated with one or more surveys, such as: survey questions; answer options; game rewards associated with survey questions; and/or other survey-related data.
- a data repository 110 may be configured to store user data 114.
- User data 114 includes data associated with one or more users, such as: user profile information; login credentials; survey answers (which may be anonymized and/or aggregated among users); game rewards earned by each user; and/or other user-related data.
- User data 114 may include tracked data points used for response filtering, as discussed in further detail below.
- a data repository 110 may be configured to store one or more market survey templates 116.
- a market survey template 116 includes predefined survey questions (or question formats) tied to specific business intents.
- a market survey template 116 for a “concept test,” used to evaluate a series of different design or messaging concepts against each other, may include a series of questions that tend to be fairly consistent among clients in that area; two or more clients (i.e., tenants of the platform, for whom market research surveys are conducted) may use the same market survey template 116 while editing (via one or more system interfaces) key elements specific to a particular product, such as the product’s name and/or related imagery.
- the repeated use of such market survey templates 116 may allow the platform 108 to generate a set of benchmarks for responses.
- the platform 108 may leverage these benchmarks to configure one or more quality filters 118 and/or train a machine learning model 120, thus creating a powerful data ecosystem that, as it grows and evolves, becomes increasingly capable of identifying and preventing spammers and/or other kinds of low-quality responses.
- the platform 108 may be configured to perform operations described herein for filtering market survey responses. To filter market survey responses, the platform 108 may be configured to apply one or more quality filters 118.
- a quality filter 118 refers to a set of hardware and/or software configured to determine the quality of one or more market survey responses.
- a quality filter 118 may be configured to sort responses into two or more categories (e.g., low quality, acceptable quality, or high quality).
- a quality filter 118 may be configured to assign numerical values to responses, with one of a numerical scale representing the lowest quality and the other end of the numerical scale representing the highest quality. Many different kinds of metrics may be used to categorize and/or assign values to responses.
- a quality filter 118 may be based on a filter template 122.
- a filter template 122 refers to a predefined format for a quality filter 118, based on one or more response attributes tracked by the platform 108.
- a tenant of the platform 108 may select or otherwise assign values to variables in a filter template 122, and the platform 108 may generate a quality filter 118 based on the tenant’s input. For example, a tenant may select a threshold quality value (e.g., 60 percent) below which a response is considered low quality.
- a data repository 110 is any type of storage unit and/or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data.
- a data repository 110 may include multiple different storage units and/or devices. The multiple different storage units and/or devices may or may not be of the same type or located at the same physical site.
- a data repository 110 may be implemented or may execute on the same computing system as one or more other components of the system 100.
- a data repository 110 may be implemented or executed on a computing system separate from one or more other components of the system 100.
- a data repository 110 may be logically integrated with one or more other components of the system 100.
- a data repository 110 may be communicatively coupled to one or more other components of the system 100 via a direct connection or via a network.
- a data repository 110 is illustrated as storing various kinds of information. Some or all of this information may be implemented and/or distributed across any of the components of the system 100. However, this information is illustrated within the data repository 110 for purposes of clarity and explanation.
- one or more components of the system 100 are implemented on one or more digital devices.
- the term “digital device” generally refers to any hardware device that includes a processor.
- a digital device may refer to a physical device executing an application or a virtual machine. Examples of digital devices include a computer, a tablet, a laptop, a desktop, a netbook, a server, a web server, a network policy server, a proxy server, a generic machine, a function- specific hardware device, a hardware router, a hardware switch, a hardware firewall, a hardware network address translator (NAT), a hardware load balancer, a mainframe, a television, a content receiver, a set-top box, a printer, a mobile handset, a smartphone, a personal digital assistant (“PDA”), a wireless receiver and/or transmitter, a base station, a communication management device, a router, a switch, a controller, an access point, and/or a client device.
- PDA personal digital assistant
- a market research survey platform may store user data that includes tracked data points used for response filtering.
- tracked data points include data that the system tracks and applies to codified rules and/or to a machine learning model for response filtering.
- Tracked data points may include digital fingerprint attributes and/or or behavioral metadata that could potentially be indicators of low response quality or spam.
- Digital fingerprint attributes refer to data that uniquely identifies a user and/or the user’s device. Digital fingerprint attributes may include, for example, one or more of:
- Behavioral metadata refers to metadata that describes a user’s behavior while using the platform generally and/or specific features thereof.
- One or more items of behavioral metadata may be associated with general platform behavior.
- Such metadata may include, for example, one or more of:
- timestamp corresponding to completion of initial onboarding e.g., completion of initial questions and training, which may culminate in a user verification process
- One or more items of behavioral metadata may be associated with specific surveys and/or questions.
- Such metadata may include, for example, one or more of:
- time to complete a particular action e.g., provide input responsive to a system prompt
- an indication of read time e.g., where a bot may respond more quickly that the typical amount of time needed to read a prompt
- timestamp upon close e.g., for a survey or question that is opened, then closed before completion
- timestamp upon skip e.g., if a user/respondent reads a question, decides they do not want to respond, and closes it, so that the question is dismissed and not served up to the user again
- mouse position and movement e.g., to identify patterns of movement, or lack thereof, corresponding to hot behavior.
- One or more items of behavioral metadata may be associated with input fields into which a user is able to provide open-ended input.
- Such metadata may include, for example, one or more of:
- the system presents questions and/or answers in a scale or grid
- some behavioral metadata may be associated with the user’s interactions with the scale or grid.
- Such metadata may include, for example, one or more of:
- • position of an answer choice in the scale or grid e.g., first, second, last, first row, second row, last row, first column, second column, last column, etc.
- position of an answer choice in the scale or grid e.g., first, second, last, first row, second row, last row, first column, second column, last column, etc.
- the system may be configured to generate benchmarking data, based on aggregated behavioral metadata, and use the benchmarking data to determine a particular user’s general positivity /negativity tendencies .
- One or more items of behavioral metadata may be associated with user interactions with multiple-choice questions.
- Such metadata may include, for example, one or more of:
- One or more items of behavioral metadata may be associated with particular survey templates.
- a given survey template may be used, for example, by multiple clients of the platform.
- Behavioral metadata may be aggregated at a client level and/or across multiple clients using the same template.
- Such metadata may include, for example, one or more of:
- timestamp upon completing the survey and/or • time to complete a particular action (e.g., provide input responsive to a system prompt), which may provide an indication of read time (e.g., where a hot may respond more quickly than the typical amount of time needed to read a prompt).
- FIGS. 2A-2K show a table of examples of tracked data points according to one or more embodiments.
- FIGS. 2A-2K includes examples of: event names (i.e., the names of behaviors being tracked within the platform); event definitions (i.e., descriptions of behaviors being tracked); property names (i.e., names of additional information related to the behavior); property definitions (i.e., descriptions of the related information); and data types (i.e., the types of information being collected, such as numeric, date, etc.).
- event names i.e., the names of behaviors being tracked within the platform
- event definitions i.e., descriptions of behaviors being tracked
- property names i.e., names of additional information related to the behavior
- property definitions i.e., descriptions of the related information
- data types i.e., the types of information being collected, such as numeric, date, etc.
- triggered actions are actions that the system executes upon the satisfaction of one or more rule-based conditions and/or when the output of a machine learning model satisfies one or more triggering criteria (e.g., outputting a value that is above or below a predetermined threshold value).
- the system may execute a triggered action upon determining that a user is taking an action or set of actions that is suspicious or outside of the normal expectations.
- Such a condition may indicate that a user is a bad actor, or at least may be suspected of being a bad actor.
- One or more triggered actions may include “quarantining” a user on the platform, for a period of time.
- a quarantined user may be prevented from performing, for example, one or more of the following actions:
- one or more triggered actions may include imposing an artificial delay between questions, preventing the user from submitting answers quickly (e.g., if the user is suspected to a be a bot submitting answers faster than a typical human is capable of) until the system is better able to determine whether the user is a bad actor.
- One or more triggered actions may include banning a user (including, optionally, the user’s IP address or other device- or location-specific identifier) from the platform indefinitely.
- One or more triggered actions may include presenting an educational or warning message to a user, relating to the behavior flagged by the system.
- the system may present the message, for example, in one or more of the following formats:
- in-app e.g., via a pop-up, modular dialog, slide-in message, or another form of in-app notification
- a message to a user may be formulated to help the user provide higher-quality responses.
- the message may be formulated to train a user to not be so uniformly positive, to answer slower, etc.
- One or more triggered actions may include presenting a user with one or more “trap” questions.
- a trap question may be formulated to help determine whether the user is paying attention, properly reading the question text, etc.
- Presenting a trap question may include, for example, one or more of the following:
- one or more triggered actions may include generating a report (e.g., in a system log) and/or alerting a human overseer of the platform (e.g., via email, text message, app notification, etc.) to investigate the suspicious user activity.
- a report e.g., in a system log
- alerting a human overseer of the platform e.g., via email, text message, app notification, etc.
- a market research survey platform may store one or more quality filters that is/are codified, i.e., predefined in code (as compared with a machine learning model that is trained to filter responses without relying exclusively on predetermined filtering rules).
- a codified quality filter includes a set of hardware and/or software rules that logically connect tracked data points with triggered actions. Specifically, based on the value(s) of one or more tracked data points, a codified quality filter may indicate which triggered action(s) to execute.
- FIG. 3 shows a table of examples of logic variables that may be included in a codified quality filter according to an embodiment, the values of which may be used to determine whether to perform a triggered action. Each logic variable may be based on the value(s) of one or more tracked data points.
- FIG. 4 shows a table of examples of codified quality filters according to an embodiment, including logical rules that connect the values of tracked data points with respective triggered actions.
- a market research survey platform may be configured to train a machine learning model to identify low-quality responses.
- machine learning includes a set of hardware and/or software that trains a machine learning model to filter for spam and/or other kinds of low-quality responses.
- Machine learning may include determining when to execute triggered actions.
- Machine learning may allow the system to perform more sophisticated filtering over time, and may provide better filtering than predetermined (i.e., codified) rule-based triggering.
- Machine learning may be more effective when it has access to data from a retained audience that answers questions over time, in some examples using template-based surveys.
- Training a machine learning model may include supervised learning, based on user validation or confirmation that certain responses qualify as spam and/or other kinds of low-quality (e.g., biased or inconsistent).
- Machine learning may include training a machine learning model based on responses that are manually identified (e.g., tagged, flagged, and/or otherwise identified) as spam and/or otherwise low-quality. For example:
- a client user may mark a response as spam and/or another kind of low-quality response;
- an internal user of the platform may mark a response as spam and/or another kind of low-quality response.
- Machine learning may include training a machine learning model based on data from a word filter that identifies known spam and/or other kinds of low-quality response patterns.
- a word filter may perform one or more of the following:
- Machine learning may include training a machine learning model based on identified positivity /confirmation biases.
- machine learning may be based on one or more of:
- Machine learning may include training a machine learning model based on one or more specific items of data associated with a user (e.g., one or more tracked data points, as discussed above, and/or other user-related data). For example, machine learning may be based on one or more of:
- Machine learning may include training a machine learning model based on responses that are identified as incorrect. For example, incorrect responses to trap questions may correspond to inattention and/or spam.
- machine learning model learns from known spam and/or other kinds of low-quality responses over time, its accuracy and/or success rate at filtering spam and/or other kinds of low-quality responses may improve. Accordingly, machine learning may help the system become increasingly better at limiting such responses, rather than being limited in effectiveness by a predetermined set of rules.
- the system initially uses rule-based triggering, but switches to using a machine learning model once the model has been sufficiently trained. For example, activating a particular triggered action may be preconditioned on the availability of a threshold amount of historical data, a threshold number of training events, and/or a threshold success rate when validating a machine learning model against a set of test data, to help ensure that the triggered action achieves the desired result (e.g., that high-quality respondents are not incorrectly identified as bad actors).
- the system may initially use a fixed rule set for executing a particular triggered action, and may switch to a machine learning model when the system determines that the model has been sufficiently trained that it will likely perform better than the fixed rule set.
- training a machine learning model uses training data to generate a function that, given one or more inputs to the machine learning model, computes a corresponding output.
- the output may correspond to a prediction based on prior machine learning.
- the output includes a label, classification, and/or categorization assigned to the provided input(s).
- the machine learning model corresponds to a learned model for performing the desired operation(s) (e.g., labeling, classifying, and/or categorizing inputs).
- a system may use multiple machine learning engines and/or multiple machine learning models for different purposes.
- the machine learning engine may use supervised learning, semi-supervised learning, unsupervised learning, reinforcement learning, and/or another training method or combination thereof.
- labeled training data includes input/output pairs in which each input is labeled with a desired output (e.g., a label, classification, and/or categorization), also referred to as a supervisory signal.
- a supervisory signal may indicate that a response is spam and/or another kind of low-quality response.
- semi-supervised learning some inputs are associated with supervisory signals and other inputs are not associated with supervisory signals.
- unsupervised learning the training data does not include supervisory signals.
- Reinforcement learning uses a feedback system in which the machine learning engine receives positive and/or negative reinforcement in the process of attempting to solve a particular problem (e.g., to optimize performance in a particular scenario, according to one or more predefined performance criteria).
- the machine learning engine initially uses supervised learning to train the machine learning model and then uses unsupervised learning to update the machine learning model on an ongoing basis.
- a machine learning engine may use many different techniques to label, classify, and/or categorize inputs.
- a machine learning engine may transform inputs into feature vectors that describe one or more properties (“features”) of the inputs.
- the machine learning engine may label, classify, and/or categorize the inputs based on the feature vectors.
- a machine learning engine may use clustering (also referred to as cluster analysis) to identify commonalities in the inputs.
- the machine learning engine may group (i.e., cluster) the inputs based on those commonalities.
- the machine learning engine may use hierarchical clustering, k-means clustering, and/or another clustering method or combination thereof.
- a machine learning engine includes an artificial neural network.
- An artificial neural network includes multiple nodes (also referred to as artificial neurons) and edges between nodes. Edges may be associated with corresponding weights that represent the strengths of connections between nodes, which the machine learning engine adjusts as machine learning proceeds. Alternatively or additionally, a machine learning engine may include a support vector machine.
- a support vector machine represents inputs as vectors.
- the machine learning engine may label, classify, and/or categorizes inputs based on the vectors.
- the machine learning engine may use a naive Bayes classifier to label, classify, and/or categorize inputs.
- a machine learning model may apply a decision tree to predict an output for the given input.
- a machine learning engine may apply fuzzy logic in situations where labeling, classifying, and/or categorizing an input among a fixed set of mutually exclusive options is impossible or impractical.
- the aforementioned machine learning model and techniques are discussed for exemplary purposes only and should not be construed as limiting one or more embodiments.
- FIG. 5 is a flow diagram of an example of operations for filtering market research responses according to an embodiment.
- One or more operations illustrated in FIG. 5 may be modified, rearranged, or omitted all together. Accordingly, the particular sequence of operations illustrated in FIG. 5 should not be construed as limiting the scope of one or more embodiments.
- a system e.g., one or more system components described herein
- trains a machine learning model to filter market research responses (Operation 502). Training the machine learning model may use one more techniques described herein. For example, training the machine learning model may start with supervised learning and then continue with unsupervised learning on an ongoing basis.
- the system receives a market research response (Operation 504), i.e., a response to a question in a market research survey provided by a market research platform.
- Receiving the response may include obtaining metadata associated with a user providing the response, such as tracked data points as described herein.
- the system may be configured to start by using one or more codified filtering rules and then switch to machine-leaming-based filtering when a threshold criterion is satisfied.
- the system may determine whether machine-leaming-based filtering is enabled (Decision 506). If machine-leaming-based filtering is enabled, then the system may input the response to the trained machine learning model (Operation 510). If machine-learning-based filtering is not enabled, then the system may apply one or more codified filtering mles to the response (Operation 508). In some cases, the system may apply both machine learning and one or more codified filtering rules.
- the system determines whether the response is spam or low quality (Decision 512). If the response is spam or low quality, then the system executes a triggered action (Operation 516) to handle the spam or low-quality response. For example, the system may execute one or more triggered actions described herein. If the response is not spam or low quality, then the system accepts the response (Operation 514). Accepting the response may include adding the response to a set of accepted responses, which may be used to analyze results of the market research survey.
- the system may be configured to start by using one or more codified filtering rules and then switch to machine-leaming-based filtering when a threshold criterion is satisfied.
- the system may determine whether a threshold criterion for enabling machine-leaming-based filtering is satisfied (Decision 518). For example, a threshold criterion may require that the machine learning model be sufficiently trained (e.g., based on a threshold amount of data and/or a threshold number of training cycles). If the threshold criterion is satisfied, then the system enables machine-learning-based filtering (Operation 520). As discussed above, training the machine learning model may continue even after machine-leaming-based filtering is enabled.
- a system includes one or more devices, including one or more hardware processors, that are configured to perform any of the operations described herein and/or recited in any of the claims.
- one or more non-transitory computer-readable storage media store instructions that, when executed by one or more hardware processors, cause performance of any of the operations described herein and/or recited in any of the claims.
- techniques described herein are implemented by one or more special-purpose computing devices (i.e., computing devices specially configured to perform certain functionality).
- the special-purpose computing device(s) may be hard- wired to perform the techniques and/or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and/or network processing units (NPUs) that are persistently programmed to perform the techniques.
- ASICs application-specific integrated circuits
- FPGAs field programmable gate arrays
- NPUs network processing units
- a computing device may include one or more general-purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, and/or other storage.
- a special-purpose computing device may combine custom hard-wired logic, ASICs, FPGAs, or NPUs with custom programming to accomplish the techniques.
- a special-purpose computing device may include a desktop computer system, portable computer system, handheld device, networking device, and/or any other device(s) incorporating hard-wired and/or program logic to implement the techniques.
- FIG. 6 is a block diagram of an example of a computer system 600 according to an embodiment.
- Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a hardware processor 604 coupled with the bus 602 for processing information.
- Hardware processor 604 may be a general-purpose microprocessor.
- Computer system 600 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604.
- Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 604.
- Such instructions when stored in one or more non-transitory storage media accessible to processor 604, render computer system 600 into a special-purpose machine that is customized to perform the operations specified in the instructions.
- Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604.
- ROM read only memory
- a storage device 610 such as a magnetic disk or optical disk, is provided and coupled to bus 602 for storing information and instructions.
- Computer system 600 may be coupled via bus 602 to a display 612, such as a liquid crystal display (LCD), plasma display, electronic ink display, cathode ray tube (CRT) monitor, or any other kind of device for displaying information to a computer user.
- a display 612 such as a liquid crystal display (LCD), plasma display, electronic ink display, cathode ray tube (CRT) monitor, or any other kind of device for displaying information to a computer user.
- An input device 614 including alphanumeric and other keys, may be coupled to bus 602 for communicating information and command selections to processor 604.
- computer system 600 may receive user input via a cursor control 616, such as a mouse, a trackball, a trackpad, or cursor direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612.
- a cursor control 616 such as a mouse, a trackball, a trackpad, or cursor direction keys for communicating direction information and command selections to processor
- This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
- computer system 6 may include a touchscreen.
- Display 612 may be configured to receive user input via one or more pressure-sensitive sensors, multi-touch sensors, and/or gesture sensors.
- computer system 600 may receive user input via a microphone, video camera, and/or some other kind of user input device (not shown).
- Computer system 600 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware, and/or program logic which in combination with other components of computer system 600 causes or programs computer system 600 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 600 in response to processor 604 executing one or more sequences of one or more instructions contained in main memory 606. Such instructions may be read into main memory 606 from another storage medium, such as storage device 610. Execution of the sequences of instructions contained in main memory 606 causes processor 604 to perform the process steps described herein. Alternatively or additionally, hard-wired circuitry may be used in place of or in combination with software instructions.
- Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610.
- Volatile media includes dynamic memory, such as main memory 606.
- Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape or other magnetic data storage medium, a CD-ROM or any other optical data storage medium, any physical medium with patterns of holes, a RAM, a programmable read-only memory (PROM), an erasable PROM (EPROM), a FLASH-EPROM, non-volatile random-access memory (NVRAM), any other memory chip or cartridge, content-addressable memory (CAM), and ternary content-addressable memory (TCAM).
- a floppy disk a flexible disk, hard disk, solid state drive, magnetic tape or other magnetic data storage medium
- CD-ROM or any other optical data storage medium any physical medium with patterns of holes
- RAM random access memory
- PROM erasable PROM
- EPROM erasable PROM
- FLASH-EPROM non-volatile random-access memory
- CAM content-addressable memory
- TCAM ternary content-addressable memory
- a storage medium is distinct from but may be used in conjunction with a transmission medium.
- Transmission media participate in transferring information between storage media. Examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 602. Transmission media may also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 604 for execution.
- the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer.
- the remote computer may load the instructions into its dynamic memory and send the instructions over a network, via a network interface controller (NIC), such as an Ethernet controller or Wi-Fi controller.
- NIC network interface controller
- a NIC local to computer system 600 may receive the data from the network and place the data on bus 602.
- Bus 602 carries the data to main memory 606, from which processor 604 retrieves and executes the instructions.
- the instructions received by main memory 606 may optionally be stored on storage device 610 either before or after execution by processor 604.
- Computer system 600 also includes a communication interface 618 coupled to bus 602.
- Communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to a local network 622.
- communication interface 618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
- ISDN integrated services digital network
- communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
- LAN local area network
- Network link 620 typically provides data communication through one or more networks to other data devices.
- network link 620 may provide a connection through local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626.
- ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628.
- Internet 628 uses electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link 620 and through communication interface 618, which carry the digital data to and from computer system 600, are example forms of transmission media.
- Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620 and communication interface 618.
- a server 660 might transmit a requested code for an application program through Internet 628, ISP 626, local network 622, and communication interface 618.
- the received code may be executed by processor 604 as it is received, and/or stored in storage device 610, or other non-volatile storage for later execution.
- a computer network provides connectivity among a set of nodes running software that utilizes techniques as described herein.
- the nodes may be local to and/or remote from each other.
- the nodes are connected by a set of links. Examples of links include a coaxial cable, an unshielded twisted cable, a copper cable, an optical fiber, and a virtual link.
- a subset of nodes implements the computer network. Examples of such nodes include a switch, a router, a firewall, and a network address translator (NAT). Another subset of nodes uses the computer network.
- Such nodes may execute a client process and/or a server process.
- a client process makes a request for a computing service (for example, a request to execute a particular application and/or retrieve a particular set of data).
- a server process responds by executing the requested service and/or returning corresponding data.
- a computer network may be a physical network, including physical nodes connected by physical links.
- a physical node is any digital device.
- a physical node may be a function- specific hardware device. Examples of function- specific hardware devices include a hardware switch, a hardware router, a hardware firewall, and a hardware NAT.
- a physical node may be any physical resource that provides compute power to perform a task, such as one that is configured to execute various virtual machines and/or applications performing respective functions.
- a physical link is a physical medium connecting two or more physical nodes. Examples of links include a coaxial cable, an unshielded twisted cable, a copper cable, and an optical fiber.
- a computer network may be an overlay network.
- An overlay network is a logical network implemented on top of another network (for example, a physical network).
- Each node in an overlay network corresponds to a respective node in the underlying network. Accordingly, each node in an overlay network is associated with both an overlay address (to address the overlay node) and an underlay address (to address the underlay node that implements the overlay node).
- An overlay node may be a digital device and/or a software process (for example, a virtual machine, an application instance, or a thread).
- a link that connects overlay nodes may be implemented as a tunnel through the underlying network. The overlay nodes at either end of the tunnel may treat the underlying multi-hop path between them as a single logical link. Tunneling is performed through encapsulation and decapsulation.
- a client may be local to and/or remote from a computer network.
- the client may access the computer network over other computer networks, such as a private network or the Internet.
- the client may communicate requests to the computer network using a communications protocol, such as Hypertext Transfer Protocol (HTTP).
- HTTP Hypertext Transfer Protocol
- the requests are communicated through an interface, such as a client interface (such as a web browser), a program interface, or an application programming interface (API).
- HTTP Hypertext Transfer Protocol
- the requests are communicated through an interface, such as a client interface (such as a web browser), a program interface, or an application programming interface (API).
- HTTP Hypertext Transfer Protocol
- API application programming interface
- a computer network provides connectivity between clients and network resources.
- Network resources include hardware and/or software configured to execute server processes. Examples of network resources include a processor, a data storage, a virtual machine, a container, and/or a software application.
- Network resources may be shared amongst multiple clients. Clients request computing services from a computer network independently of each other. Network resources are dynamically assigned to the requests and/or clients on an on- demand basis. Network resources assigned to each request and/or client may be scaled up or down based on, for example, (a) the computing services requested by a particular client, (b) the aggregated computing services requested by a particular tenant, and/or (c) the aggregated computing services requested of the computer network.
- Such a computer network may be referred to as a “cloud network.”
- a service provider provides a cloud network to one or more end users.
- Various service models may be implemented by the cloud network, including but not limited to Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS).
- SaaS Software-as-a-Service
- PaaS Platform-as-a-Service
- IaaS Infrastructure-as-a-Service
- SaaS a service provider provides end users the capability to use the service provider’s applications, which are executing on the network resources.
- PaaS the service provider provides end users the capability to deploy custom applications onto the network resources.
- the custom applications may be created using programming languages, libraries, services, and tools supported by the service provider.
- IaaS the service provider provides end users the capability to provision processing, storage, networks, and other fundamental computing resources provided by the network resources. Any applications, including an operating system, may be deployed on the network resources.
- various deployment models may be implemented by a computer network, including but not limited to a private cloud, a public cloud, and a hybrid cloud.
- a private cloud network resources are provisioned for exclusive use by a particular group of one or more entities (the term “entity” as used herein refers to a corporation, organization, person, or other entity).
- the network resources may be local to and/or remote from the premises of the particular group of entities.
- a public cloud cloud resources are provisioned for multiple entities that are independent from each other (also referred to as “tenants” or “customers”).
- a computer network includes a private cloud and a public cloud. An interface between the private cloud and the public cloud allows for data and application portability.
- Data stored at the private cloud and data stored at the public cloud may be exchanged through the interface.
- Applications implemented at the private cloud and applications implemented at the public cloud may have dependencies on each other.
- a call from an application at the private cloud to an application at the public cloud (and vice versa) may be executed through the interface.
- a system supports multiple tenants.
- a tenant is a corporation, organization, enterprise, business unit, employee, or other entity that accesses a shared computing resource (for example, a computing resource shared in a public cloud).
- One tenant (through operation, tenant- specific practices, employees, and/or identification to the external world) may be separate from another tenant.
- the computer network and the network resources thereof are accessed by clients corresponding to different tenants.
- Such a computer network may be referred to as a “multi-tenant computer network.”
- Several tenants may use a same particular network resource at different times and/or at the same time.
- the network resources may be local to and/or remote from the premises of the tenants. Different tenants may demand different network requirements for the computer network.
- Examples of network requirements include processing speed, amount of data storage, security requirements, performance requirements, throughput requirements, latency requirements, resiliency requirements, Quality of Service (QoS) requirements, tenant isolation, and/or consistency.
- the same computer network may need to implement different network requirements demanded by different tenants.
- tenant isolation is implemented to ensure that the applications and/or data of different tenants are not shared with each other.
- Various tenant isolation approaches may be used.
- each tenant is associated with a tenant ID.
- Applications implemented by the computer network are tagged with tenant ID’s.
- data structures and/or datasets, stored by the computer network are tagged with tenant ID’s.
- a tenant is permitted access to a particular application, data structure, and/or dataset only if the tenant and the particular application, data structure, and/or dataset are associated with a same tenant ID.
- each database implemented by a multi-tenant computer network may be tagged with a tenant ID.
- a tenant associated with the corresponding tenant ID may access data of a particular database.
- each entry in a database implemented by a multi-tenant computer network may be tagged with a tenant ID. Only a tenant associated with the corresponding tenant ID may access data of a particular entry.
- the database may be shared by multiple tenants.
- a subscription list may indicate which tenants have authorization to access which applications. For each application, a list of tenant ID’s of tenants authorized to access the application is stored. A tenant is permitted access to a particular application only if the tenant ID of the tenant is included in the subscription list corresponding to the particular application.
- network resources such as digital devices, virtual machines, application instances, and threads
- packets from any source device in a tenant overlay network may only be transmitted to other devices within the same tenant overlay network.
- Encapsulation tunnels may be used to prohibit any transmissions from a source device on a tenant overlay network to devices in other tenant overlay networks.
- the packets, received from the source device are encapsulated within an outer packet.
- the outer packet is transmitted from a first encapsulation tunnel endpoint (in communication with the source device in the tenant overlay network) to a second encapsulation tunnel endpoint (in communication with the destination device in the tenant overlay network).
- the second encapsulation tunnel endpoint decapsulates the outer packet to obtain the original packet transmitted by the source device.
- the original packet is transmitted from the second encapsulation tunnel endpoint to the destination device in the same particular overlay network.
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
Abstract
Techniques for improving performance and quality in a market research platform include: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a market research survey template provided by the platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the platform and conforming to the market research survey template; generating a template- specific quality filter associated with the market research survey template, based at least on the first usage data and the second usage data; and based at least on the template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
Description
PERFORMANCE AND QUALITY IMPROVEMENTS FOR A MARKET RESEARCH
PLATFORM
RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Patent Application Serial No. 63/153,991, titled “PERFORMANCE AND QUALITY IMPROVEMENTS FOR A MARKET RESEARCH PLATFORM” and filed February 26, 2021, which is hereby incorporated by reference in its entirety.
BACKGROUND
In market research, “low-quality” responses are responses that have little or no research value. Low-quality responses may include spam and/or other kinds of responses that are rushed, incomplete, not responsive to the marketing question being asked, clearly biased, and/or otherwise undermine the quality (and thus the value) of the research being done. “Spam” may include, for example: gibberish; submissions by autonomous systems (a.k.a. “bots”); duplicate responses; and/or other kinds of data that are submitted for reasons other than those intended for the market research platform. For example, spammers may use bots to submit a large volume of responses, solely for the purpose of “earning” rewards provided by the market research platform, such as points, gift cards, etc.
When market research is conducted electronically, low-quality responses are a problem not only because of their limited research value, but also because of their impact on system resources and performance. Low-quality responses consume hardware resources (e.g., processing cycles, storage, network bandwidth, etc.), energy associated with operating hardware resources, etc. The additional resources needed to accommodate low-quality responses can also incur financial costs (e.g., hardware costs and/or hosting costs imposed by cloud infrastructure services), energy costs, etc.
Approaches described in this section have not necessarily been conceived and/or pursued prior to the filing of this application. Accordingly, unless otherwise indicated, approaches described in this section should not be construed as prior art.
TECHNICAL FIELD
The present disclosure relates generally to performance and quality in market research platforms.
SUMMARY
In general, in one aspect, one or more non-transitory computer-readable media store instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template-specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and
acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
The operations may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
The first template- specific quality filter may be a rule-based filter, and the operations may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
The first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
The first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b) behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
In general, in one aspect, a system includes at least one device including a hardware processor. The system is configured to perform operations including: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
The operations may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
The first template- specific quality filter may be a rule-based filter, and the operations may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
The first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
The first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b) behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
In general, in one aspect, a method includes: obtaining first usage data of a first set of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second set of survey respondents to a second market
research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
Generating the first template- specific quality filter may include: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
Generating the first template- specific quality filter may include: obtaining a filter template including a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low-quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
The method may further include: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
The first template- specific quality filter may be a rule-based filter, and the method may further include: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
The first usage data and the second usage data may include one or more of (a) longitudinal data associated with responses by multiple respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to multiple survey questions over multiple surveys.
The first usage data and the second usage data may include both (a) digital fingerprint attributes of the first set of survey respondents and the second set of survey respondents and (b)
behavioral metadata describing trackable behavior of the first set of survey respondents and the second set of survey respondents.
One or more embodiments described in this Specification and/or recited in the claims may not be included in this General Overview section.
BRIEF DESCRIPTION OF THE DRAWINGS
Various aspects of at least one embodiment are discussed below with reference to the accompanying Figures, which are not intended to be drawn to scale. The Figures are included to provide illustration and a further understanding of the various aspects and embodiments, and are incorporated in and constitute a part of this specification, but are not intended to define the limits of the disclosure. In the Figures, each identical or nearly identical component that is illustrated in various Figures is represented by a like numeral. For the purposes of clarity, some components may not be labeled in every figure. In the Figures:
FIG. 1 is a block diagram of an example of a system according to an embodiment;
FIGS. 2A-2K show a table of examples of tracked data points according to one or more embodiments;
FIG. 3 shows a table of examples of logic variables that may be included in a codified quality filter according to an embodiment;
FIG. 4 shows a table of examples of codified quality filters according to an embodiment;
FIG. 5 is a flow diagram of an example of operations for filtering market research responses according to an embodiment; and
FIG. 6 is a block diagram of an example of a computer system according to an embodiment.
DETAILED DESCRIPTION
In general, one or more embodiments include systems and methods to improve the performance of a market research platform. Techniques described herein may reduce system load incurred by spammers and/or other kinds of low-quality respondents, thus avoiding potential costs associated with those resources and/or freeing up additional resources for higher-quality respondents. Reducing wasteful resource utilization may allow the system to perform faster, for example, by reducing strain on the database, application programming interface (API) layer, etc.
Alternatively or additionally, one or more embodiments include systems and methods to improve the quality of responses obtained by a market research platform. Specifically, techniques described herein may help identify and deter spammers and/or other kinds of low- quality responses. Deterring spammers and/or other kinds of low-quality responses improves the overall quality of responses that are retained. In addition, deterring spammers and/or other kinds of low-quality responses may reduce employee costs associated with “sanitizing” data sets to remove spam and other kinds of low-quality responses.
In an embodiment, a market research survey platform as described herein is a multi tenant platform having multiple customers in the same industry and/or across industries. Data from multiple tenants may be aggregated to obtain a rich data set that can be used to generate rules and/or machine learning for identifying low-quality responses. A multi-tenant platform allows for a larger set of data (e.g., user demographics, survey responses, etc.) than what would typically be available in a survey system that (a) services only a single tenant and/or (b) does not aggregate data across tenants. This rich data set may allow the platform to generate more effective quality filters than what would be possible based on a smaller and/or single-tenant data set.
A multi-tenant market research survey platform may further include market research survey templates that multiple tenants can use to construct market research surveys. Survey templates provide relative heterogeneity across surveys based on the same template, even across multiple tenants, thus allowing the platform to generate template- specific quality filters. For example, a certain response may be considered low quality in a survey based on one template but high quality in a survey based on a different template. Template- specific quality filtering in a multi-tenant platform may thus allow for highly effective, domain- specific quality filtering.
Techniques described herein may be used to identify many different kinds of low-quality responses. For example, techniques described herein may be used to identify one or more of:
• “speeders,” i.e., respondents who speed through surveys, not taking the time to provide quality responses;
• “straight-liners,” i.e., respondents who provide the same answer every time or nearly every time - for example, by repeatedly choosing the Nth option over a series of multi-choice questions;
• sloppy, rushed, and/or otherwise low-effort responses;
• biased responses, i.e., responses that are always positive or always negative, which may not indicate a bad actor but are nonetheless unhelpful - as discussed herein, such biases may be detectable by analysis, e.g., in metadata; and/or
• responses that are biased (e.g., “primed”) by prior questions. For example, if a user has previously answered a round of questions about HBO MAX, then a separate round of questions about Showtime Anytime may be biased by the first round. As discussed herein, such biases may be detectable by analysis, e.g., by finding patterns in the data.
I. SYSTEM ARCHITECTURE
As illustrated in FIG. 1, the system 100 includes a market research survey platform 108, or simply “platform” for ease of discussion, and a user device 102. The user device 102 includes a market research survey application 104, or simply “application” for ease of discussion, configured to communicate with the platform 108 over a network. In response to a user launching the application 104, the application 104 presents a graphical user interface (GUI) 106 on the user device 102. The GUI 106 includes user interface elements for participating in one or more market research surveys. The application 104 is configured to obtain data for populating the GUI 106 from the platform 108, and to communicate results of survey questions to the platform 108.
In an embodiment, the platform 108 is accessible to a retained set of users who are active over a period of time and answer questions regularly. For ease of discussion, operations are described herein in reference to a single user; these operations may be repeated any number of times for any number of users. A larger number of users may provide a richer data set for training the platform 108 to distinguish between low-quality and high-quality responses.
Together, the platform 108 and application 104 are configured to generate and present a market research survey interface in the GUI 106. Operations may be allocated between the platform 108 and application 104 in various ways. For example, the application 104 may be a web application accessible via a web browser, and the platform 108 may be configured to perform back-end operations to generate content (e.g., survey questions, animations, rewards, and/or other kinds of content) and provide the content in hypertext markup language (HTML) and/or another web protocol to the GUI 106. Alternatively, the user device 102 may be a device
such as smartphone, tablet, laptop, or desktop computer and the application 104 may be an installable application or “app.” The platform 108 may be configured to communicate with two or more kinds of application 104. For example, the platform 108 may include both (a) a web server providing a web-based version of the GUI 106 and (b) an application programming interface (API) accessible by an installable app that includes the GUI 106, thus providing a range of modalities for accessing a market research survey.
In general, the GUI 106 renders user interface elements and receives input via user interface elements. Examples of user interface elements include checkboxes, radio buttons, dropdown lists, list boxes, buttons, toggles, text fields, date and time selectors, command lines, sliders, pages, and forms. In an embodiment, the GUI 106 includes a grid of visual tiles that represent questions in a market research survey. The user interface elements allow a user to interact with the market research survey. A spammer or other kind of low-quality respondent may use automated software (for example, a “bot”) to interact with the user interface elements, rather than interacting with them manually as intended.
Different components of the GUI 106 may be specified in different languages. The behavior of user interface elements may be specified in a dynamic programming language, such as JavaScript. The content of user interface elements may be specified in a markup language, such as hypertext markup language (HTML), Extensible Markup Language (XML), or XML User Interface Language (XUL). The layout of user interface elements may be specified in a style sheet language, such as Cascading Style Sheets (CSS). Alternatively or additionally, aspects of a GUI 106 may be specified in one or more other languages, such as Java, Python,
Perl, C, C++, C#, and/or any other language or combination thereof.
As illustrated in FIG. 1, a data repository 110 may be configured to store survey data 112. Survey data 112 includes data associated with one or more surveys, such as: survey questions; answer options; game rewards associated with survey questions; and/or other survey-related data. Alternatively or additionally, a data repository 110 may be configured to store user data 114.
User data 114 includes data associated with one or more users, such as: user profile information; login credentials; survey answers (which may be anonymized and/or aggregated among users); game rewards earned by each user; and/or other user-related data. User data 114 may include tracked data points used for response filtering, as discussed in further detail below.
A data repository 110 may be configured to store one or more market survey templates 116. A market survey template 116 includes predefined survey questions (or question formats) tied to specific business intents. For example, a market survey template 116 for a “concept test,” used to evaluate a series of different design or messaging concepts against each other, may include a series of questions that tend to be fairly consistent among clients in that area; two or more clients (i.e., tenants of the platform, for whom market research surveys are conducted) may use the same market survey template 116 while editing (via one or more system interfaces) key elements specific to a particular product, such as the product’s name and/or related imagery. The repeated use of such market survey templates 116 may allow the platform 108 to generate a set of benchmarks for responses. The platform 108 may leverage these benchmarks to configure one or more quality filters 118 and/or train a machine learning model 120, thus creating a powerful data ecosystem that, as it grows and evolves, becomes increasingly capable of identifying and preventing spammers and/or other kinds of low-quality responses.
The platform 108 may be configured to perform operations described herein for filtering market survey responses. To filter market survey responses, the platform 108 may be configured to apply one or more quality filters 118. In general, a quality filter 118 refers to a set of hardware and/or software configured to determine the quality of one or more market survey responses. A quality filter 118 may be configured to sort responses into two or more categories (e.g., low quality, acceptable quality, or high quality). Alternatively or additionally, a quality filter 118 may be configured to assign numerical values to responses, with one of a numerical scale representing the lowest quality and the other end of the numerical scale representing the highest quality. Many different kinds of metrics may be used to categorize and/or assign values to responses.
A quality filter 118 may be based on a filter template 122. A filter template 122 refers to a predefined format for a quality filter 118, based on one or more response attributes tracked by the platform 108. A tenant of the platform 108 may select or otherwise assign values to variables in a filter template 122, and the platform 108 may generate a quality filter 118 based on the tenant’s input. For example, a tenant may select a threshold quality value (e.g., 60 percent) below which a response is considered low quality. Some examples of quality filters 118 and filter templates 122 are discussed in further detail below.
In an embodiment, a data repository 110 is any type of storage unit and/or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. A data repository 110 may include multiple different storage units and/or devices. The multiple different storage units and/or devices may or may not be of the same type or located at the same physical site. Further, a data repository 110 may be implemented or may execute on the same computing system as one or more other components of the system 100. Alternatively or additionally, a data repository 110 may be implemented or executed on a computing system separate from one or more other components of the system 100. A data repository 110 may be logically integrated with one or more other components of the system 100. Alternatively or additionally, a data repository 110 may be communicatively coupled to one or more other components of the system 100 via a direct connection or via a network. In FIG. 1, a data repository 110 is illustrated as storing various kinds of information. Some or all of this information may be implemented and/or distributed across any of the components of the system 100. However, this information is illustrated within the data repository 110 for purposes of clarity and explanation.
In an embodiment, one or more components of the system 100 are implemented on one or more digital devices. The term “digital device” generally refers to any hardware device that includes a processor. A digital device may refer to a physical device executing an application or a virtual machine. Examples of digital devices include a computer, a tablet, a laptop, a desktop, a netbook, a server, a web server, a network policy server, a proxy server, a generic machine, a function- specific hardware device, a hardware router, a hardware switch, a hardware firewall, a hardware network address translator (NAT), a hardware load balancer, a mainframe, a television, a content receiver, a set-top box, a printer, a mobile handset, a smartphone, a personal digital assistant (“PDA”), a wireless receiver and/or transmitter, a base station, a communication management device, a router, a switch, a controller, an access point, and/or a client device.
II. TRACKED DATA POINTS
As discussed above, a market research survey platform may store user data that includes tracked data points used for response filtering. Specifically, tracked data points include data that the system tracks and applies to codified rules and/or to a machine learning model for response
filtering. Tracked data points may include digital fingerprint attributes and/or or behavioral metadata that could potentially be indicators of low response quality or spam.
Digital fingerprint attributes refer to data that uniquely identifies a user and/or the user’s device. Digital fingerprint attributes may include, for example, one or more of:
• IP address;
• autonomous system number (ASN);
• user agent/browser type;
• hosting provider;
• geographical location; and/or
• email address.
Behavioral metadata refers to metadata that describes a user’s behavior while using the platform generally and/or specific features thereof. One or more items of behavioral metadata may be associated with general platform behavior. Such metadata may include, for example, one or more of:
• timestamp corresponding to when the user’s identity was verified (e.g., via a verification process for the user’s email address, etc.);
• timestamp corresponding to completion of initial onboarding (e.g., completion of initial questions and training, which may culminate in a user verification process);
• login timestamp; and/or
• session timestamp.
One or more items of behavioral metadata may be associated with specific surveys and/or questions. Such metadata may include, for example, one or more of:
• timestamp upon opening a survey or question;
• timestamp upon completing a survey or question;
• time to complete a particular action (e.g., provide input responsive to a system prompt), which may provide an indication of read time (e.g., where a bot may respond more quickly that the typical amount of time needed to read a prompt)
• timestamp upon close (e.g., for a survey or question that is opened, then closed before completion);
• timestamp upon skip (e.g., if a user/respondent reads a question, decides they do not want to respond, and closes it, so that the question is dismissed and not served up to the user again); and/or
• mouse position and movement (e.g., to identify patterns of movement, or lack thereof, corresponding to hot behavior).
One or more items of behavioral metadata may be associated with input fields into which a user is able to provide open-ended input. Such metadata may include, for example, one or more of:
• total question character count; and/or
• total response character count.
In an embodiment, the system presents questions and/or answers in a scale or grid, and some behavioral metadata may be associated with the user’s interactions with the scale or grid. Such metadata may include, for example, one or more of:
• position of an answer choice in the scale or grid (e.g., first, second, last, first row, second row, last row, first column, second column, last column, etc.); and/or
• positivity or negativity of the response, depending on the rating scale provided.
The system may be configured to generate benchmarking data, based on aggregated behavioral metadata, and use the benchmarking data to determine a particular user’s general positivity /negativity tendencies .
One or more items of behavioral metadata may be associated with user interactions with multiple-choice questions. Such metadata may include, for example, one or more of:
• position of the answer choice selected by the user; and/or
• number of answers selected, if multiple selections are permitted.
One or more items of behavioral metadata may be associated with particular survey templates. A given survey template may be used, for example, by multiple clients of the platform. Behavioral metadata may be aggregated at a client level and/or across multiple clients using the same template. Such metadata may include, for example, one or more of:
• timestamp upon opening the survey;
• timestamp upon completing the survey; and/or
• time to complete a particular action (e.g., provide input responsive to a system prompt), which may provide an indication of read time (e.g., where a hot may respond more quickly than the typical amount of time needed to read a prompt).
FIGS. 2A-2K show a table of examples of tracked data points according to one or more embodiments. Specifically, FIGS. 2A-2K includes examples of: event names (i.e., the names of behaviors being tracked within the platform); event definitions (i.e., descriptions of behaviors being tracked); property names (i.e., names of additional information related to the behavior); property definitions (i.e., descriptions of the related information); and data types (i.e., the types of information being collected, such as numeric, date, etc.).
III. TRIGGERED ACTIONS
In general, as described herein, triggered actions are actions that the system executes upon the satisfaction of one or more rule-based conditions and/or when the output of a machine learning model satisfies one or more triggering criteria (e.g., outputting a value that is above or below a predetermined threshold value). In general, the system may execute a triggered action upon determining that a user is taking an action or set of actions that is suspicious or outside of the normal expectations. Such a condition may indicate that a user is a bad actor, or at least may be suspected of being a bad actor.
One or more triggered actions may include “quarantining” a user on the platform, for a period of time. A quarantined user may be prevented from performing, for example, one or more of the following actions:
• accessing the platform as a whole;
• responding to any questions;
• responding to particular question types (e.g., to reduce “priming” or other bias effects);
• responding to particular template types; and/or
• responding to questions or surveys from a particular industry or vertical. Alternatively or additionally, one or more triggered actions may include imposing an artificial delay between questions, preventing the user from submitting answers quickly (e.g., if the user is suspected to a be a bot submitting answers faster than a typical human is capable of) until the system is better able to determine whether the user is a bad actor. One or more triggered
actions may include banning a user (including, optionally, the user’s IP address or other device- or location-specific identifier) from the platform indefinitely.
One or more triggered actions may include presenting an educational or warning message to a user, relating to the behavior flagged by the system. The system may present the message, for example, in one or more of the following formats:
• in-app (e.g., via a pop-up, modular dialog, slide-in message, or another form of in-app notification);
• email;
• push notifications (e.g., via a notification system of a mobile device); and/or
• text message.
A message to a user may be formulated to help the user provide higher-quality responses. For example, the message may be formulated to train a user to not be so uniformly positive, to answer slower, etc.
One or more triggered actions may include presenting a user with one or more “trap” questions. A trap question may be formulated to help determine whether the user is paying attention, properly reading the question text, etc. Presenting a trap question may include, for example, one or more of the following:
• presenting a question with a single correct or predetermined answer choice, to determine whether the user selects the correct option;
• presenting a question with nonsensical answers and/or answers relating to fictional products, to determine whether the user selects such an answer (indicating that they are not paying attention and/or not reading the answer choices, such as if a bot is selecting the answers); and/or
• presenting an open-ended question that instructs the user to supply one or more specific words in the open-ended response text.
Alternatively or additionally, one or more triggered actions may include generating a report (e.g., in a system log) and/or alerting a human overseer of the platform (e.g., via email, text message, app notification, etc.) to investigate the suspicious user activity.
IV. EXAMPLES OF CODIFIED QUALITY FILTERS
For purposes of clarity, some detailed examples are set forth below. These examples are provided for illustrative purposes only and should not be construed as limiting one or more embodiments.
As discussed above, a market research survey platform may store one or more quality filters that is/are codified, i.e., predefined in code (as compared with a machine learning model that is trained to filter responses without relying exclusively on predetermined filtering rules). A codified quality filter includes a set of hardware and/or software rules that logically connect tracked data points with triggered actions. Specifically, based on the value(s) of one or more tracked data points, a codified quality filter may indicate which triggered action(s) to execute.
FIG. 3 shows a table of examples of logic variables that may be included in a codified quality filter according to an embodiment, the values of which may be used to determine whether to perform a triggered action. Each logic variable may be based on the value(s) of one or more tracked data points.
FIG. 4 shows a table of examples of codified quality filters according to an embodiment, including logical rules that connect the values of tracked data points with respective triggered actions.
V. MACHINE LEARNING
As discussed above, a market research survey platform may be configured to train a machine learning model to identify low-quality responses. Specifically, machine learning includes a set of hardware and/or software that trains a machine learning model to filter for spam and/or other kinds of low-quality responses. Machine learning may include determining when to execute triggered actions. Machine learning may allow the system to perform more sophisticated filtering over time, and may provide better filtering than predetermined (i.e., codified) rule-based triggering. Machine learning may be more effective when it has access to data from a retained audience that answers questions over time, in some examples using template-based surveys.
Such data can facilitate the use of machine learning to identify patterns, trends, etc., and become more effective over time. Training a machine learning model may include supervised learning, based on user validation or confirmation that certain responses qualify as spam and/or other kinds of low-quality (e.g., biased or inconsistent).
Machine learning may include training a machine learning model based on responses that are manually identified (e.g., tagged, flagged, and/or otherwise identified) as spam and/or otherwise low-quality. For example:
• a client user may mark a response as spam and/or another kind of low-quality response; and/or
• an internal user of the platform may mark a response as spam and/or another kind of low-quality response.
Machine learning may include training a machine learning model based on data from a word filter that identifies known spam and/or other kinds of low-quality response patterns. For example, a word filter may perform one or more of the following:
• mark an open-ended response as spam; and/or
• mark an open-ended response as a duplicate.
Machine learning may include training a machine learning model based on identified positivity /confirmation biases. For example, machine learning may be based on one or more of:
• average positivity score for a respondent, versus an overall average score for users of a specific template; and/or
• average positivity score for a respondent, versus overall average score for users across multiple templates.
Machine learning may include training a machine learning model based on one or more specific items of data associated with a user (e.g., one or more tracked data points, as discussed above, and/or other user-related data). For example, machine learning may be based on one or more of:
• a user is suspended/quarantined; and/or
• a user is banned
Machine learning may include training a machine learning model based on responses that are identified as incorrect. For example, incorrect responses to trap questions may correspond to inattention and/or spam.
In an embodiment, as the machine learning model learns from known spam and/or other kinds of low-quality responses over time, its accuracy and/or success rate at filtering spam and/or other kinds of low-quality responses may improve. Accordingly, machine learning may help the
system become increasingly better at limiting such responses, rather than being limited in effectiveness by a predetermined set of rules.
In an embodiment, the system initially uses rule-based triggering, but switches to using a machine learning model once the model has been sufficiently trained. For example, activating a particular triggered action may be preconditioned on the availability of a threshold amount of historical data, a threshold number of training events, and/or a threshold success rate when validating a machine learning model against a set of test data, to help ensure that the triggered action achieves the desired result (e.g., that high-quality respondents are not incorrectly identified as bad actors). In some embodiments, the system may initially use a fixed rule set for executing a particular triggered action, and may switch to a machine learning model when the system determines that the model has been sufficiently trained that it will likely perform better than the fixed rule set.
In general, training a machine learning model uses training data to generate a function that, given one or more inputs to the machine learning model, computes a corresponding output. The output may correspond to a prediction based on prior machine learning. In an embodiment, the output includes a label, classification, and/or categorization assigned to the provided input(s). The machine learning model corresponds to a learned model for performing the desired operation(s) (e.g., labeling, classifying, and/or categorizing inputs). A system may use multiple machine learning engines and/or multiple machine learning models for different purposes.
In an embodiment, the machine learning engine may use supervised learning, semi-supervised learning, unsupervised learning, reinforcement learning, and/or another training method or combination thereof. In supervised learning, labeled training data includes input/output pairs in which each input is labeled with a desired output (e.g., a label, classification, and/or categorization), also referred to as a supervisory signal. For example, a supervisory signal may indicate that a response is spam and/or another kind of low-quality response. In semi-supervised learning, some inputs are associated with supervisory signals and other inputs are not associated with supervisory signals. In unsupervised learning, the training data does not include supervisory signals. Reinforcement learning uses a feedback system in which the machine learning engine receives positive and/or negative reinforcement in the process of attempting to solve a particular problem (e.g., to optimize performance in a particular scenario, according to one or more predefined performance criteria). In an embodiment, the machine learning engine initially uses
supervised learning to train the machine learning model and then uses unsupervised learning to update the machine learning model on an ongoing basis.
A machine learning engine may use many different techniques to label, classify, and/or categorize inputs. A machine learning engine may transform inputs into feature vectors that describe one or more properties (“features”) of the inputs. The machine learning engine may label, classify, and/or categorize the inputs based on the feature vectors. Alternatively or additionally, a machine learning engine may use clustering (also referred to as cluster analysis) to identify commonalities in the inputs. The machine learning engine may group (i.e., cluster) the inputs based on those commonalities. The machine learning engine may use hierarchical clustering, k-means clustering, and/or another clustering method or combination thereof. In an embodiment, a machine learning engine includes an artificial neural network. An artificial neural network includes multiple nodes (also referred to as artificial neurons) and edges between nodes. Edges may be associated with corresponding weights that represent the strengths of connections between nodes, which the machine learning engine adjusts as machine learning proceeds. Alternatively or additionally, a machine learning engine may include a support vector machine.
A support vector machine represents inputs as vectors. The machine learning engine may label, classify, and/or categorizes inputs based on the vectors. Alternatively or additionally, the machine learning engine may use a naive Bayes classifier to label, classify, and/or categorize inputs. Alternatively or additionally, given a particular input, a machine learning model may apply a decision tree to predict an output for the given input. Alternatively or additionally, a machine learning engine may apply fuzzy logic in situations where labeling, classifying, and/or categorizing an input among a fixed set of mutually exclusive options is impossible or impractical. The aforementioned machine learning model and techniques are discussed for exemplary purposes only and should not be construed as limiting one or more embodiments.
VI. FILTERING MARKET RESEARCH RESPONSES
FIG. 5 is a flow diagram of an example of operations for filtering market research responses according to an embodiment. One or more operations illustrated in FIG. 5 may be modified, rearranged, or omitted all together. Accordingly, the particular sequence of operations illustrated in FIG. 5 should not be construed as limiting the scope of one or more embodiments.
In an embodiment, a system (e.g., one or more system components described herein) trains a machine learning model to filter market research responses (Operation 502). Training the machine learning model may use one more techniques described herein. For example, training the machine learning model may start with supervised learning and then continue with unsupervised learning on an ongoing basis.
In an embodiment, the system receives a market research response (Operation 504), i.e., a response to a question in a market research survey provided by a market research platform. Receiving the response may include obtaining metadata associated with a user providing the response, such as tracked data points as described herein.
The system may be configured to start by using one or more codified filtering rules and then switch to machine-leaming-based filtering when a threshold criterion is satisfied. The system may determine whether machine-leaming-based filtering is enabled (Decision 506). If machine-leaming-based filtering is enabled, then the system may input the response to the trained machine learning model (Operation 510). If machine-learning-based filtering is not enabled, then the system may apply one or more codified filtering mles to the response (Operation 508). In some cases, the system may apply both machine learning and one or more codified filtering rules.
Based on machine learning and/or one or more codified filtering rules, the system determines whether the response is spam or low quality (Decision 512). If the response is spam or low quality, then the system executes a triggered action (Operation 516) to handle the spam or low-quality response. For example, the system may execute one or more triggered actions described herein. If the response is not spam or low quality, then the system accepts the response (Operation 514). Accepting the response may include adding the response to a set of accepted responses, which may be used to analyze results of the market research survey.
As discussed above, the system may be configured to start by using one or more codified filtering rules and then switch to machine-leaming-based filtering when a threshold criterion is satisfied. In such cases, the system may determine whether a threshold criterion for enabling machine-leaming-based filtering is satisfied (Decision 518). For example, a threshold criterion may require that the machine learning model be sufficiently trained (e.g., based on a threshold amount of data and/or a threshold number of training cycles). If the threshold criterion is satisfied, then the system enables machine-learning-based filtering (Operation 520). As discussed
above, training the machine learning model may continue even after machine-leaming-based filtering is enabled.
VII. GENERAL; COMPUTER SYSTEMS ; NETWORKS
In an embodiment, a system includes one or more devices, including one or more hardware processors, that are configured to perform any of the operations described herein and/or recited in any of the claims.
In an embodiment, one or more non-transitory computer-readable storage media store instructions that, when executed by one or more hardware processors, cause performance of any of the operations described herein and/or recited in any of the claims.
Any combination of the features and functionalities described herein may be used in accordance with an embodiment. In the foregoing specification, embodiments have been described with reference to numerous specific details that may vary from implementation to implementation. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the invention, and what is intended by the Applicant to be the scope of the invention, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction.
In an embodiment, techniques described herein are implemented by one or more special- purpose computing devices (i.e., computing devices specially configured to perform certain functionality). The special-purpose computing device(s) may be hard- wired to perform the techniques and/or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and/or network processing units (NPUs) that are persistently programmed to perform the techniques. Alternatively or additionally, a computing device may include one or more general-purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, and/or other storage. Alternatively or additionally, a special-purpose computing device may combine custom hard-wired logic, ASICs, FPGAs, or NPUs with custom programming to accomplish the techniques. A special-purpose computing device may include a desktop computer system, portable computer system, handheld device, networking device, and/or any other device(s) incorporating hard-wired and/or program logic to implement the techniques.
For example, FIG. 6 is a block diagram of an example of a computer system 600 according to an embodiment. Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a hardware processor 604 coupled with the bus 602 for processing information. Hardware processor 604 may be a general-purpose microprocessor.
Computer system 600 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604. Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 604. Such instructions, when stored in one or more non-transitory storage media accessible to processor 604, render computer system 600 into a special-purpose machine that is customized to perform the operations specified in the instructions.
Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604. A storage device 610, such as a magnetic disk or optical disk, is provided and coupled to bus 602 for storing information and instructions.
Computer system 600 may be coupled via bus 602 to a display 612, such as a liquid crystal display (LCD), plasma display, electronic ink display, cathode ray tube (CRT) monitor, or any other kind of device for displaying information to a computer user. An input device 614, including alphanumeric and other keys, may be coupled to bus 602 for communicating information and command selections to processor 604. Alternatively or additionally, computer system 600 may receive user input via a cursor control 616, such as a mouse, a trackball, a trackpad, or cursor direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. Alternatively or additionally, computer system 6 may include a touchscreen. Display 612 may be configured to receive user input via one or more pressure-sensitive sensors, multi-touch sensors, and/or gesture sensors. Alternatively or additionally, computer system 600 may receive user input via a microphone, video camera, and/or some other kind of user input device (not shown).
Computer system 600 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware, and/or program logic which in combination with other components of computer system 600 causes or programs computer system 600 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 600 in response to processor 604 executing one or more sequences of one or more instructions contained in main memory 606. Such instructions may be read into main memory 606 from another storage medium, such as storage device 610. Execution of the sequences of instructions contained in main memory 606 causes processor 604 to perform the process steps described herein. Alternatively or additionally, hard-wired circuitry may be used in place of or in combination with software instructions.
The term “storage media” as used herein refers to one or more non-transitory media storing data and/or instructions that cause a machine to operate in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610. Volatile media includes dynamic memory, such as main memory 606. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape or other magnetic data storage medium, a CD-ROM or any other optical data storage medium, any physical medium with patterns of holes, a RAM, a programmable read-only memory (PROM), an erasable PROM (EPROM), a FLASH-EPROM, non-volatile random-access memory (NVRAM), any other memory chip or cartridge, content-addressable memory (CAM), and ternary content-addressable memory (TCAM).
A storage medium is distinct from but may be used in conjunction with a transmission medium. Transmission media participate in transferring information between storage media. Examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 602. Transmission media may also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 604 for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions over a network, via a network interface controller (NIC), such as an Ethernet controller or Wi-Fi controller. A NIC
local to computer system 600 may receive the data from the network and place the data on bus 602. Bus 602 carries the data to main memory 606, from which processor 604 retrieves and executes the instructions. The instructions received by main memory 606 may optionally be stored on storage device 610 either before or after execution by processor 604.
Computer system 600 also includes a communication interface 618 coupled to bus 602. Communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to a local network 622. For example, communication interface 618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
As another example, communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 620 typically provides data communication through one or more networks to other data devices. For example, network link 620 may provide a connection through local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626. ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628. Local network 622 and Internet 628 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 620 and through communication interface 618, which carry the digital data to and from computer system 600, are example forms of transmission media.
Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620 and communication interface 618. In the Internet example, a server 660 might transmit a requested code for an application program through Internet 628, ISP 626, local network 622, and communication interface 618.
The received code may be executed by processor 604 as it is received, and/or stored in storage device 610, or other non-volatile storage for later execution.
In an embodiment, a computer network provides connectivity among a set of nodes running software that utilizes techniques as described herein. The nodes may be local to and/or
remote from each other. The nodes are connected by a set of links. Examples of links include a coaxial cable, an unshielded twisted cable, a copper cable, an optical fiber, and a virtual link.
A subset of nodes implements the computer network. Examples of such nodes include a switch, a router, a firewall, and a network address translator (NAT). Another subset of nodes uses the computer network. Such nodes (also referred to as “hosts”) may execute a client process and/or a server process. A client process makes a request for a computing service (for example, a request to execute a particular application and/or retrieve a particular set of data). A server process responds by executing the requested service and/or returning corresponding data.
A computer network may be a physical network, including physical nodes connected by physical links. A physical node is any digital device. A physical node may be a function- specific hardware device. Examples of function- specific hardware devices include a hardware switch, a hardware router, a hardware firewall, and a hardware NAT. Alternatively or additionally, a physical node may be any physical resource that provides compute power to perform a task, such as one that is configured to execute various virtual machines and/or applications performing respective functions. A physical link is a physical medium connecting two or more physical nodes. Examples of links include a coaxial cable, an unshielded twisted cable, a copper cable, and an optical fiber.
A computer network may be an overlay network. An overlay network is a logical network implemented on top of another network (for example, a physical network). Each node in an overlay network corresponds to a respective node in the underlying network. Accordingly, each node in an overlay network is associated with both an overlay address (to address the overlay node) and an underlay address (to address the underlay node that implements the overlay node). An overlay node may be a digital device and/or a software process (for example, a virtual machine, an application instance, or a thread). A link that connects overlay nodes may be implemented as a tunnel through the underlying network. The overlay nodes at either end of the tunnel may treat the underlying multi-hop path between them as a single logical link. Tunneling is performed through encapsulation and decapsulation.
In an embodiment, a client may be local to and/or remote from a computer network. The client may access the computer network over other computer networks, such as a private network or the Internet. The client may communicate requests to the computer network using a communications protocol, such as Hypertext Transfer Protocol (HTTP). The requests are
communicated through an interface, such as a client interface (such as a web browser), a program interface, or an application programming interface (API).
In an embodiment, a computer network provides connectivity between clients and network resources. Network resources include hardware and/or software configured to execute server processes. Examples of network resources include a processor, a data storage, a virtual machine, a container, and/or a software application. Network resources may be shared amongst multiple clients. Clients request computing services from a computer network independently of each other. Network resources are dynamically assigned to the requests and/or clients on an on- demand basis. Network resources assigned to each request and/or client may be scaled up or down based on, for example, (a) the computing services requested by a particular client, (b) the aggregated computing services requested by a particular tenant, and/or (c) the aggregated computing services requested of the computer network. Such a computer network may be referred to as a “cloud network.”
In an embodiment, a service provider provides a cloud network to one or more end users. Various service models may be implemented by the cloud network, including but not limited to Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). In SaaS, a service provider provides end users the capability to use the service provider’s applications, which are executing on the network resources. In PaaS, the service provider provides end users the capability to deploy custom applications onto the network resources. The custom applications may be created using programming languages, libraries, services, and tools supported by the service provider. In IaaS, the service provider provides end users the capability to provision processing, storage, networks, and other fundamental computing resources provided by the network resources. Any applications, including an operating system, may be deployed on the network resources.
In an embodiment, various deployment models may be implemented by a computer network, including but not limited to a private cloud, a public cloud, and a hybrid cloud. In a private cloud, network resources are provisioned for exclusive use by a particular group of one or more entities (the term “entity” as used herein refers to a corporation, organization, person, or other entity). The network resources may be local to and/or remote from the premises of the particular group of entities. In a public cloud, cloud resources are provisioned for multiple entities that are independent from each other (also referred to as “tenants” or “customers”). In a
hybrid cloud, a computer network includes a private cloud and a public cloud. An interface between the private cloud and the public cloud allows for data and application portability. Data stored at the private cloud and data stored at the public cloud may be exchanged through the interface. Applications implemented at the private cloud and applications implemented at the public cloud may have dependencies on each other. A call from an application at the private cloud to an application at the public cloud (and vice versa) may be executed through the interface.
In an embodiment, a system supports multiple tenants. A tenant is a corporation, organization, enterprise, business unit, employee, or other entity that accesses a shared computing resource (for example, a computing resource shared in a public cloud). One tenant (through operation, tenant- specific practices, employees, and/or identification to the external world) may be separate from another tenant. The computer network and the network resources thereof are accessed by clients corresponding to different tenants. Such a computer network may be referred to as a “multi-tenant computer network.” Several tenants may use a same particular network resource at different times and/or at the same time. The network resources may be local to and/or remote from the premises of the tenants. Different tenants may demand different network requirements for the computer network. Examples of network requirements include processing speed, amount of data storage, security requirements, performance requirements, throughput requirements, latency requirements, resiliency requirements, Quality of Service (QoS) requirements, tenant isolation, and/or consistency. The same computer network may need to implement different network requirements demanded by different tenants.
In an embodiment, in a multi-tenant computer network, tenant isolation is implemented to ensure that the applications and/or data of different tenants are not shared with each other. Various tenant isolation approaches may be used. In an embodiment, each tenant is associated with a tenant ID. Applications implemented by the computer network are tagged with tenant ID’s. Additionally or alternatively, data structures and/or datasets, stored by the computer network, are tagged with tenant ID’s. A tenant is permitted access to a particular application, data structure, and/or dataset only if the tenant and the particular application, data structure, and/or dataset are associated with a same tenant ID. As an example, each database implemented by a multi-tenant computer network may be tagged with a tenant ID. Only a tenant associated with the corresponding tenant ID may access data of a particular database. As another example,
each entry in a database implemented by a multi-tenant computer network may be tagged with a tenant ID. Only a tenant associated with the corresponding tenant ID may access data of a particular entry. However, the database may be shared by multiple tenants. A subscription list may indicate which tenants have authorization to access which applications. For each application, a list of tenant ID’s of tenants authorized to access the application is stored. A tenant is permitted access to a particular application only if the tenant ID of the tenant is included in the subscription list corresponding to the particular application.
In an embodiment, network resources (such as digital devices, virtual machines, application instances, and threads) corresponding to different tenants are isolated to tenant- specific overlay networks maintained by the multi-tenant computer network. As an example, packets from any source device in a tenant overlay network may only be transmitted to other devices within the same tenant overlay network. Encapsulation tunnels may be used to prohibit any transmissions from a source device on a tenant overlay network to devices in other tenant overlay networks. Specifically, the packets, received from the source device, are encapsulated within an outer packet. The outer packet is transmitted from a first encapsulation tunnel endpoint (in communication with the source device in the tenant overlay network) to a second encapsulation tunnel endpoint (in communication with the destination device in the tenant overlay network). The second encapsulation tunnel endpoint decapsulates the outer packet to obtain the original packet transmitted by the source device. The original packet is transmitted from the second encapsulation tunnel endpoint to the destination device in the same particular overlay network.
Claims
1. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: obtaining first usage data of a first plurality of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second plurality of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a first template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
2. The one or more non-transitory computer-readable media of claim 1, generating the first template- specific quality filter comprising: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
3. The one or more non-transitory computer-readable media of claim 1, generating the first template- specific quality filter comprising: obtaining a filter template comprising a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low- quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
4. The one or more non-transitory computer-readable media of claim 1, the operations further comprising: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
5. The one or more non-transitory computer-readable media of claim 1, the first template- specific quality filter being a rule-based filter, and the operations further comprising: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
6. The one or more non-transitory computer-readable media of claim 1, the first usage data and the second usage data comprising one or more of (a) longitudinal data associated with responses by a plurality of respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to a plurality of survey questions over a plurality of surveys.
7. The one or more non-transitory computer-readable media of claim 1, the first usage data and the second usage data comprising both (a) digital fingerprint attributes of the first plurality of survey respondents and the second plurality of survey respondents and (b) behavioral metadata
describing trackable behavior of the first plurality of survey respondents and the second plurality of survey respondents.
8. A system comprising: at least one device including a hardware processor; the system being configured to perform operations comprising: obtaining first usage data of a first plurality of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi-tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second plurality of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low- quality respondent.
9. The system of claim 8, generating the first template- specific quality filter comprising: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
10. The system of claim 8, generating the first template- specific quality filter comprising: obtaining a filter template comprising a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low- quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
11. The system of claim 8, the operations further comprising: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
12. The system of claim 8, the first template- specific quality filter being a rule-based filter, and the operations further comprising: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
13. The system of claim 8, the first usage data and the second usage data comprising one or more of (a) longitudinal data associated with responses by a plurality of respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to a plurality of survey questions over a plurality of surveys.
14. The system of claim 8, the first usage data and the second usage data comprising both (a) digital fingerprint attributes of the first plurality of survey respondents and the second plurality of survey respondents and (b) behavioral metadata describing trackable behavior of the first plurality of survey respondents and the second plurality of survey respondents.
15. A method comprising: obtaining first usage data of a first plurality of survey respondents to a first market research survey, the first market research survey being associated with a first tenant of a multi tenant market research survey platform and conforming to a first market research survey template provided by the multi-tenant market research survey platform; obtaining second usage data of a second plurality of survey respondents to a second market research survey, the second market research survey being associated with a second tenant of the multi-tenant market research survey platform and conforming to the first market research survey template provided by the multi-tenant market research survey platform; generating a template- specific quality filter associated with the first market research survey template, based at least on the first usage data and the second usage data; and based at least on the first template- specific quality filter and third usage data of a particular survey respondent, identifying the particular survey respondent as a low-quality respondent.
16. The method of claim 15, generating the first template- specific quality filter comprising: aggregating the first usage data and the second usage data to obtain aggregated training data; labeling the aggregated training data to indicate that at least a subset of the aggregated training data is associated with low-quality respondents; and based at least on the aggregated training data, training a machine learning model to identify low-quality respondents.
17. The method of claim 15, generating the first template- specific quality filter comprising: obtaining a filter template comprising a base rule and at least one threshold variable, the at least one threshold variable corresponding to a cutoff value that delineates between low- quality respondents and acceptable-quality respondents; and based at least on the first usage data and the second usage data, determining a value for the at least one threshold variable.
18. The method of claim 15, further comprising: responsive to identifying the particular survey respondent as a low-quality respondent, restricting the particular survey respondent’s use of the market research survey platform.
19. The method of claim 15, the first template- specific quality filter being a rule-based filter, and the method further comprising: training a machine learning model to operate as a second template- specific quality filter; and responsive to determining that the machine learning model satisfies at least one switching criterion, switching from using the rule-based filter to using the machine learning model to identify low-quality respondents.
20. The method of claim 15, the first usage data and the second usage data comprising one or more of (a) longitudinal data associated with responses by a plurality of respondents to one or more of a same question or similar questions, or (b) longitudinal data associated with responses by a particular respondent to a plurality of survey questions over a plurality of surveys.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163153991P | 2021-02-26 | 2021-02-26 | |
US17/404,162 US20220277326A1 (en) | 2021-02-26 | 2021-08-17 | Performance and quality improvements for a market research platform |
PCT/US2022/070852 WO2022183218A1 (en) | 2021-02-26 | 2022-02-25 | Performance and quality improvements for a market research platform |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4298582A1 true EP4298582A1 (en) | 2024-01-03 |
Family
ID=80786654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP22711420.4A Pending EP4298582A1 (en) | 2021-02-26 | 2022-02-25 | Performance and quality improvements for a market research platform |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4298582A1 (en) |
AU (1) | AU2022227932A1 (en) |
CA (1) | CA3209950A1 (en) |
WO (1) | WO2022183218A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240281837A1 (en) * | 2023-02-17 | 2024-08-22 | Wevo, Inc. | System for scaling panel-based research |
US11972442B1 (en) | 2023-02-17 | 2024-04-30 | Wevo, Inc. | Scalable system and methods for curating user experience test respondents |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170053299A1 (en) * | 2015-08-20 | 2017-02-23 | Swurveys, Inc. | System and methods for effectively taking surveys using mobile devices |
US11080656B2 (en) * | 2019-04-11 | 2021-08-03 | Prime Research Solutions LLC | Digital screening platform with precision threshold adjustment |
-
2022
- 2022-02-25 WO PCT/US2022/070852 patent/WO2022183218A1/en active Application Filing
- 2022-02-25 CA CA3209950A patent/CA3209950A1/en active Pending
- 2022-02-25 EP EP22711420.4A patent/EP4298582A1/en active Pending
- 2022-02-25 AU AU2022227932A patent/AU2022227932A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022183218A1 (en) | 2022-09-01 |
CA3209950A1 (en) | 2022-09-01 |
AU2022227932A1 (en) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093849B2 (en) | Systems and method for content provisioning via distributed presentation engines | |
US10841323B2 (en) | Detecting robotic internet activity across domains utilizing one-class and domain adaptation machine-learning models | |
US10205796B1 (en) | Systems and method for content provisioning via distributed presentation engines | |
US8810368B2 (en) | Method and apparatus for providing biometric authentication using distributed computations | |
US11695721B2 (en) | Method, apparatus, and computer program product for categorizing multiple group-based communication messages | |
US20200067967A1 (en) | Network based intervention | |
US10872118B2 (en) | System and methods for automatic machine-learning based objective recommendation | |
EP4298582A1 (en) | Performance and quality improvements for a market research platform | |
US11616799B1 (en) | Training a model to detect malicious command and control cloud | |
US11250720B2 (en) | Systems and methods for automated and direct network positioning | |
US20190166150A1 (en) | Automatically Assessing a Severity of a Vulnerability Via Social Media | |
US20230065845A1 (en) | Automated runbook operation recommendations | |
US11763148B2 (en) | Systems and methods for managing interaction invitations | |
US11417337B1 (en) | Initiating conversation monitoring system action based on conversational content | |
US11895130B2 (en) | Proactive suspicious activity monitoring for a software application framework | |
US20240022594A1 (en) | Detecting malicious command and control cloud traffic | |
US20220277326A1 (en) | Performance and quality improvements for a market research platform | |
US20230289559A1 (en) | Human-understandable insights for neural network predictions | |
US20220345353A1 (en) | Real-time monitoring of machine learning models in service orchestration plane | |
US11972442B1 (en) | Scalable system and methods for curating user experience test respondents | |
US20240281837A1 (en) | System for scaling panel-based research | |
US20240296284A1 (en) | Language Model Preprocessing with Weighted N-grams | |
US20240289817A1 (en) | Sales orchestration using iterative machine learning | |
Pettersson et al. | Using markov decision processes and reinforcement learning to guide penetration testers in the search for web vulnerabilities | |
US20230421574A1 (en) | Security Content Delivery Based on Tagged Personas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230901 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |