USRE50079E1 - System and method for analyzing human interaction with electronic devices that access a computer system through a network - Google Patents
System and method for analyzing human interaction with electronic devices that access a computer system through a network Download PDFInfo
- Publication number
- USRE50079E1 USRE50079E1 US14/608,929 US201514608929A USRE50079E US RE50079 E1 USRE50079 E1 US RE50079E1 US 201514608929 A US201514608929 A US 201514608929A US RE50079 E USRE50079 E US RE50079E
- Authority
- US
- United States
- Prior art keywords
- viewing
- peak
- stb
- channel
- 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.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 150
- 241000282414 Homo sapiens Species 0.000 title claims abstract description 83
- 230000003993 interaction Effects 0.000 title claims abstract description 50
- 238000004422 calculation algorithm Methods 0.000 claims description 105
- 230000000694 effects Effects 0.000 claims description 77
- 238000004458 analytical method Methods 0.000 claims description 40
- 238000007405 data analysis Methods 0.000 claims description 26
- 230000006399 behavior Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 9
- 238000012384 transportation and delivery Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 claims 6
- 241000282412 Homo Species 0.000 claims 2
- 230000002596 correlated effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 abstract description 18
- 230000008901 benefit Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 86
- 238000012545 processing Methods 0.000 description 54
- 230000008859 change Effects 0.000 description 37
- 230000001413 cellular effect Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000013439 planning Methods 0.000 description 16
- 238000002360 preparation method Methods 0.000 description 15
- 238000007781 pre-processing Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 239000000835 fiber Substances 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 6
- 238000004220 aggregation Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000036316 preload Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000009924 canning Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000010921 in-depth analysis Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000010234 longitudinal analysis Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/29—Arrangements for monitoring broadcast services or broadcast-related services
- H04H60/33—Arrangements for monitoring the users' behaviour or opinions
Definitions
- Cable television providers need tools that provide detailed information on how their customers consume their product. Cable television providers need to provide adequate network capacity to deliver a quality product to consumers.
- One source of raw data is channel change data collected by switched digital video systems.
- Switched Digital Video is one technology that is currently being introduced to better manage cable company network resources.
- SDV Switched Digital Video
- Strickland, Jonathan* provides a detailed explanation of the technology: * Strickland, Jonathan. “How Switched Digital Video Works” 20 Nov. 2007.
- HowStuffWorks.com. http://electronics.howstuffworks.com/switched-digital-video.htm>
- the Motorola system is available from Motorola, Inc. 1303 East Algonquin Road, Schaumburg, Ill. The Motorola configuration is described in the Solutions Paper entitled “Implementing Switched Digital Video Solutions” found on the Motorola web site at:
- Cisco Systems, Inc. system is available from Cisco Systems, Inc., 170 West Tasman Dr., San Jose, Calif.
- the CISCO SDV solution was formerly sold by Scientific-Atlanta, Inc.
- a benefit of SDV systems is that individual set-top box channel change data is collected on the SDV servers as part of normal system operation without any additional actions on the part of the viewer.
- SDV Vendor 1 Format One vendor produces channel change data containing fields similar to this (hereinafter SDV Vendor 1 Format):
- the data file is typically created daily. Business rules are applied if the tune-in and tune-out events occur on different days.
- SDV Vendor 2 Format The other SDV vendor produces channel change data containing fields similar to this (hereinafter SDV Vendor 2 Format):
- the data file is typically created daily. Business rules are applied if the tune-in and tune-out events occur on different days.
- SDV Vendor 2 Format can be transformed into a format similar to SDV Vendor 1 Format by combining the tune-in record and the tune-out record into a single record containing both tune-in date-time and tune-out date-time. This is done by sorting the file in order by Market, Service Group, Set-top box identifier, Tuner index, Date, and Time and then matching each tune-out record to the previous tune-in record using Event code to identify tune-in and tune-out actions. They will also recognize that by adding a lookup table to the process they can enhance the Market+Service group information to also include Hub and Headend.
- the vendor may generate a tune-out event in the data file when the user turns off the power.
- the channel change data can be captured by the set-top box itself.
- Set-top box tuning information is widely available for measuring audience viewing habits. For example, on Feb. 24, 2010 the STB Committee of the Council for Research Excellence published a study titled “The State Of Set-Top Box Viewing Data as of December 2009” in which the report reviewed current industry trends in this area and noted that channel tuning data is widely available.
- set-top box data capture the cable operators have ready access to this data as it is captured on the set-top box by the STB software. The data can then be transferred to central systems at the cable company for analysis. Similarly, satellite broadcasters have access to such data.
- this file format can be transformed into a format similar to SDV Vendor 1 Format by combining data from consecutive channel tune records into a single record containing both tune-in date-time and tune-out date-time. This is done by sorting the file in order by Set-top box identifier, Tuner index, and Time and then using the Time from the next record (minus 1 second) as the tune-out time of the current record. The result is that the tune-in time comes from the current record and the tune-out time comes from the next record. They will also recognize that it is a simple task to convert the time represented in seconds since some historic date to the current date and time in YYYY-MM-DD HH:MM:SS AM/PM format.
- the vendor may generate a tune-out event in the data file when the user turns off the power.
- the vendor may also provide the tune-out time in the data file.
- IPTV Data as a Data Source
- IPTV internet protocol television
- the cell phone provider has ready access to detailed call records which can be prepared in the format needed for processing by the Analytics Engine 140 .
- the communication on the cell phone can be initiated by the device user or it can be a response to another device such as another cell phone calling.
- channel change data those with ordinary skill in the art would know how to capture channel change files or tuning data from various source systems and make them available to an analysis engine by reading them from the SDV system and transferring them to the data analysis computer using tools such as secure file transfer protocol.
- Other methods for receiving channel change data may be used such as Extensible Markup Language (XML) messages or any other computer readable format.
- XML Extensible Markup Language
- Encryption may be applied for data security purposes. Compression may be applied to reduce data transfer volumes.
- SDV systems capture channel change data in order to support the basic function of providing Switched Digital Video.
- SDV channel change data is particularly useful because it includes all channel changes, both of broadcast channels and of switched channels.
- the channel change data can be captured by the set-top box itself.
- STB activity both SDV and non-SDV
- STB data provides very large measurement samples.
- STB data provides the ability to gather data from many geographic areas.
- STB data can be augmented with demographic data.
- STB data can be augmented with program attribute data.
- the necessary data can be captured as part of normal operations without any special effort on the part of the user.
- the vendors that provide the SDV systems also provide tools that use this data to perform basic analytics for capacity planning. This indicates that there is confidence in the quality of the data. This is important because others have noted that in the current technology environment there are concerns or issues with Set-top box data quality.
- a benefit of using SDV data is that for switched channels which are only delivered when requested (as opposed to broadcast channels which are always available), the vendors may include algorithms for reclaiming bandwidth.
- the vendors may include algorithms for reclaiming bandwidth.
- the SDV system detects the lack of activity on the part of the viewer for some period of time the system can force tune the STB to a broadcast channel.
- the vendor SDV software does this to make the bandwidth that was being used by the switched channel available for other channel tune requests. This has the result of removing false positives (e.g., it appears that someone is watching when no one is) from the data, at least to a certain degree, and thus increasing the quality of the data for analytics.
- Data cleansing algorithms can be introduced to reduce the implied viewing time when it is reasonable to assume that no one is viewing the television. For example, it is widely known that viewers will often turn off the television while leaving power on to the set-top box. This can make the tuning data appear as though the viewer is watching television, but really they are not.
- the Analytics Engine 140 can examine the duration of the tune when it is being loaded to the data array and adjust tune duration according the business rules.
- the business rules can include parameters based on demographic modeling, time of day, channel, etc. For example, if the tune duration is 10,800 seconds (3 hours), then stop counting viewing seconds at the half hour mark after 7,200 seconds of viewing time based on the assumption that the viewer is no longer watching the channel.
- the Analytic Engine 140 may be desirable to include all channel tune events, even channel surfing events, because they created a load on the SDV system.
- measurements can be performed to find the average tune duration.
- the Analytic Engine 140 could count the number of channel tune events per day where duration is less than x seconds.
- the cable operator can make intelligent choices about which channels to deliver as switched channels and which to deliver as broadcast channels. From the perspective of the cable system operator, the fewer the number of viewers viewing the channel, the more suitable the channel is delivery as a switched channel.
- Capacity in an SDV environment is typically measured in megabits per second of bandwidth that can be delivered.
- a standard definition channel usually requires 3.75 Mbits/second.
- a high definition channel usually requires 15 Mbits/second.
- the number of channels that can be delivered at any time is dependent on the available megabits per second of bandwidth.
- the Motorola reporting tool does not provide in depth analysis of channel usage. It does not show average viewing duration, it does not show stay-away seconds, it does not show viewing or non-viewing seconds, it does not show what percent of the day an activity occurs, it does not show peak viewing second or peak viewing count. These and other measures are very helpful for capacity planning and for choosing switched vs. broadcast channels, and for other purposes such as customer behavioral analysis. But Motorola does not provide them.
- CISCO provides a “Retriever” product which “Collects viewing data based on the consumer's ‘clicks’ of the set-top remote each time a new channel is selected”.
- CISCO also provides a “Channel Viewership Analyzer” tool as described on their web site.
- CVA Channel Viewership Analyzer
- the CISCO reporting tool does not provide in depth analysis of channel usage. It does not show average viewing duration, it does not show stay-away seconds, it does not show viewing or non-viewing seconds, it does not show what percent of the day an activity occurs, it does not show peak viewing second or peak viewing count or whether a channel was viewed during peak or how many seconds it was viewed during the peak window. These and other measures are very helpful for capacity planning and for choosing switched vs. broadcast channels, and for other purposes. But CISCO does not provide them.
- IneoQuest Technologies, Inc. provides “solutions for monitoring, testing and validating SDV components and networks”. These solutions are focused on monitoring the SDV application infrastructure rather than understanding viewer behavior. They appear to focus on monitoring system operations rather than viewer behavior.
- Patent Application 20080127252 dated May 29, 2008 teaches about targeted advertising. He notes that SDV systems have the ability to provide viewership counts. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis. Allegrezza; Fred J.; et al. in U.S. Patent Application 20090077577 dated Mar. 19, 2009 teaches about aggregating information obtained from the messages to generate channel viewership information identifying a number of subscribers tuned to each broadcast channel over a period of time, but it appears to be based simply on tune-in activity. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis.
- the existing solutions generally do not blend detailed channel change data with demographic data or program attribute data.
- the solutions provided by Motorola, CISCO and others do not allow the cable companies or service providers to marry demographic or program attribute data with the tuning data to yield increased knowledge of customer behavior.
- I disclose a computer-implemented method, executed on a data analysis computer system, of analyzing a plurality of human interactions by a plurality of human beings with a plurality of electronic devices, each interacting with a computer system accessed through a network with the result of being able to (a) provide insight into the amount of resource consumed by the human interaction with the electronic device, (b) provide insight into the electronic device usage patterns, and (c) provide insight into the behavior of the human operator.
- STB activity and cell phone activity fit this problem space.
- start time and the duration of the activity varies, and there are multiple users with each creating a load on the system.
- the peak load is dependent on concurrent activity, not start time or simply duration.
- the peak load must be determined by finding the point in time when the most devices are concurrently active. Resource consumption is also dependent on concurrent device activity rather than start time or duration.
- the data structure can be populated with any level of detail. In one embodiment it may be populated with very detailed information such as individual device usage for each second of the period being analyzed. In another embodiment it may be populated with highly summarized data such as aggregate device usage for an entire geographic area for each second of the period being analyzed. Another embodiment may aggregate data according to demographics by time period. Yet another embodiment may aggregate data by program attribute and time period. Yet still other embodiments may combine various aspects of geographic area, demographic attribute, and program attribute information. Yet another embodiment may load fractional values into the buckets to represent fast forwarding through a program or an advertisement. Yet another embodiment may load fractional values into various buckets to represent each of several activities occurring concurrently on the electronic device with each activity possibly capturing some amount of the user's attention.
- the metrics can then be output as (i) a data file that can be read by a computer program, (ii) a data base table, (iii) an electronic message, or (iv) a spreadsheet.
- the Analytics Engine 140 presented in this embodiment provides a solution to the shortcomings identified in the vendor solutions, the issued patents, and the patent applications.
- a sampling of the metrics produced by the Analytics Engine 140 in the context of cable television is presented next:
- STB channel viewing seconds STB channel tune-ins
- STB channel average viewing duration STB Channel stay away seconds.
- Channel viewing seconds Channel non-viewing seconds, Aggregate channel viewing seconds, Peak viewing second for channel, Peak viewing count for channel, Percent of peak viewership at this channel's peak, Channel viewed seconds during peak window, Aggregate Channel viewed seconds during peak window.
- Demographic viewing seconds Aggregate demographic viewing seconds, Percent of the day when this demographic is viewing television, Peak viewing second for demographic, Aggregate demographic viewing at this demographic's peak, Percent of peak viewership by this demographic's peak.
- Program viewing seconds Program one STB viewing seconds
- Aggregate program viewing seconds Percent of the day when only one STB is viewing programs having this attribute
- Percent of peak viewership by this program attribute Program viewed seconds during peak.
- the Analytics Engine 140 is also able to produce metrics on non-viewing or non-use. Such metrics can be extremely valuable to advertisers since they indicate when not to advertise. Such metrics are useful to content providers because they identify non-viewed content. Such metrics are valuable to capacity planners because they identify potential times for system maintenance and in the case of SDV which channels are good candidates to be switched.
- the metrics listed above are representative of those which can be produced by the Analytics Engine 140 in one embodiment. Many additional metrics could be produced once the data is loaded to the Data Structure. It is the extensive processing done by the Analytics Engine 140 which turns the device usage data into valuable information. The Analytics Engine 140 readily allows creation of both viewing and non-viewing metrics.
- Activity occurring on electronic device means any interaction or activity that may happen as a result of any aspect of a human interaction with an electronic device.
- Nonlimiting examples include:
- Activity occurring on set-top box means any interaction or activity that may happen as a result of any aspect of a human interaction with a set-top box.
- Nonlimiting examples include:
- Amount of resource consumed means a measure of resource consumption.
- Nonlimiting examples include:
- Bandwidth means a measure of resource consumption to determine how much of the capacity of a communications channel is used in providing a service. In a digital system that capacity is typically measured in megabits per second.
- Buckets means individual cells in a Data Structure.
- Nonlimiting examples include:
- Cell tower means a station for communicating with cell phones or personal communication devices in a cellular network.
- Channel means a radio frequency signal within the frequency spectrum.
- the radio frequency signal is assigned to an identifier which is called a channel.
- each channel and the radio frequency signal assigned to it is unique.
- a channel is typically referred to by the call letters or channel call sign such as: ABC, CBS, NBC, etc.
- a channel may also refer to the radio frequency used to transmit a cellular telephone call.
- Channel tuning events that occur as a result of a previous human action means those interactions with a set-top box which happen later in time because of something a human being did previously.
- Nonlimiting examples include:
- Circuit means a communication channel in a network or a cellular network or a cable television network. Any communication channel which transmits data or information.
- Computer equipment means any computer equipment used to facilitate the interaction of a human being with an electronic device across a network.
- Computer system accessed through a network means any computer system, any individual piece of computer equipment or electronic gear, or any combination of computer equipment or electronic gear which enables or facilitates the human interaction with the electronic device.
- Nonlimiting examples include:
- Data analysis computer system means a combination of one or more computers on which a Data Analysis Program or Programs can be executed.
- Data analysis computer of known type means any commonly available computer system running a commonly known operating system.
- Nonlimiting examples include:
- Data analysis program means a computer program or programs containing algorithms that are able to analyze the data that has been loaded to a Data Structure or a combination of Data Structures.
- Data base table means any relational data base table structure.
- Data file that can be read by a computer program means any computer readable file format.
- Nonlimiting examples include:
- Data structure means a place in a computer program or computer system where data can be stored for analysis in such a manner that formulas and algorithms can be run against the data to produce meaningful metrics.
- Nonlimiting examples include:
- Such structures may be stored in the memory of the computer, but they could also be stored on electronic disk or other computer hardware.
- Electronic device means any electronic device that may be used either directly or indirectly by a human being.
- Nonlimiting examples include: Gaming station, web browser, MP3 Player, Internet Protocol phone, Internet Protocol television, set-top box, satellite receiver, set-top box in a cable television network, set-top box in a satellite television system, cell phone, personal communication device, cable modem, personal video recorder, etc.
- Electronic device usage data means any data that captures any aspect of a human interaction with an electronic device.
- Nonlimiting examples include:
- Electronic message means any computer readable output that can be used as input to another computer or read by a human.
- Nonlimiting examples include:
- Frequencies means radio frequencies in a cable television system or a cellular network.
- Headend means a location in a network where incoming signals are received, prepared, and then transmitted downstream to other parts of the network.
- Nonlimiting examples include:
- a headend typically serves multiple hubs.
- HFC Network means hybrid fiber coax network.
- High definition means television channels having high resolution and thus they are delivered using a data transfer rate of approximately 15 megabits per second.
- Hub means a location in a network where incoming signals are received, and then transmitted downstream to other parts of the network.
- Nonlimiting examples include:
- a hub typically serves multiple service groups.
- Human interactions means any interaction with an electronic device interacting with a computer system accessed through a network.
- Nonlimiting examples include:
- any activity involving a set-top box such as tune-in, tune-out, power on, power off, fast forward, reverse, mute, trick plays, etc.
- any activity involving a personal communication device such as placing a call, receiving a call, calling, checking email, downloading data files, surfing the web, etc.
- any activity involving a personal computer that is accessing the internet such as watching a movie, downloading files, surfing the web, etc.
- Identifier of cable television system equipment serving said set-top box means any combination of letters, numbers or symbols that can identify equipment in a cable television system that is used to deliver signals to a set-top box.
- Nonlimiting examples include:
- Identifier of computer system accessed through said network means any combination of letters, numbers or symbols that can identify a computer system that may be access though a network.
- Nonlimiting examples include:
- Identifier of electronic device means any combination of letters, numbers or symbols that can identify a device. Nonlimiting examples include:
- Identifier of resource consumed means any combination of letters, numbers or symbols that can identify a Resource. Nonlimiting examples include:
- Identifier of set-top box means any combination of letters, numbers or symbols that can identify a set-top box. Nonlimiting examples include:
- Identifying fields for things of interest for analysis means a field or combination of fields that can be used to identify the buckets in a Data Structure.
- Nonlimiting examples include:
- Individual units of time means any period of time that may be of interest in relation to measuring human interaction with an electronic devices accessed through a network.
- Nonlimiting examples include:
- Interactions with electronic device that occur as a result of a previous human action means those interactions with an electronic device which happen later in time because of something a human being did previously.
- Nonlimiting examples include:
- the human being did some interaction or set some parameter to cause the electronic device to wake-up and do something and it is occurring at a later time.
- Internet protocol packets transferred means a measure of the number of data packets transferred to support the interaction of a human being with an electronic device. This can be internet protocol packets or Ethernet packets. Nonlimiting examples include:
- Information about location means any information that can be used to identify the place on the earth where an electronic device or a set-top box is.
- Nonlimiting examples include:
- Market means a geographic area within a service providers' network.
- Megabits per second of data transferred means a measure of the amount of data transferred to support an electronic service.
- Nonlimiting examples include:
- Network means any computer network.
- Nonlimiting examples include:
- Network capacity means a measure of the amount of data that can be transferred during a period of time.
- Network equipment means any physical or logical device used in a network. Nonlimiting examples include: hubs, routers, switches, nodes, circuits, port, etc.
- Node means a component in a cellular network or a cable television network.
- Pipe delimited text files means data files where the fields are separated by the “
- Quadrature amplitude modulation signals means a measure of bandwidth consumption.
- Radio frequencies means radio waves of various measures.
- Real time channel tuning events means those interactions which occur as the person interacts with a set-top box.
- Nonlimiting examples include:
- Real time human interactions means those interactions which occur as the person interacts with an electronic device.
- Nonlimiting examples include:
- Resource means anything that supports or enables the interaction of the human being with an electronic device across a network.
- Nonlimiting examples include:
- Service group means a location in a network where incoming signals are received and then transmitted to set-top boxes.
- Nonlimiting examples include:
- a service group typically serves 500 to 1000 homes.
- a service group may equate to a Node.
- Set-top box means an electronic device that receives external signals and decodes those signals into content that can be viewed on a television screen or similar display device.
- the signals may come from a cable television system, a satellite television system, a network, or any other suitable means.
- a set-top box may have one or more tuners.
- the set-top box allows the user to interact with it to control what is displayed on the screen.
- the set-top box is able to capture the commands given by the user and the transmit those commands to another computer system.
- Spreadsheet means any commonly known electronic worksheet format. Nonlimiting examples include:
- Standard definition means television channels having standard resolution and thus they are delivered using a data transfer rate of approximately 3.75 megabits per second.
- STB means Set-top box.
- Tune-in date and time means the date and time when the set-top box initiates viewing on the channel. This can be represented in any format that can be used to identify the point in time when the set-top box initiates viewing on the channel. Nonlimiting examples include:
- Tune-out date and time means the date and time when the set-top box ended viewing on the channel. This can be represented in any format that can be used to identify the point in time when the set-top box ended viewing on the channel. Nonlimiting examples include:
- Tuner means a tuner in a Set-top box.
- Tuner index means an identifier of a tuner in a Set-top box.
- Window of time of interest for analysis means any period of time during which it is desired to measure the human interaction with an electronic devices accessed through a network.
- Nonlimiting examples include:
- FIG. 1 illustrates an overview of an exemplary process for receiving and processing channel tune data from various sources, according to one embodiment.
- FIG. 2 illustrates an exemplary flowchart for preprocessing channel tune data from a Switched Digital Video system, according to one embodiment.
- FIGS. 3 A-B illustrate exemplary flowcharts for preprocessing channel tune data from another Switched Digital Video system, according to one embodiment with FIG. 3 A showing Part A of the process and FIG. 3 B showing Part B of the process.
- FIGS. 4 A-B illustrate exemplary flowcharts for preprocessing channel tune data from a Set-top box application software system, according to one embodiment with FIG. 4 A showing Part A of the process and FIG. 4 B showing Part B of the process.
- FIG. 5 illustrates an exemplary flowchart for sorting channel tune data that has been preprocessed into a standardized format so that the channel tune data can be loaded to the Analytics Engine 140 for processing, according to one embodiment.
- FIGS. 6 A-B illustrate an exemplary process for loading standardized channel tune data into the STB-CHANNEL-VIEWING-DETAIL table in the Analytics Engine 140 in preparation for calculating the various STB+Channel metrics, according to one embodiment with FIG. 6 A illustrating a flowchart of the process and FIG. 6 B illustrating an exemplary code sample.
- FIGS. 7 A-B illustrate an exemplary process for loading standardized channel tune data into the STB-VIEWING-DETAIL table in the Analytics Engine 140 in preparation for calculating the various STB metrics, according to one embodiment with FIG. 7 A illustrating a flowchart of the process and FIG. 7 B illustrating an exemplary code sample.
- FIGS. 8 A-B illustrate an exemplary process for loading standardized channel tune data into the CHAN-VIEWING-DETAIL table in the Analytics Engine 140 in preparation for calculating the various Channel metrics, according to one embodiment with FIG. 8 A illustrating a flowchart of the process and FIG. 8 B illustrating an exemplary code sample.
- FIGS. 9 A-B illustrate an exemplary process for loading standardized channel tune data into the DEMO-VIEWING-DETAIL (DEMOGRAPHIC-VIEWING-DETAIL) table in the Analytics Engine 140 in preparation for calculating the various demographic based metrics, according to one embodiment with FIG. 9 A illustrating a flowchart of the process and FIG. 9 B illustrating an exemplary code sample.
- DEMO-VIEWING-DETAIL DEMOGRAPHIC-VIEWING-DETAIL
- FIGS. 10 A-B illustrate an exemplary process for loading standardized channel tune data into the PROG-VIEWING-DETAIL (PROGRAM-VIEWING-DETAIL) table in the Analytics Engine 140 in preparation for calculating the various program based metrics, according to one embodiment with FIG. 10 A illustrating a flowchart of the process and FIG. 10 B illustrating an exemplary code sample.
- FIGS. 11 -A-B-C illustrate an exemplary channel tune file format and data according to one embodiment with FIG. 11 -A illustrating the file format, FIG. 11 -B illustrating the channel tune data as it is received from the source in pipe delimited format, and FIG. 11 -C illustrating the channel tune data formatted into a table for human readability.
- FIGS. 12 -A-B-C illustrate another exemplary channel tune file format and data according to one embodiment with FIG. 12 -A illustrating the file format, FIG. 12 -B illustrating the channel tune data as it is received from the source in pipe delimited format, and FIG. 12 -C illustrating the channel tune data formatted into a table for human readability. This represents SDV Vendor 2 Format.
- FIGS. 13 -A-B-C illustrate an exemplary channel tune file format and data from a Set-top box system according to one embodiment with FIG. 13 -A illustrating the file format, FIG. 13 -B illustrating the channel tune data as it is received from the source in pipe delimited format, and FIG. 13 -C illustrating the channel tune data formatted into a table for human readability.
- FIGS. 14 -A-B-C illustrate an exemplary channel tune file formatted for use as input to the Analytics Engine 140 with FIG. 14 -A illustrating the file format, and FIG. 14 -B illustrating sample data without program attribute, or demographics, and FIG. 14 -C illustrating sample data with program attribute, and demographics, according to one embodiment.
- FIGS. 15 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id+Set-top box+Tuner detail where the granularity is second of day, according to one embodiment.
- FIG. 15 -A illustrates the Data Structure
- FIG. 15 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 16 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Set-top box+Tuner detail where the granularity is second of day, according to one embodiment.
- FIG. 16 -A illustrates the Data Structure
- FIG. 16 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 17 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id detail where the granularity is second of day, according to one embodiment.
- FIG. 17 -A illustrates the Data Structure
- FIG. 17 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 18 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend detail where the granularity is second of day, according to one embodiment.
- FIG. 18 -A illustrates the Data Structure
- FIG. 18 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 19 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend summary statistics where the granularity is daily, according to one embodiment.
- FIG. 19 -A illustrates the Data Structure
- FIG. 19 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 20 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Demographic Category 1 +Demographic Category 2 detail where the granularity is second of day, according to one embodiment.
- FIG. 20 -A illustrates the Data Structure
- FIG. 20 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 21 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Program Attribute 1 +Program Attribute 2 detail where the granularity is second of day, according to one embodiment.
- FIG. 21 -A illustrates the Data Structure
- FIG. 21 -B illustrates sample data in this Data Structure, according to one embodiment.
- FIGS. 22 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id+Set-top box+Tuner, according to one embodiment.
- FIG. 22 -A illustrates the record format
- FIG. 22 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 152 .
- FIGS. 23 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Set-top box+Tuner, according to one embodiment.
- FIG. 23 -A illustrates the record format
- FIG. 23 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 154 .
- FIGS. 24 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id, according to one embodiment.
- FIG. 24 -A illustrates the record format
- FIG. 24 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 156 .
- FIGS. 25 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Second-of-day, according to one embodiment.
- FIG. 25 -A illustrates the record format
- FIG. 25 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 162 .
- FIGS. 26 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of daily activity for the Market+Service-Group+Hub+Headend, according to one embodiment.
- FIG. 26 -A illustrates the record format
- FIG. 26 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 164 .
- FIGS. 27 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Demographic Category 1 +Demographic Category 2 , according to one embodiment.
- FIG. 27 -A illustrates the record format
- FIG. 27 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 166 .
- FIGS. 28 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Program Attribute 1 +Program Attribute 2 , according to one embodiment.
- FIG. 28 -A illustrates the record format
- FIG. 28 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing. This is the detail of part 168 .
- FIG. 29 illustrates a human being interacting with an electronic device which is interacting with a computer system accessed through a network.
- FIG. 30 illustrates an alternative version of a human being interacting with an electronic device which is interacting with a computer system accessed through a network.
- FIG. 31 illustrates a second alternative version of a human being interacting with an electronic device which is interacting with a computer system accessed through a network.
- FIG. 32 illustrates a human being interacting with an television system which is part of a satellite television network.
- the Analytics Engine 140 can be implemented on processors provided by the Intel® Corporation under the trademark PENTIUM® using single or multiple processor configurations.
- the operating system offered by Microsoft® Corporation under the trademark Windows® XP Professional can be used as the basis for the platform.
- the Analytics Engine 140 can be implemented in a number of programming languages, including but not limited to, COBOL, C and C++.
- the embodiments described herein enable one of ordinary skill in the art to implement (i.e. build) the Analytics Engine 140 and supporting software, it in no way restricts the method of implementation, the Analytics Engine 140 and supporting software being capable of being implemented on a variety of hardware/software platforms with a variety of development languages, databases, communication protocols and frameworks as will be evident to those of ordinary skill in the art.
- FIG. 1 is a flowchart illustrating an overview of an exemplary process for receiving and processing channel tune data from various sources, according to one embodiment.
- a cable television company operating a Switched Digital Video system using the SDV platform of a first vendor 102 collects channel tune data 112 in the format provided by Vendor 1 's SDV system as part of the normal operation of said Switched Digital Video system.
- Channel tune data 112 is then preprocessed using a computer program 122 which reformats said SDV vendor's channel tune data into a common format, performs data enrichments, and applies business rules as data quality checks all in preparation for passing an unsorted channel tune file in a common or standardized format 130 into a sort function 132 which then sorts the data producing Sorted Channel Tune File in common format 134 in preparation for processing by an Analytics Engine 140 .
- a cable television company operating a Switched Digital Video system using the SDV platform of a second vendor 104 collects channel tune data in the format provided by Vendor 2 's SDV system as part of the normal operation of said Switched Digital Video system.
- Channel tune data 114 is then preprocessed using a computer program 124 which reformats said SDV vendor's channel tune data into a common format, performs data enrichments, and applies business rules as data quality checks all in preparation for passing an unsorted channel tune file in a common or standardized format 130 into a sort function 132 which then sorts the data producing Sorted Channel Tune File in common format 134 in preparation for processing by an Analytics Engine 140 .
- a cable television company or satellite television broadcasting company provides Set-top box application software 106 for its customers to use to operate their set-top box. Such software may be developed in-house or by a third party.
- the STB software 106 collects channel tune data 116 as part of the normal operation of said Set-top box application software system. STB Channel tune data 116 is then preprocessed using a computer program 126 which reformats the STB Channel tune data 116 into a common format, performs data enrichments, and applies business rules as data quality checks all in preparation for passing an unsorted channel tune file in a common or standardized format 130 into a sort function 132 which then sorts the data producing Sorted Channel Tune File in common format 134 in preparation for processing by an Analytics Engine 140 .
- Analytics Engine 140 then loads the preprocessed channel tune data into the memory of a computer performing various aggregations, calculations and analytics which are then exported (written) to one or more files to make the analytics available for further reporting and analysis or for loading to downstream systems.
- the files produced include: STB-Channel-viewing-detail 152 , STB-viewing-detail 154 , Channel-viewing-detail 156 , Channel-Second-of-day-summary 162 , Channel-daily-statistics-summary 164 , Demographic-viewing-summary 166 , Program-attribute-viewing-summary 168 each containing metrics that have used data collected in the channel tuning file 112 to
- FIG. 2 is a flowchart which illustrates an exemplary process using a computer for preprocessing channel tune data from a Switched Digital Video system, according to one embodiment.
- FIG. 2 provides the detail of 122 Preprocess Vendor 1 SDV Channel tune file to common format.
- the process begins with 202 .
- a Read channel tune file 206 process reads each record in the file.
- the program checks for end of file 208 and stops when done 210 .
- the program Reformats the record from the pipe-delimited format in which it was received to a fixed format 212 .
- the program then calculates 214 the tune-in and tune-out time in seconds of the day resulting in a values between 1 and 86,400.
- the calculations performed vary depending on the input format of the date and time.
- the program then applies business rules 216 for data quality. For example, if the duration between tune-in and tune-out is more than 7,200 seconds (2 hours) the program terminates the session at the top of the next hour by assigning that second of the day as the tune-out time. Another business rule assigns default tune-in or tune-out times as needed to account for sessions that are missing a tune-in or tune-out time because the events occurred on different dates.
- the business rules to be applied vary depending on the what rules the SDV Vendor has applied to the file.
- the program checks to see if the record passes the quality checks 218 .
- the program then optionally performs function Add demographic information 230 to the tuning record. This is done by using the Set-top box identifier to lookup various demographic values associated with the Set-top box user and then including those values as fields in the tuning record.
- the cable company or satellite provider or a third party could provide a file of demographic values (not shown) to associate with the Set-top box identifier.
- the Set-top box identifier may or may not be encrypted as long as the value of the STB identifier matches the values used in the demographic file.
- the program then optionally performs function Add program attribute information 240 to the tuning record. This is done by using the Channel Source Id and the tune-in time of the tuning activity, along with Market+Headend+Hub as needed to locate the programming schedule relevant to the STB. Once the programming schedule information is located, the program can then access various program attribute values such as program type (sports, news, movie, advertisement), program genre, program rating, etc. and include these values as fields in the tuning record.
- the cable company or satellite provider or a third party could provide a file of program attributes to associate with the tuning data. This would measure the program attribute information at the time of tune-in event. Depending upon the type of measurement desired, one could systematically generate additional tuning records as the program attributes change in order to capture viewing behavior as program attributes change.
- the SDV vendor may be able to include this information in the data file.
- the record is Released to the sort function 250 .
- a tuning record fails the quality checks 218 , the record is written to the discard file 220 . From here the process proceeds to go to read next record in the file 222 .
- FIG. 3 A is a flowchart which illustrates an exemplary process using a computer for preprocessing channel tune data from a Switched Digital Video system, according to one embodiment.
- FIGS. 3 A-B provide the detail of 124 Preprocess Vendor 2 SDV Channel tune file to common format.
- each tuning record has a date+time and an event type such as tune-in or tune-out. The tune-in and tune-out are NOT on the same record.
- Preprocess 124 requires an initial step Process Part A to prepare to reformat the file such that the tune-in and tune-out appear on the same record.
- This Preprocess computer program begins with 302 .
- the program first Reformats 306 the entire Vendor 2 SDV Channel Tune File 114 file from pipe delimited format to fixed format.
- the program then Sorts 308 the file in order Market, Service Group, Set-top box id, Tuner index, Date, and Time.
- the sort output is 310 Vendor 2 Channel Tune File Sorted.
- the program is now Done with Process Part A and can proceed to Part B 312 .
- FIG. 3 B describes the second part of the preprocessing activity which must be done on Vendor 2 's Channel Tuning File to prepare it for the Analytics Engine 140 .
- Process Part B begins with 320 Process Vendor 2 channel tune data.
- process 322 uses the sorted file Vendor 2 Channel Tune File sorted 310 as input, process 322 reads all the records for one Set-top box+Tuner (a record set or the group of records having the same Set-top box+Tuner) and loads this record set to an array in the memory of a computer.
- Step 324 is to identify end of file which indicates that file processing is Done 326 .
- the program For each record set, the program processes each record 328 in the set as follows: It loads the record set to an array in the memory of the computer. The program then matches the tune-out record to the previous tune-in record building a complete tuning record (one containing both a tune-in and a tune-out time).
- the program then proceeds to 330 where for each record we enrich it by looking up the Hub and Headend using Market and Service Group as keys. When we find these values we include them in the tuning record.
- the program then proceeds to 332 where for each record it is enriched by looking up the Channel Name, Channel Call Sign, Bit Rate, Program Type (SDV or Broadcast) using Market and Channel Id as keys. These values are then loaded to the tuning record.
- SDV Bit Rate Program Type
- the program then proceeds to 336 where for each record it is enriched by calculating the tune-in and tune-out time in seconds of day resulting in values between 1 and 86,400. The calculations performed vary depending on the input format of the date and time. These values are then loaded to the tuning record.
- the program then proceeds to apply business rules 340 for data quality. For example, if the duration between tune-in and tune-out is more than 7,200 seconds (2 hours) the program terminates the session at the top of the next hour by assigning that second of the day as the tune-out time. Another business rule assigns default tune-in or tune-out times as needed to account for sessions that are missing a tune-in or tune-out time because the events occurred on different dates. Because of differences between the data from SDV Vendor 1 and SDV Vendor 2 , the business rules may vary.
- the program checks to see if the record passes the quality checks 342 .
- the program then optionally performs function Add demographic information 230 to the tuning record in the same manner as was done for SDV Vendor 1 data.
- the program then optionally performs Add program attribute information 240 to the tuning record in the same manner as was done for SDV Vendor 1 data.
- Step 346 checks to see if it is the last record in the set.
- step 350 continues processing records in the set.
- the program proceeds to read the next record set in the file 322 .
- FIG. 4 A is a flowchart which illustrates an exemplary process using a computer for preprocessing channel tune data from a Set-top box application system, according to one embodiment.
- FIGS. 4 A-B provide the detail of 126 Preprocess Set-top box Vendor Channel tune file to common format.
- each tuning record has a Set-top box identifier, a Tuner index, a time in seconds from some historic date such as EPOCH time (Jan. 1, 1970), and Channel information.
- EPOCH time Jan. 1, 1970
- Preprocess 124 requires an initial step Process Part A to prepare to reformat the file such that the tune-in and tune-out appear on the same record.
- This Preprocess computer program begins with 402 .
- the program first Reformats 406 the entire Set-top Box Channel Tune File 116 file from pipe delimited format to fixed format.
- the program then Sorts 408 the file in order Set-top box id, Tuner index, and Time (which is in seconds from some historic date).
- the sort output is 410 Set-top Box Vendor Channel Channel Tune File Sorted.
- the program is now Done with Process Part A and can proceed to Part B 412 .
- FIG. 4 B describes the second part of the preprocessing activity which must be done on Set-top Box Channel Tuning File to prepare it for the Analytics Engine 140 .
- Process Part B begins with 420 Process Set-top Box Channel tune data.
- process 422 uses the sorted file Set-top Box Vendor Channel Tune File sorted 410 as input, process 422 reads all the records for one Set-top box+Tuner (a record set or the group of records having the same Set-top box+Tuner) and loads this record set to an array in the memory of a computer.
- Step 424 is to identify end of file which indicates that file processing is Done 426 .
- the program For each record set, the program processes each record 428 in the set as follows: It loads the record set to an array in the memory of the computer. The program then matches the tune-out record to the previous tune-in record building a complete tuning record (one containing both a tune-in and a tune-out time).
- the tune-out time of a record is the tune-in time of the next (subsequent) record minus 1 second. When the next activity is a power off, the tune-out time can be set as the time of the power off minus 1 second.
- the program then proceeds to 430 where for each record it converts the tune-in time in seconds from the historic date to the actual tune-in date in YYYY-MM-DD HH:MM:SS AM/PM format.
- the program then proceeds to 432 where for each record it converts the tune-out time in seconds from the historic date to the actual tune-out date in YYYY-MM-DD HH:MM:SS AM/PM format.
- each record is enriched by looking up the Market, Service Group, Hub, and Headend using Set-top box identifier as the key to a lookup table. These values are then loaded to the tuning record.
- each record is enriched by looking up the Channel Call Sign, Channel Source Id, Bit Rate, High Def or Standard Def code, and SDV or Broadcast code using Market and channel information as the keys to a lookup table. These values are then loaded to the tuning record.
- the program then proceeds to 438 where for each record it is enriched by calculating the tune-in and tune-out time in seconds of day resulting in values between 1 and 86,400. These values are then loaded to the tuning record.
- the program then proceeds to 440 where it applies business rules for data quality. For example, if the duration between tune-in and tune-out is more than 7,200 seconds (2 hours) the program terminates the session at the top of the next hour by assigning that second of the day as the tune-out time. Another business rule assigns default tune-in or tune-out times as needed to account sessions that are missing a tune-in or tune-out time because the events occurred on different dates. Based on the particulars of the Set-top box application and the quality checks it applies to the data, the business rules may vary.
- the program After the program has applied business rules 440 , it checks to see if the record passes the quality checks 442 .
- the program then optionally performs function 230 to Add demographic information to the tuning record in the same manner as was done for SDV Vendor 1 data.
- the program then optionally performs function 240 to Add program attribute information to the tuning record in the same manner as was done for SDV Vendor 1 data.
- the STB vendor may add program attribute information to the tuning file.
- the program then applies final formatting rules and releases the record to sort function 448 .
- step 450 continues processing records in the set.
- the program proceeds to read the next record set in the file 422 .
- FIG. 5 is a flowchart which illustrates an exemplary process using a computer for sorting the Unsorted Channel Tune File 130 , according to one embodiment.
- FIG. 5 provide the detail of 132 Sort Channel tune file.
- FIGS. 14 A-B -C provide the detail of the record that is being sorted in this step.
- the process begins with Sort Preprocessed Channel Tune File 502 .
- the program first Determines run type 504 . Depending on the type of analytics to be produced, the system will sort the file that is used as input in a particular order.
- the run type is Set-top box+Channel Viewing detail 510 .
- the Unsorted Channel Tune File in common format 130 is Sort by 514 into order: Market, Service Group, Hub, Headend, Set-top box id, Tuner Index, Channel Call Sign, Channel Source Id, and Tune-in second of day.
- the resulting file from this computer sort is File sorted for Set-top box+Channel viewing Analytics 518 which is a particular instance of part 134 .
- the run type is Set-top box Viewing detail 520 .
- the Unsorted Channel Tune File in common format 130 is Sort by 524 into order: Market, Service Group, Hub, Headend, Set-top box id, Tuner Index, and Tune-in second of day.
- the resulting file from this computer sort is File sorted for Set-top box viewing Analytics 528 which is a particular instance of part 134 .
- the run type is Channel Viewing detail 530 .
- the Unsorted Channel Tune File in common format 130 is Sort by 534 into order: Market, Service Group, Hub, Headend, Channel Call Sign, Channel Source Id, and Tune-in second of day.
- the resulting file from this computer sort is File sorted for Channel viewing Analytics 538 which is a particular instance of part 134 .
- the run type is Program Attribute Aggregation 540 .
- the Unsorted Channel Tune File in common format 130 is Sort by 544 into order: Market, Service Group, Hub, Headend, Program Attribute 1 , Program Attribute 2 , and Tune-in second of day.
- the resulting file from this computer sort is File sorted for Program Attribute Analytics 548 which is a particular instance of part 134 .
- the run type is Demographic Category Aggregation 550 .
- the Unsorted Channel Tune File in common format 130 is Sort by 554 into order: Market, Service Group, Hub, Headend, Demographic Category 1 , Demographic Category 2 , and Tune-in second of day.
- the resulting file from this computer sort is File sorted for Demographic Category Analytics 558 which is a particular instance of part 134 .
- FIGS. 6 A-B illustrate an exemplary process for loading standardized channel tune data into the STB-CHANNEL-VIEWING-DETAIL Data Structure (table) in the memory of the computer that is running the Analytics Engine 140 , according to one embodiment.
- the data is being loaded to this Data Structure so that the Analytics Engine 140 can then calculate the various STB+Channel metrics.
- the STB-CHANNEL-VIEWING-DETAIL Data Structure is described in detail in FIGS. 15 -A-B with FIG. 15 -A illustrating the Data Structure, and FIG. 15 -B illustrating sample data in this Data Structure, according to one embodiment.
- FIG. 6 A illustrates a flowchart of the process which begins with Process Channel Tune File 602 .
- the computer program first creates the STB-CHANNEL-VIEWING-DETAIL Data Structure (table) FIGS. 15 -A-B in the memory of the computer and initializes all the values 604 to space or zero depending on the data type.
- the program next Reads Channel Tune File 606 using File sorted for Set-top box+Channel viewing Analytics 518 as input. This input file format is described in FIGS. 14 A-B -C.
- the program checks for End of file 608 . When true, the loading of the Data Structure is Done 610 and the program proceeds to calculate analytics.
- the program Searches for key of Channel Tune record in STB-CHANNEL-VIEWING-DETAIL Data Structure (table) in the memory 612 .
- the Comparison fields for this search are STB-CVD-MARKET, STB-CVD-SERVICE-GROUP, STB-CVD-HUB, STB-CVD-HEADEND, STB-CVD-CHANNEL-CALL-SIGN, STB-CVD-CHANNEL-SOURCE-ID, STB-CVD-STB-ID, STB-CVD-TUNER-INDEX 614 .
- the program proceeds to set STB-CHAN-VIEWED-FLAG to 1 for each second of the day from tune-in second of day to tune-out second of day inclusive 620 .
- the program Populate a row in STB-CHANNEL-VIEWING-DETAIL using the key in Channel Tune record 618 . It then proceeds to 620 where populates the STB-CHAN-VIEWED-FLAG.
- step 620 After the program has completed step 620 , it proceeds to 606 to read the next record in the file.
- FIG. 6 B illustrates an exemplary code sample for loading the STB-CHANNEL-VIEWING-DETAIL table FIGS. 15 -A-B in the memory of the computer, according to one embodiment.
- the code follows the pattern of the flowchart in FIG. 6 A .
- FIGS. 7 A-B illustrate an exemplary process for loading standardized channel tune data into the STB-VIEWING-DETAIL Data Structure (table) in the memory of the computer that is running the Analytics Engine 140 , according to one embodiment.
- the data is being loaded to this table so that the Analytics Engine 140 can then calculate the various STB metrics.
- the STB-VIEWING-DETAIL Data Structure is described in detail in FIGS. 16 -A-B with FIG. 16 -A illustrating the Data Structure, and FIG. 16 -B illustrating sample data in this Data Structure, according to one embodiment.
- FIG. 7 A illustrates a flowchart of the process which begins with Process Channel Tune File 702 .
- the computer program first creates the STB-VIEWING-DETAIL Data Structure FIGS. 16 -A-B in the memory of the computer and initializes all the values 704 to space or zero depending on the data type.
- the program next Reads Channel Tune File 706 using File sorted for Set-top box viewing Analytics 528 as input. This input file format is described in FIGS. 14 A-B -C.
- the program checks for End of file 708 . When true, the loading of the array is Done 710 and the program proceeds to calculate analytics.
- the program Searches for key of Channel Tune record in STB-VIEWING-DETAIL table in the memory 712 .
- the Comparison fields for this search are STB-VD-MARKET, STB-VD-SERVICE-GROUP, STB-VD-HUB, STB-VD-HEADEND, STB-VD-STB-ID, STB-VD-TUNER-INDEX 714 .
- the program proceeds to set STB-VIEWED-FLAG to 1 for each second of the day from tune-in second of day to tune-out second of day inclusive 720 .
- the program Populate a row in STB-VIEWING-DETAIL using the key in Channel Tune record 718 . It then proceeds to 720 where it populates the STB-VIEWED-FLAG.
- FIG. 7 B illustrates an exemplary code sample for loading the STB-VIEWING-DETAIL table FIGS. 16 -A-B in the memory of the computer, according to one embodiment.
- the code follows the pattern of the flowchart in FIG. 7 A .
- FIGS. 8 A-B illustrate an exemplary process for loading standardized channel tune data into the CHAN-VIEWING-DETAIL Data Structure (table) in the memory of the computer that is running the Analytics Engine 140 , according to one embodiment.
- the data is being loaded to this Data Structure so that the Analytics Engine 140 can then calculate the various Channel metrics.
- the CHAN-VIEWING-DETAIL Data Structure is described in detail in FIGS. 17 -A-B with FIG. 17 -A illustrating the Data Structure, and FIG. 17 -B illustrating sample data in this Data Structure, according to one embodiment.
- FIG. 8 A illustrates a flowchart of the process which begins with Process Channel Tune File 802 .
- the computer program first creates the CHAN-VIEWING-DETAIL Data Structure FIGS. 17 -A-B in the memory of the computer and initializes all the values 804 to space or zero depending on the data type.
- the program next Reads Channel Tune File 806 using File sorted for Channel viewing Analytics 538 as input. This input file format is described in FIGS. 14 A-B -C.
- the program checks for End of file 808 . When true, the loading of the array is Done 810 and the program proceeds to calculate analytics.
- the program Searches for key of Channel Tune record in CHAN-VIEWING-DETAIL Data Structure in the memory 812 .
- the Comparison fields for this search are CHAN-VD-MARKET, CHAN-VD-SERVICE-GROUP, CHAN-VD-HUB, CHAN-VD-HEADEND, CHAN-VD-CHANNEL-CALL-SIGN, CHAN-VD-CHANNEL-SOURCE-ID 814 .
- the program proceeds to add 1 to CHAN-STB-VIEWED-CHANNEL-COUNT for each second of the day from tune-in second of day to tune-out second of day inclusive 820 .
- the program Populate a row in CHAN-VIEWING-DETAIL using the key in Channel Tune record 818 . It then proceeds to 820 where the program does add 1 to CHAN-STB-VIEWED-CHANNEL-COUNT as before.
- the program also tallies tune-ins-per-second 3940 at this time by adding 1 to the second of the day in which the tune-in occurs. See program for details.
- step 820 After the program has completed step 820 , it proceeds to 806 to read the next record in the file.
- FIG. 8 B illustrates an exemplary code sample for loading the CHAN-VIEWING-DETAIL Data Structure FIGS. 17 -A-B in the memory of the computer, according to one embodiment.
- the code follows the pattern of the flowchart in FIG. 8 A .
- FIGS. 9 A-B illustrate an exemplary process for loading standardized channel tune data into the DEMO-VIEWING-DETAIL Data Structure (table) in the memory of the computer that is running the Analytics Engine 140 , according to one embodiment.
- the data is being loaded to this Data Structure so that the Analytics Engine 140 can then calculate the various Demographic metrics.
- the DEMO-VIEWING-DETAIL Data Structure is described in detail in FIGS. 20 -A-B with FIG. 20 -A illustrating the Data Structure, and FIG. 20 -B illustrating sample data in this Data Structure, according to one embodiment.
- FIG. 9 A illustrates a flowchart of the process which begins with Process Channel Tune File 902 .
- the computer program first creates the DEMO-VIEWING-DETAIL Data Structure FIGS. 20 -A-B in the memory of the computer and initializes all the values 904 to space or zero depending on the data type.
- the program next Reads Channel Tune File 906 using File sorted for Demographic Category Analytics 558 as input. This input file format is described in FIGS. 14 A-B -C.
- the program checks for End of file 908 . When true, the loading of the Data Structure is Done 910 and the program proceeds to calculate analytics.
- the program Searches for key of Channel Tune record in DEMO-VIEWING-DETAIL Data Structure in the memory 912 .
- the Comparison fields for this search are DEMO-VD-MARKET, DEMO-VD-SERVICE-GROUP, DEMO-VD-HUB, DEMO-VD-HEADEND, DEMO-VD-DEMOGRAPHIC-CAT- 1 , DEMO-VD-DEMOGRAPHIC-CAT- 2 914 .
- the program proceeds to add 1 to DEMO-STB-VIEWED-COUNT for each second of the day from tune-in second of day to tune-out second of day inclusive 920 .
- the program Populate a row in DEMO-VIEWING-DETAIL using the key in Channel Tune record 918 . It then proceeds to 920 where add 1 to DEMO-STB-VIEWED-COUNT as before.
- FIG. 9 B illustrates an exemplary code sample for loading the DEMO-VIEWING-DETAIL table FIGS. 20 -A-B in the memory of the computer, according to one embodiment.
- the code follows the pattern of the flowchart in FIG. 9 A .
- FIGS. 10 A-B illustrate an exemplary process for loading standardized channel tune data into the PROG-VIEWING-DETAIL Data Structure (table) in the memory of the computer that is running the Analytics Engine 140 , according to one embodiment.
- the data is being loaded to this Data Structure so that the Analytics Engine 140 can then calculate the various Program Attribute metrics.
- the PROG-VIEWING-DETAIL Data Structure is described in detail in FIGS. 21 -A-B with FIG. 21 -A illustrating the Data Structure, and FIG. 21 -B illustrating sample data in this Data Structure, according to one embodiment.
- FIG. 10 A illustrates a flowchart of the process which begins with Process Channel Tune File 950 .
- the computer program first creates the PROG-VIEWING-DETAIL Data Structure FIGS. 21 -A-B in the memory of the computer and initializes all the values 954 to space or zero depending on the data type.
- the program next Reads Channel Tune File 956 using File sorted for Program Attribute Analytics 548 as input. This input file format is described in FIGS. 14 A-B -C.
- the program checks for End of file 958 . When true, the loading of the Data Structure is Done 960 and the program proceeds to calculate analytics.
- the program Searches for key of Channel Tune record in PROG-VIEWING-DETAIL Data Structure in the memory 962 .
- the Comparison fields for this search are PROG-VD-MARKET, PROG-VD-SERVICE-GROUP, PROG-VD-HUB, PROG-VD-HEADEND, PROG-VD-PROGRAM-ATTRIBUTE- 1 , PROG-VD-PROGRAM-ATTRIBUTE- 2 964 .
- the program proceeds to add 1 to PROG-STB-VIEWED-COUNT for each second of the day from tune-in second of day to tune-out second of day inclusive 970 .
- the program Populate a row in PROG-VIEWING-DETAIL using the key in Channel Tune record 968 . It then proceeds to 970 where add 1 to PROG-STB-VIEWED-COUNT as before.
- step 970 After the program has completed step 970 , it proceeds to 956 to read the next record in the file.
- FIG. 10 B illustrates an exemplary code sample for loading the PROG-VIEWING-DETAIL table FIGS. 21 -A-B in the memory of the computer, according to one embodiment.
- the code follows the pattern of the flowchart in FIG. 10 A .
- FIGS. 11 -A-B-C illustrate an exemplary channel tune file format and data according to one embodiment.
- FIG. 11 -A illustrates the file format in which Switched Digital Video channel tuning data 112 from Vendor 1 may arrive.
- FIG. 11 -B illustrates two sample records 1003 and 1005 containing Switched Digital Video channel tuning data 112 from Vendor 1 . Note that these records arrive as variable length records in pipe delimited format.
- FIG. 11 -C illustrates these two sample records 1003 and 1005 formatted into a table for human readability.
- FIGS. 12 -A-B-C illustrate another exemplary channel tune file format and data according to one embodiment.
- FIG. 12 -A illustrates the file format in which Switched Digital Video channel tuning data 114 from Vendor 2 may arrive.
- FIG. 12 -B illustrates two sample records 1403 and 1405 containing Switched Digital Video channel tuning data 114 from Vendor 2 . Note that these records arrive as variable length records in pipe delimited format.
- FIG. 12 -C illustrates these two sample records 1403 and 1405 formatted into a table for human readability.
- FIGS. 13 -A-B-C illustrate an exemplary channel tune file format and data from a Set-top box system according to one embodiment.
- FIG. 13 -A illustrates the file format in which Set-top box channel tuning data 116 from Set-top box application software may arrive.
- FIG. 13 -B illustrates two sample records 1603 and 1605 containing Set-top box channel tuning data 116 from a Set-top box system. Note that these records arrive as variable length records in pipe delimited format.
- FIG. 13 -C illustrates these two sample records 1603 and 1605 formatted into a table for human readability.
- FIGS. 14 -A-B-C illustrate an exemplary channel tune file formatted for use by the Analytics Engine 140 .
- FIG. 14 -A illustrates the record layout of both the Unsorted Channel Tune File 130 and the Sorted Channel Tune File in common format 134 .
- FIG. 14 -B illustrates sample data in these record layouts without program attribute, or demographics values populated.
- FIG. 14 -C illustrates sample data in these record layouts with program attribute, and demographics values populated.
- Process 230 adds the demographic data to the file.
- Process 240 add the program attribute information to the file.
- FIGS. 15 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id+Set-top box+Tuner detail where the granularity is second of day, according to one embodiment.
- FIG. 15 -A illustrates the Data Structure, according to one embodiment.
- Fields 3010 - 3150 occur multiple times with the number of occurrences large enough to hold all of the combinations of Set-top box and Channel that normally occur within a Service Group in one day.
- the field STB-CHAN-VIEWED-FLAG occurs 86400 times, or once for each second of the day.
- the program can limit the period of analysis to a part of the day such as prime time viewing hours.
- FIG. 15 -B illustrates sample data in this Data Structure, according to one embodiment. Note that for each second of the day, the program simply sets a 0 or 1 flag to indicate whether or not the STB was tuned to that channel during that second of the day. A 0 means not tuned, a 1 means tuned.
- the Analytics Engine 140 populates each of the fields as follows:
- STB-CVD-MARKET 3010 is populated from MARKET 1810 in input file 518 .
- STB-CVD-SERVICE-GROUP 3020 is populated from SERVICE-GROUP 1820 in input file 518 .
- STB-CVD-HUB 3030 is populated from HUB 1830 in input file 518 .
- STB-CVD-HEADEND 3040 is populated from HEADEND 1840 in input file 518 .
- STB-CVD-CHANNEL-CALL-SIGN 3050 is populated from CHANNEL-CALL-SIGN 1870 in input file 518 .
- STB-CVD-CHANNEL-SOURCE-ID 3060 is populated from CHANNEL-SOURCE-ID 1880 in input file 518 .
- STB-CVD-STB-ID 3070 is populated from SET-TOP-BOX-ID 1850 in input file 518 .
- STB-CVD-TUNER-INDEX 3080 is populated from TUNER-INDEX 1860 in input file 518 .
- STB-CHANNEL-VIEWING-SECONDS 3090 has this definition:
- count of the number of seconds the set top box was tuned to the channel during the day This measures how much time the STB was tuned to each channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- STB-CHANNEL-TUNE-INS 3100 has this definition:
- a tune-in is identified in the table by a STB channel viewed flag of 1 that was immediately preceded by a STB channel viewed flag of 0. If the channel was tuned at the first second of the day, we count that as a tune in.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- STB-CHAN-AVG-VIEWING-DURATION 3110 has this definition:
- Set-top box+Channel average viewing duration measures the average length of time that the set-top box was tuned to that channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- STB-CHAN-STAY-AWAY-SECS-TOTAL 3120 has this definition:
- the Analytics Engine 140 performs an algorithm to populate this field.
- the algorithm is shown in the source code.
- STB-CHAN-STAY-AWAY-TUNE-COUNT 3130 has this definition:
- the Analytics Engine 140 performs an algorithm to populate this field.
- the algorithm is shown in the source code.
- STB-CHAN-AVG-STAY-AWAY-SECS 3140 has this definition:
- this is a measure of the average stay away seconds, for those channel changes on the STB that qualify as stay-away channel changes. This produces an average of how long the viewer stays away when the viewer leaves the channel only to return soon thereafter.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Stb-chan-stay-away-tune-count (stb-chan-sub)>0
- Stb-chan-avg-stay-away-secs(stb-chan-sub) Stb-chan-stay-away-secs-total(stb-chan-sub)/Stb-chan-stay-away-tune-count(stb-chan-sub)
- FIGS. 16 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Set-top box+Tuner detail where the granularity is second of day, according to one embodiment.
- FIG. 16 -A illustrates the Data Structure, according to one embodiment.
- Fields 3210 - 3310 occur multiple times with the number of occurrences large enough to hold all of the combinations of Set-top box and Tuner that normally occur within a Service Group in one day.
- the field STB-VIEWED-FLAG occurs 86400 times, or once for each second of the day.
- the field STB-TUNE-IN-FLAG occurs 86400 times, or once for each second of the day.
- the program can limit the period of analysis to a part of the day such as prime time viewing hours.
- FIG. 16 -B illustrates sample data in this Data Structure, according to one embodiment. Note that for each second of the day, the program simply sets a 0 or 1 flag to indicate whether or not the STB was tuned to any channel during that second of the day. A 0 means not tuned, a 1 means tuned. Also, note that for each second of the day, the program simply sets a 0 or 1 flag to indicate whether or not the STB had a tune-in event during that second of the day.
- the Analytics Engine 140 populates each of the fields as follows:
- STB-VD-MARKET 3210 is populated from MARKET 1810 in input file 528 .
- STB-VD-SERVICE-GROUP 3220 is populated from SERVICE-GROUP 1820 in input file 528 .
- STB-VD-HUB 3230 is populated from HUB 1830 in input file 528 .
- STB-VD-HEADEND 3240 is populated from HEADEND 1840 in input file 528 .
- STB-VD-STB-ID 3250 is populated from SET-TOP-BOX-ID 1850 in input file 528 .
- STB-VD-TUNER-INDEX 3260 is populated from TUNER-INDEX 1860 in input file 528 .
- STB-Viewing-seconds 3270 has this definition:
- count of the number of seconds the set top box was tuned to some channel during the day This measures the quantity of viewing activity on the STB.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- STB-tune-ins 3280 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate this field:
- STB-Average-viewing-duration 3290 has this definition:
- Set-top box average viewing duration measures the average length of time that the STB is tuned to a channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- FIGS. 17 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id detail where the granularity is second of day, according to one embodiment.
- FIG. 17 -A illustrates the Data Structure, according to one embodiment.
- Fields 3410 - 3670 occur multiple times with the number of occurrences large enough to hold all of the Channels that could be tuned to within a Service Group in one day.
- a typical value may be 300 Channels available in a Service Group resulting in 300 rows.
- the field CHAN-STB-VIEWED-CHANNEL-COUNT occurs 86400 times, or once for each second of the day.
- FIG. 17 -B illustrates sample data in this Data Structure, according to one embodiment. Note that for each second of the day, the program is tallying the number of Set-top boxes in the Service Group that were tuned to that channel.
- a 0 means that no STB tuned to that channel during that second.
- a 1 means that only one STB tuned to the channel during that second of the day.
- a number greater than 1 indicates the count of how many STB's tuned to that channel during that second of the day.
- the Analytics Engine 140 populates each of the fields as follows:
- CHAN-VD-MARKET 3410 is populated from MARKET 1810 in input file 538 .
- CHAN-VD-SERVICE-GROUP 3420 is populated from SERVICE-GROUP 1820 in input file 538 .
- CHAN-VD-HUB 3430 is populated from HUB 1830 in input file 538 .
- CHAN-VD-HEADEND 3440 is populated from HEADEND 1840 in input file 538 .
- CHAN-VD-CHANNEL-CALL-SIGN 3450 is populated from CHANNEL-CALL-SIGN 1870 in input file 538 .
- CHAN-VD-CHANNEL-SOURCE-ID 3460 is populated from CHANNEL-SOURCE-ID 1880 in input file 538 .
- CHAN-BIT-RATE 3470 is populated from BIT-RATE 1970 in input file 538
- SDV-OR-BROADCAST-CODE 3480 is populated from SDV-OR-BROADCAST-CODE 1980 in input file 538
- HIGH-DEF-OR-STD-DEF 3490 is populated from HIGH-DEF-OR-STD-DEF 1990 in input file 538 .
- CHANNEL-VIEWING-SECONDS 3500 has this definition:
- Channel viewing seconds measures at a channel level the number of seconds during the day that at least one set-top box was viewing the channel. When this value is low, it indicates that this channel may be a good candidate to be a switched channel in a Switched Digital Video environment. When this value is high it indicates that the channel may be a good candidate to be a broadcast channel in a Switched Digital Video environment. While this embodiment shows at least one STB viewing the channel, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's are viewing the channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- CHANNEL-NON-VIEWING-SECONDS 3510 has this definition:
- Channel non-viewing seconds measures at a channel level the number of seconds during the day that no set-top box was viewing the channel. When this value is high, it indicates that this channel may be a good candidate to be a switched channel in a Switched Digital Video environment.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- CHANNEL-ONE-STB-VIEWING-SECONDS 3520 has this definition:
- Channel one STB viewing seconds measures at a channel level the number of seconds during the day that only one set-top box was viewing the channel. While this embodiment shows one STB viewing the channel, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's are viewing the channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-CHANNEL-VIEWING-SECONDS 3530 has this definition:
- Aggregate channel viewing seconds measures at a channel level the number of seconds of viewing of the channel during the day. When more STB's that are concurrently tuned to the channel then this value is higher. The higher this value the more popular the channel is. Advertisers would want to know this.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-ONLY-ONE-STB-VIEWG-CHAN 3540 has this definition:
- Percent of the day when only one STB is viewing the channel is calculated as Channel-one-STB-Viewing-seconds/seconds-in-day. When this value is high, it indicates that this channel may be a good candidate to be a switched channel in a Switched Digital Video environment. When this value is high it indicates that the advertising reach is low. While this embodiment shows one STB viewing the channel, this value could be set to any desired variable as described for field CHANNEL-ONE-STB-VIEWING-SECONDS 3520 .
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-NO-STB-VIEWING-CHANNEL 3550 has this definition:
- Percent of the day when no STB is viewing the channel is calculated as Channel-Non-Viewing-seconds/seconds-in-day. When this value is high, it indicates that this channel may be a good candidate to be a switched channel in a Switched Digital Video environment. When this value is high it indicates that for much of the day no one is watching the channel thus advertising during those times would yield no benefit.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-VIEWING-CHANNEL 3560 has this definition:
- Percent of the day when the channel is being viewed is calculated as Channel-Viewing-seconds/seconds-in-day. When this value is high, it indicates that this channel may be a good candidate to be a broadcast channel in a Switched Digital Video environment.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-VIEWING-COUNT-FOR-CHANNEL 3570 has this definition:
- Peak viewing count for channel measures how many STB's are tuned to the channel during its peak viewing second.
- Peak-viewing-second-for-chan can be compared with Peak-usage-second-by-STB-view which measures the peak viewing second based on the number of STB's viewing all the channels combined. This will tell whether the peak for this channel is significantly different from the peak viewing second for all the channels together. When the peak for this channel occurs near the peak for all the channels, it indicates that the program being aired on this channel draws strong viewership ratings even in a crowd.
- PEAK-VIEWING-SECOND-FOR-CHAN 3580 has this definition:
- Peak viewing second for channel measures the second of the day when the most STB's are tuned to this channel. This measures the time of day when the most people are tuned to this channel. Advertisers would like to know this.
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- AGG-VIEWING-AT-THIS-CHAN-PEAK 3590 has this definition:
- Aggregate channel viewing at this channel's peak measures how much aggregate viewing is happening when this channel is at its peak. This allows us to measure how this channel stacks up to other channels when this channel is at its best.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-THIS-CHANPEAK 3600 has this definition:
- Percent of peak viewership by this channel's peak measures what part of the total viewing audience is tuned to this channel during this channel's peak viewing period. This measures the popularity of this channel's best program compared to other programs running at the same time.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-STB-VIEWNG 3610 has this definition:
- Percent of peak viewership by STB Viewing measures what part of the viewing audience is tuned to this channel during the peak viewing period for all the channels when peak second is the most active second based on all the STB's viewing. This measures the viewing strength of this channel compared to the other channels during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- CHAN-VIEWED-DURING-PEAK-FLAG 3620 has this definition:
- Channel viewed during peak flag identifies the channels that were viewed during the peak second of the day when peak second is the most active second based on all the STB's viewing.
- this channel identifies whether or not any STB was tuned to it during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-PERIOD-DURATION-IN-SECONDS 3630 has this definition:
- Peak duration in seconds is an input variable that is used to specify the length of the peak viewing period. For example, 30 minutes would be 1,800 seconds.
- the Analytics Engine 140 assigns the value to this field.
- CHAN-VIEWED-SECS-DURING-PEAK 3640 has this definition:
- Channel viewed seconds during peak identifies the number of seconds during the peak viewing window that this channel was viewed by at least one STB. This metric is useful for capacity planning to identify the amount of time during the peak period that this channel is viewed.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-CHAN-VIEWED-SECS-DURING-PEAK 3650 has this definition:
- Aggregate Channel viewed seconds during peak identifies the number of aggregate viewing seconds that this channel captured during the peak viewing window. When multiple STB's are all tuned to the same channel for all or most of the peak viewing window, this measures that. This is a measure of channel popularity during the peak viewing window. As the number of viewers increases this number increases.
- this value when this value is high, it indicates that this channel may be a good candidate to be a broadcast channel in a Switched Digital Video environment.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-PERIOD-CHAN-WAS-VIEWED 3660 has this definition:
- Percent of time the channel was viewed during peak period measures how much of the time during the peak viewing period that at least one STB was tuned to the channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- FIGS. 18 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend detail where the granularity is second of day, according to one embodiment.
- FIG. 18 -A illustrates the Data Structure, according to one embodiment.
- Fields 3810 - 3940 hold data for one Service Group in a Market. Also note that for each row, the fields 3860 - 3940 occur 86400 times, or once for each second of the day as described in field 3850 .
- the fields 3860 - 3940 are used to record second-of-day summaries.
- FIG. 18 -B illustrates sample data in this Data Structure, according to one embodiment.
- CHAN-SOD-MARKET 3810 is populated from MARKET 1810 in input file 538 .
- CHAN-SOD-SERVICE-GROUP 3820 is populated from SERVICE-GROUP 1820 in input file 538 .
- CHAN-SOD-HUB 3830 is populated from HUB 1830 in input file 538 .
- CHAN-SOD-HEADEND 3840 is populated from HEADEND 1840 in input file 538 .
- BY-SEC-CHAN-VIEWED-COUNT 3860 has this definition:
- channel viewed count is for each second of the day, a count of the number of channels that had viewing activity of at least one STB tuned to the channel. While this embodiment shows at least one STB viewing the channel, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's are viewing the channel.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- BY-SEC-NO-CHAN-VIEWED-COUNT 3870 has this definition:
- no channel viewed count is for each second of the day, count the number of channels that had no viewing activity.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- BY-SEC-AGG-CHAN-VIEWED-COUNT 3880 has this definition:
- aggregate channel viewed count is for each second of the day, count the number of different set-top boxes that were tuned to all the channels combined.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- BY-SEC-BANDWIDTH-REQD-QUANTITY 3890 has this definition:
- bandwidth required quantity is for each second of the day, a count of the amount of bandwidth required to service the channels being viewed, with bandwidth measured in megabits per second. Capacity planners would need to monitor this value to ensure that the system can meet the demand. If this value rarely approaches the installed capacity in the system, it may indicate that there is excess capacity.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- BY-SEC-SDV-CHAN-VIEWED-COUNT 3900 has this definition:
- SDV channel viewed count is for each second of the day, a count of the number of Switched Digital Video channels that had viewing activity. In a Switched Digital Video environment when this value is consistently low it may indicate an opportunity to add additional switched channels.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Broadcast channel viewed count is for each second of the day, a count of the number of Broadcast channels that had viewing activity.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- BY-SEC-STD-DEF-CHAN-VIEWED-CNT 3920 has this definition:
- Standard Definition channel viewed count is for each second of the day, a count of the number of Standard Definition channels that had viewing activity. This number is useful from a network engineering perspective.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- High Definition channel viewed count is for each second of the day, a count of the number of High Definition channels that had viewing activity. This number is useful from a network engineering perspective.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- TUNE-INS-PER-SECOND-COUNT 3940 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Tune-in's per second are tallied at the time of loading the data array so no additional calculations are needed at this point.
- FIGS. 19 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend summary statistics where the granularity is daily, according to one embodiment.
- FIG. 19 -A illustrates the Data Structure
- FIG. 19 -B illustrates sample data in this Data Structure, according to one embodiment.
- Fields 4210 - 4460 require one record to hold all of the data for one Service Group in a Market.
- FIG. 19 -B illustrates sample data in this Data Structure, according to one embodiment.
- CHAN-CDS-MARKET 4210 is populated from MARKET 1810 in input file 538 .
- CHAN-CDS-SERVICE-GROUP 4220 is populated from SERVICE-GROUP 1820 in input file 538 .
- CHAN-CDS-HUB 4230 is populated from HUB 1830 in input file 538 .
- CHAN-CDS-HEADEND 4240 is populated from HEADEND 1840 in input file 538 .
- PEAK-PERIOD-DURATION-IN-SECONDS 4260 has this definition:
- Peak period duration in seconds records the duration of the peak period in seconds. This is a user chosen value such as 30 minutes which would be 1800 seconds.
- PEAK-PERIOD-MOST-CHAN-VIEW-BEG-SEC 4270 has this definition:
- Peak period (measured in) most channels viewed beginning second records the second which marks the beginning of the peak viewing window when peak is based on largest number of channels viewed.
- PEAK-PERIOD-MOST-CHAN-VIEW-END-SEC 4280 has this definition:
- Peak period (measured in) most channels viewed ending second records the second which marks the ending of the peak viewing window when peak is based on largest number of channels viewed.
- PEAK-PERIOD-MOST-STB-ACTIV-BEG-SEC 4290 has this definition:
- Peak period (measured in) most set-top boxes active beginning second records the second which marks the beginning of the peak viewing window when peak is based on largest number of active set-top boxes.
- PEAK-PERIOD-MOST-STB-ACTIV-END-SEC 4300 has this definition:
- Peak period (measured in) most set-top boxes active ending second records the second which marks the ending of the peak viewing window when peak is based on largest number of active set-top boxes.
- PEAK-USAGE-IN-MBITS-PER-SEC 4320 has this definition:
- Peak usage in megabits per second is the highest bandwidth usage in megabits per second that was recorded during the day.
- PEAK-USAGE-SECOND-IN-MBITS-PER 4330 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- PCT-OF-PEAK-TO-BE-NEAR-THRESHOLD 4340 has this definition:
- Percent of peak to be near threshold is a system defined variable. It allows the analyst to specify a percentage of the peak usage that is considered to be near the threshold of system capacity.
- the Analytics Engine 140 assigns a value as follows:
- NEAR-PEAK-THRESHOLD-IN-MBITS-PER 4350 has this definition:
- Near peak threshold in megabits per second is the threshold value that is used to determine whether the network usage during any particular second is near the peak. For example, is the usage during any second of the day >90% of the peak usage second of the day?
- COUNT-OF-SEC-MBITS-NEAR-PEAK 4360 has this definition:
- Count of seconds megabit near peak is a count of the number of seconds in the day when the megabits per second needed to deliver the channels being viewed is near the peak where peak is calculated as being within x percent of the peak usage for the day, measured in megabits per second. This measures the load on the system and tells how sustained that load is. For network capacity planning we can tell whether the load is a short spike or a sustained high volume.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-MBITS-NEAR-PEAK 4370 has this definition:
- Percent of day megabits near peak is a calculated value that tells the percentage of the day that the bandwidth usage in megabits per second is near the peak.
- MAX-TUNE-INS-PER-SECOND 4390 has this definition:
- Maximum tune-in's per second measures the number of tune-in events on the busiest second of the day when busy is measured by number of tune-in's. This is useful from a capacity planning perspective to be sure that the SDV system has capacity to handle the volume of tune requests with a proper amount of spare capacity.
- MAX-TUNE-INS-SEC-OF-DAY 4400 has this definition:
- Maximum tune-in's second of the day records the second of the day during which the maximum number of tune-in's occurred.
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- PEAK-USAGE-BY-CHAN-VIEWED-CNT 4420 has this definition:
- Peak usage by channel viewed count measures the number of different channels being viewed on the busiest second of the day when busy is measured by number of channels viewed.
- PEAK-USAGE-SECOND-BY-CHAN-VIEW 4430 has this definition:
- Peak usage second (of the day) by channels being viewed records second of the day during which the maximum number of channels are being viewed.
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- PEAK-USAGE-BY-STB-VIEWING-CNT 4440 has this definition:
- Peak usage by STB viewing count measures the number of different set-top boxes tuned to the system during the busiest second of the day.
- PEAK-USAGE-SECOND-BY-STB-VIEW 4450 has this definition:
- Peak usage second (of the day) by set-top boxes being viewed records the second of the day during which the maximum number of different set-top boxes are tuned to the system.
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- AGG-STB-VIEW-AT-PEAK-SEC-OFDAY 4460 has this definition:
- Aggregate STB viewing at the peak second of the day measures how many different STB's were tuned to all the channels combined during the peak second of the day when peak is measured by STB count.
- the Analytics Engine 140 performs the following algorithm to populate both of these fields:
- FIGS. 20 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Demographic Category 1 +Demographic Category 2 detail where the granularity is second of day, according to one embodiment.
- FIG. 20 -A illustrates the Data Structure, according to one embodiment.
- Fields 4810 - 5070 occur multiple times with the number of occurrences large enough to hold all of the Demographic Category combinations that could be tuned to within a Service Group in one day.
- a typical value may be 100 Demographic Category combinations in a Service Group resulting in 100 rows.
- the field DEMO-STB-VIEWED-COUNT occurs 86400 times, or once for each second of the day.
- FIG. 20 -B illustrates sample data in this Data Structure, according to one embodiment. Note that for each second of the day, the program is tallying the number of Set-top boxes having the indicated Demographic Category in the Service Group that were tuned to any channel.
- a 0 means that no STB having that Demographic Category tuned-in during that second.
- a 1 means that only one STB having that Demographic Category tuned-in during that second of the day.
- a number greater than 1 indicates the count of how many STB's having that Demographic Category tuned-in tuned-in during that second of the day.
- DEMO-VD-MARKET 4810 is populated from MARKET 1810 in input file 558 .
- DEMO-VD-SERVICE-GROUP 4820 is populated from SERVICE-GROUP 1820 in input file 558 .
- DEMO-VD-HUB 4830 is populated from HUB 1830 in input file 558 .
- DEMO-VD-HEADEND 4840 is populated from HEADEND 1840 in input file 558 .
- DEMO-VD-DEMOGRAPHIC-CAT- 1 4850 is populated from DEMOGRAPHIC-CATEGORY- 1 2020 in input file 166 .
- DEMO-VD-DEMOGRAPHIC-CAT- 2 4860 is populated from DEMOGRAPHIC-CATEGORY- 2 2030 in input file 166 .
- Demographic viewing seconds measures at a demographic level the number of seconds during the day that at least one set-top box having this demographic was tuned-in. When this value is low, it indicates that people in this demographic are not watching television. While this embodiment shows at least one STB with the demographic viewing, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's having the demographic are viewing.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Demographic non-viewing seconds measures at a demographic level the number of seconds during the day that no set-top box having this demographic was tuned-in. When this value is high, it indicates that people in this demographic are not watching television.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Demographic one STB viewing seconds measures at a demographic level the number of seconds during the day that only one set-top box having this demographic was tuned-in. While this embodiment shows at least one STB with the demographic viewing, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's having the demographic are viewing.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-DEMO-VIEWING-SECONDS 4910 has this definition:
- Aggregate demographic viewing seconds measures at a demographic level the number of total viewing seconds during the day that STB's having this demographic were tuned-in. When more STB's in this demographic are concurrently tuned to any channel then this value is higher. The higher this value the more this demographic watches television. Advertisers would want to know this.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-ONLY-ONE-STB-VIEWG-DEMO 4920 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-NO-STB-VIEWING-DEMO 4930 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-VIEWING-DEMO 4940 has this definition:
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-VIEWING-COUNT-FOR-DEMO 4960 has this definition:
- Peak viewing count for demo measures how many STB's from this demographic are tuned-in during its peak viewing second.
- PEAK-VIEWING-SECOND-FOR-DEMO 4970 has this definition:
- Peak viewing second for demographic measures the second of the day when the most STB's having this demographic are tuned-in. This measures the time of day when the most STB's having this demographic are tuned-in. Advertisers would like to know this.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-VIEWING-AT-THIS-DEMO-PEAK 4980 has this definition:
- Aggregate demographic viewing at this demographic's peak measures how much aggregate viewing is happening when this demographic is at its peak. This allows us to measure how this demographic stacks up to other demographics when this demographic is at its best.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-THIS-DEMOPEAK 4990 has this definition:
- Percent of peak viewership by this demographic's peak measures what part of the total viewing audience is from this demographic during this demographic's peak viewing period. This measures the popularity of this demographic's best program compared to programs from other demographics running at the same time.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-STB-VIEWNG 5010 has this definition:
- Percent of peak viewership by STB viewing measures what part of the viewing audience is from this demographic during the peak viewing second for all the demographic groups when peak second is the most active second based on all the STB's viewing. This measures the viewing strength of this demographic compared to the other demographic groups during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- Demographic viewed during peak flag identifies the demographic segments that were viewing during the peak second of the day when peak second is the most active second based on all the STB's viewing. For this demographic, this identifies whether or not any STB identified by this demographic was tuned-in during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-PERIOD-DURATION-IN-SECONDS 5030 has this definition:
- Peak duration in seconds is an input variable that is used to specify the length of the peak viewing period. For example, 30 minutes would be 1,800 seconds.
- Demographic viewed seconds during peak identifies the number of seconds during the peak viewing window that at least one STB having this demographic was tuned-in. This metric measures whether or not people having this demographic view television during the peak viewing period.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-DEMO-VIEWED-SECS-DURING-PEAK 5050 has this definition:
- Aggregate Demographic viewed seconds during peak identifies the number of aggregate viewing seconds captured by STB's having this demographic, during the peak viewing window. When multiple STB's all having the same demographic are all tuned to any channel for all or most of the peak viewing window, this measures that. This metric measures how many STB's having this demographic are tuned-in during the peak viewing period. As the number of viewers increases this number increases.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-PERIOD-DEMO-VIEWED 5060 has this definition:
- Percent of time the demographic was viewed during peak period measures how much of the time during the peak viewing window that at least one STB having this demographic was tuned-in.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- FIGS. 21 -A-B illustrate an exemplary Data Structure for use by the Analytics Engine 140 when processing channel tune records where the analytics require Market+Service-Group+Hub+Headend+Program Attribute 1 +Program Attribute 2 detail where the granularity is second of day, according to one embodiment.
- FIG. 21 -A illustrates the Data Structure, according to one embodiment.
- Fields 5210 - 5450 occur multiple times with the number of occurrences large enough to hold all of the Program Attribute 1 and Program Attribute 2 combinations that could be tuned to within a Service Group in one day.
- a typical value may be 100 Program Attribute 1 and Program Attribute 2 combinations in a Service Group resulting in 100 rows.
- the field PROG-STB-VIEWED-COUNT occurs 86400 times, or once for each second of the day.
- FIG. 21 -B illustrates sample data in this Data Structure, according to one embodiment. Note that for each second of the day, the program is tallying the number of Set-top boxes tuned to any program having that Program Attribute 1 and Program Attribute 2 combinations in the Service Group.
- a 0 means that no STB tuned to any program having that Program Attribute 1 and Program Attribute 2 combination during that second.
- a 1 means that only one STB tuned to any program having that Program Attribute 1 and Program Attribute 2 combination during that second.
- a number greater than 1 indicates the count of how many STB's tuned to any program having that Program Attribute 1 and Program Attribute 2 combination during that second of the day.
- the Analytics Engine 140 populates each of the fields as follows:
- PROG-VD-MARKET 5210 is populated from MARKET 1810 in input file 548 .
- PROG-VD-SERVICE-GROUP 5220 is populated from SERVICE-GROUP 1820 in input file 548 .
- PROG-VD-HUB 5230 is populated from HUB 1830 in input file 548 .
- PROG-VD-HEADEND 5240 is populated from HEADEND 1840 in input file 548 .
- PROG-VD-PROGRAM-ATTRIBUTE- 1 5250 is populated from PROGRAM-ATTRIBUTE- 1 2000 in input file 134 / 548 .
- PROG-VD-PROGRAM-ATTRIBUTE- 2 5260 is populated from PROGRAM-ATTRIBUTE- 2 2010 in input file 134 / 548 .
- PROG-VIEWING-SECONDS 5280 has this definition:
- Program viewing seconds measures at a program attribute level the number of seconds during the day that at least one set-top box was tuned to a program having this program attribute. When this value is low, it indicates that programs having this program attribute are not being viewed very much. While this embodiment shows one STB viewing programs having this program attribute, this value could be set to any desired variable. As a non-limiting example, count seconds where greater than ten STB's are viewing programs having this program attribute.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PROG-NON-VIEWING-SECONDS 5290 has this definition:
- Program non-viewing seconds measures at a program attribute level the number of seconds during the day that no set-top box was tuned to a program having this program attribute. When this value is high, it indicates that people do not watch programs having this program attribute very much.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PROG-ONE-STB-VIEWING-SECONDS 5300 has this definition:
- Program one STB viewing seconds measures at a program attribute level the number of seconds during the day that only one set-top box was tuned to a program having this program attribute.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-PROG-VIEWING-SECONDS 5310 has this definition:
- Aggregate program attribute viewing seconds measures at a program attribute level the number of seconds during the day that programs having this program attribute were being viewed. When more STB's are concurrently tuned to programs having this program attribute then this value is higher. The higher this value the more popular the programs having this program attribute are. Advertisers would want to know this.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-ONLY-ONE-STB-VIEWG-PROG 5320 has this definition:
- Percent of the day when only one STB is viewing programs having this program attribute is calculated as Prog-one-STB-Viewing-seconds/seconds-in-day. When this value is high it indicates that the advertising reach is low.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-NO-STB-VIEWING-PROG 5340 has this definition:
- Percent of the day when no STB is viewing programs having this program attribute is calculated as Prog-Non-Viewing-seconds/seconds-in-day. When this value is high it indicates that for much of the day no one is viewing programs having this program attribute thus advertising during those times would yield no benefit.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-DAY-VIEWING-PROG 5350 has this definition:
- Percent of the day viewing programs having this program attribute is calculated as Prog-Viewing-seconds/seconds-in-day. When this value is high, it indicates that the STB's are often tuned to programs having this program attribute.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-VIEWING-COUNT-FOR-PROG 5370 has this definition:
- Peak viewing count for program attribute measures how many STB's are tuned to programs having this program attribute during the program attribute's peak viewing second.
- PEAK-VIEWING-SECOND-FOR-PROG 5380 has this definition:
- Peak viewing second for program attribute measures the second of the day when programs having this program attribute are viewed the most. This measures the time of day when the most STB's are tuned to programs having this program attribute. Advertisers would like to know this.
- the Analytics Engine 140 performs the following algorithm to populate these fields:
- AGG-VIEWING-AT-THIS-PROG-PEAK 5390 has this definition:
- Aggregate program attribute viewing at this program attribute's peak measures how much aggregate viewing is happening when viewing of programs having this program attribute is at its peak. This allows us to measure how programs having this program attribute stack up to programs with other attributes when programs having this program attribute are at their best.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-THIS-PROGPEAK 5400 has this definition:
- Percent of peak viewership by this program attribute's peak measures what part of the total active STB's were tuned to programs having this program attribute during its peak viewing period. This measures the popularity of this program attribute's best program compared to programs having other program attributes running at the same time.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-VIEW-BY-STB-VIEWNG 5420 has this definition:
- Percent of peak viewership by STB viewing measures what part of the total active STB's were tuned to programs having this program attribute during the peak viewing second for all the programs when peak second is the most active second based on all the STB's viewing. This measures the viewing strength of programs having this program attribute compared to the other programs during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PROG-VIEWED-DURING-PEAK-FLAG 5430 has this definition:
- Program viewed during peak flag identifies the attributes of the programs to which the active STB's were tuned during the peak second of the day when peak second is the most active second based on all the STB's viewing. For programs having this program attribute, this identifies whether or not any STB was tuned to them during the peak viewing second.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PEAK-PERIOD-DURATION-IN-SECONDS 5440 has this definition:
- Peak duration in seconds is an input variable that is used to specify the length of the peak viewing period. For example, 30 minutes would be 1,800 seconds.
- PROG-VIEWED-SECS-DURING-PEAK 5450 has this definition:
- Program viewed seconds during peak identifies the number of seconds during the peak viewing window that at least one STB was tuned to programs having this program attribute. This metric measures whether or not people view programs having this program attribute during the peak viewing period.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- AGG-PROG-VIEWED-SECS-DU RING-PEAK 5460 has this definition:
- Aggregate Program viewed seconds during peak identifies the number of aggregate viewing seconds from STB's tuned to programs having this program attribute during the peak viewing window. When multiple STB's are all tuned to programs having this program attribute for all or most of the peak viewing window, this measures that. This metric measures how many STB's are tuned to programs having this program attribute during the peak viewing period. As the number of viewers viewing programs having this program attribute increases, this number increases.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- PCT-OF-PEAK-PERIOD-PROG-VIEWED 5470 has this definition:
- Percent of time the program attribute was viewed during peak period measures how much of the time during the peak viewing period that at least one STB was tuned to programs having this program attribute.
- the Analytics Engine 140 performs the following algorithm to populate this field:
- FIGS. 22 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id+Set-top box+Tuner, according to one embodiment.
- FIG. 22 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 5609 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity. Also note that the individual second-of-the-day activity is not included in the file. If a downstream application required that level of detail, the record layout could be changed to include it.
- FIG. 22 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 15 A to the output record format defined in FIG. 22 A using an algorithm similar to this:
- FIGS. 23 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Set-top box+Tuner, according to one embodiment.
- FIG. 23 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 5809 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity. Also note that the individual second-of-the-day activity is not included in the file. If a downstream application required that level of detail, the record layout could be changed to include it.
- FIG. 23 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 16 A to the output record format defined in FIG. 23 A using an algorithm similar to this:
- FIGS. 24 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Channel Call Sign+Channel Source Id, according to one embodiment.
- FIG. 24 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 6009 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity. Also note that the individual second-of-the-day activity is not included in the file. If a downstream application required that level of detail, the record layout could be changed to include it.
- FIG. 24 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 17 A to the output record format defined in FIG. 24 A using an algorithm similar to this:
- FIGS. 25 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Second-of-day, according to one embodiment.
- FIG. 25 -A illustrates the record format, according to one embodiment.
- TUNING-ACTIVITY-DATE 6409 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity.
- SECOND-OF-DAY 6448 is included in the file. The result is that is the program has processed a full day of day (86400 seconds) as opposed to a day part, then this file will contain 86,400 records for one day of activity.
- FIG. 25 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 18 A to the output record format defined in FIG. 25 A using an algorithm similar to this:
- FIGS. 26 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of daily activity for the Market+Service-Group+Hub+Headend, according to one embodiment.
- FIG. 26 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 6609 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity.
- FIG. 26 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 19 A to the output record format defined in FIG. 26 A using an algorithm similar to this:
- FIGS. 27 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Demographic Category 1 +Demographic Category 2 , according to one embodiment.
- FIG. 27 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 7009 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity. Also note that the individual second-of-the-day activity is not included in the file. If a downstream application required that level of detail, the record layout could be changed to include it.
- FIG. 27 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 20 A to the output record format defined in FIG. 27 A using an algorithm similar to this:
- FIGS. 28 -A-B illustrate an exemplary output record format for the flat file which contains the metrics calculated by the Analytics Engine 140 using the channel tune records that were aggregated to the level of Market+Service-Group+Hub+Headend+Program Attribute 1 +Program Attribute 2 , according to one embodiment.
- FIG. 28 -A illustrates the record format, according to one embodiment. Note that TUNING-ACTIVITY-DATE 7409 has been included in the record format so that when the data is subsequently loaded to some downstream analytical process, the system can identify the date of the tuning activity. Also note that the individual second-of-the-day activity is not included in the file. If a downstream application required that level of detail, the record layout could be changed to include it.
- FIG. 28 -B illustrates sample data in this record format, according to one embodiment.
- This record format can be readily imported into a relational database or into a spreadsheet for further analytical processing.
- the Analytics Engine 140 is moving data from the Data Structure defined in FIG. 21 A to the output record format defined in FIG. 28 A using an algorithm similar to this:
- FIG. 29 illustrates a human being 7800 interacting with an electronic device 8010 which is interacting with a computer system 8050 accessed through a network 8040 , according to one embodiment.
- the purpose is not to describe in detail the operations of a cellular network, but to simply show that the human being 7800 is interacting with an electronic device 8010 which is interacting with a computer system 8050 accessed through a network 8040 .
- the human being 7800 is using an electronic device 8010 such as a cell phone or a personal communication device or any similar electronic device.
- the electronic device 8010 uses a radio wave or electronic signal 8020 to communicate with a cell tower 8030 which then communicates via a network 8040 to reach a computer system such as a node or port 8050 which then communicates via a another network segment 8040 to access a computer system 8050 which uses another network segment 8040 to communicate with another computer system 8050 which uses another network segment 8040 to communicate with another node or port 8050 which users another network segment 8040 to communicate with another cell tower 8030 which sends out an electronic signal 8022 to communicate with a second electronic device 8012 which is being used by a second human being 7802 .
- FIG. 30 illustrates an alternative version of a human being 7800 interacting with an electronic device 8220 which is interacting with a computer system 8230 accessed through a network 8040 , according to one embodiment.
- the purpose is not to describe in detail the operations of an internet protocol network, but to simply show that the human being 7800 is interacting with an electronic device 8220 which is interacting with a computer system 8230 accessed through a network 8040 .
- the human being 7800 is using an electronic device 8220 such as an internet protocol television or any similar electronic device.
- the electronic device 8220 uses a network 8040 to communicate with an IP TV Delivery computer system 8230 which provides video the IP TV.
- IP TV Delivery computer system 8230 itself also uses a network 8040 to communicate with an IP TV Video Server computer system 8250 .
- FIG. 31 illustrates three different human beings 7800 , 7802 , 7804 interacting with three different set-top boxes 7810 , 7812 , 7814 which are each interacting with a computer system 102 , 104 , 7870 accessed through a network 7830 or 7832 or 7834 , according to one embodiment.
- the purpose is not to describe in detail the operations of a cable television network or a switched digital video system, but to simply show that the human being 7800 or 7802 or 7804 is interacting with a set-top box 7810 or 7812 or 7814 which is interacting with a computer system 102 or 104 or 7870 accessed through a network 7830 or 7832 or 7834 and that the overall network includes various components such as SDV systems, Cable Video systems, STB systems, Service Groups, Hubs, and Headends which are all part of a Market in a cable television system.
- the human being 7800 is using a set-top box 7810 or any similar electronic device attached to a television 7820 .
- the signal produced by the set-top box 7810 is viewed on a television 7820 .
- the set-top box 7810 uses a HFC network segment 7830 to communicate with Switched Digital Video system from Vendor 1 102 which is accessed via a Service Group 7840 and a Hub 7850 .
- the Hub 7850 is linked to a Headend 7890 via a transport ring 7900 .
- Switched Digital Video system from Vendor 1 102 produces the file Vendor 1 SDV Channel Tune File 112 which can then be made available for preprocessing in preparation for processing by the Analytics Engine 140 as explained in other Figures.
- the human being 7802 is using a set-top box 7812 or any similar electronic device attached to a television 7822 .
- the signal produced by the set-top box 7812 is viewed on a television 7822 .
- the set-top box 7812 uses a HFC network segment 7832 to communicate with Switched Digital Video system from Vendor 2 104 which is accessed via a Service Group 7840 and a Hub 7850 .
- the Hub 7850 is linked to a Headend 7890 via a transport ring 7900 .
- Switched Digital Video system from Vendor 2 104 produces the file Vendor 2 SDV Channel Tune File 114 which can then be made available for preprocessing in preparation for processing by the Analytics Engine 140 as explained in other Figures.
- a different human being 7804 is using a different set-top box 7814 or any similar electronic device attached to a television.
- the signal produced by the set-top box 7814 is viewed on a different television 7824 .
- the set-top box 7814 uses a different HFC network segment 7834 to communicate with a Cable Video Computer System 7870 which is accessed via a Service Group 7840 and a Hub 7850 .
- the Hub 7850 is linked to a Headend 7890 via a transport ring 7900 .
- Set-top box 7814 is running Set-top box application software from STB software vendor 106 and said software is collecting channel tuning data which is used to produce Set-top box Vendor Channel Tune File 116 .
- the Set-top box Vendor Channel Tune File 116 from a plurality of set-top boxes is routed back through the HFC Network 7834 where the files are aggregated and can then be made available for preprocessing in preparation for processing by the Analytics Engine 140 as explained in other Figures.
- the respective human being is using his set-top box to interact with an SDV Computer system across the network while in another part of the cable company network a third human being may be using his set-top box to interact with a traditional or non-SDV system.
- the system produces SDV channel change logs; in the non-SDV case, the system produces Set-top box tuning files.
- Headend Equipment 7880 at the Headend 7890 receives incoming signals, prepares them, and then transmits video streams downstream to other parts of the network.
- the tuning files can be used to produce data analytics as shown in other Figures.
- FIG. 32 illustrates a human being 7806 interacting with a set-top box 7816 which is interacting with computer systems 8004 and 8050 accessed through networks 8006 and 8040 , according to one embodiment.
- the purpose is not to describe in detail the operations of a satellite television network, but to simply show that the human being 7806 is interacting with a set-top box 7816 which is interacting with computer systems 8004 and 8050 accessed through networks 8006 and 8040 and that the overall network includes various components such as a Computer that sends signals to a satellite and a computer that receives set-top box activity, both being part of a satellite television system.
- the video or audio signal is sent by the Computer sending Signal to Satellite 8004 as a Signal to Satellite 8006 .
- the Satellite 8010 receives the signal and beams it as a Signal from a Satellite 8020 to the Satellite receiver dish 8030 where it is then passed on to the Set-top box 7816 .
- the Human Being 7806 controls the Set-top box 7816 by interacting with it.
- the Set-top box application software from STB software vendor 106 captures the interactions of the Human Being 7806 and packages them into a file Set-top box Vendor Channel Tune File 116 or other message which is then send to the Satellite providers STB Usage Data Collection Computer System 8050 using or across the Satellite providers network 8040 .
- the file of set-top box activity can then be made available for preprocessing in preparation for processing by the Analytics Engine 140 as explained in other Figures.
- any of the calculations can be done for the day or for any part of the day, additional calculations can be done once the data is loaded to the Data Structure, and/or aggregations can be done to summarize data to minute or day-part.
- device usage data can reflect multiple concurrent activities such as a set-top box using multiple tuners simultaneously as in multiple pictures on a television screen or one picture on the television screen and one video stream being recorded by a digital video recorder.
- set-top box applications or personal computer applications or advanced television applications which show multiple windows such as a television program, a TV menu, a sports channel, a weather channel, a traffic cam, a twitter ( ⁇ 2010 Twitter, Twitter, Inc.) session, an instant message session, a You Tube ( ⁇ 2010 YouTube, LLC, www.youtube.com) video, an email session, a web browsing session, a Facebook (Facebook ⁇ 2010, www.facebook.com) session, etc.
- Usage data could be collected for each of these activities with perhaps weightings assigned to the activities based on business rules.
- mnemonics for the various identifiers such as market, headend, hub, service group, channel call sign, program attribute data, demographic category, and other similar fields, but another embodiment could use numeric values as identifiers.
- identifiers such as market, headend, hub, and service group, but another embodiment could use fewer identifiers or different identifiers or no identifiers.
- tuning data I presently contemplate reading the tuning data from a flat file, but another embodiment could obtain the tuning data directly from a data base as a result of a query or from an XML message.
- Electronic device usage data could also be obtained from a data base or from an XML message instead of a flat file.
- Channel data ( FIG. 17 )
- Demographic data ( FIG. 20 )
- the tune-in date and time and the tune-out date and time will be presented in YYYY-MM-DD HH:MM:SS AM/PM format.
- Another embodiment could provide these values in seconds from some historic date such as Epoch time (Jan. 1, 1970) and then subtract the proper number of seconds from the value so as to bring the value into the seconds of the current date.
- Aug. 1, 2010 at 12:00:00 AM is Epoch time 1280646000.
- Subtracting this value from any tune-in date and time or tune-out date and time from Aug. 1, 2010, will result in the second of the day that can be used in populating the Data Structure.
- a tune-in at Aug. 1, 2010 at 12:30:00 AM has Epoch time of 1280647800.
- 1280647800 ⁇ 1280646000 1800 seconds which would be 30 minutes after midnight.
- Either embodiment can be used as input to create the metrics.
- the Analytics Engine will be provided with the tune-in date and time and the tune-out date and time presented in YYYY-MM-DD HH:MM:SS AM/PM format.
- Another embodiment could provide the tune-in date and time in this format and then provide the Analytics Engine with the duration of the tuning activity in seconds instead of providing the tune-out date and time presented in YYYY-MM-DD HH:MM:SS AM/PM format.
- the Analytics Engine would add the tuning duration in seconds to the tune-in time in seconds to arrive at the tune-out time.
- the analytics engine will be provided with the tune-in date and time and the tune-out date and time presented in YYYY-MM-DD HH:MM:SS AM/PM format.
- Another embodiment could provide the tune-out date and time in this format and then provide the Analytics Engine with the duration of the tuning activity in seconds instead of providing the tune-in date and time presented in YYYY-MM-DD HH:MM:SS AM/PM format. In this situation the Analytics Engine would subtract the tuning duration in seconds from the tune-out time in seconds to arrive at the tune-in time.
- variables having the data types and field sizes shown but another embodiment may use variables with different data types and field sizes to accomplish a similar result.
- Fujitsu® NetCOBOL® for Windows® version 10.1 developed by Fujitsu® and distributed by Alchemy Solutions Inc, but another embodiment may use a different programming language or a different version of COBOL.
Landscapes
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
| Date of | Size in | |||
| # | Name of the ASCII Text | Creation | bytes | |
| 1. | 122-Preprocess-Channel-Tune-File.txt | Dec. 28, | 28,366 |
| 2010 | |||
| 2. | 140-ANALYTICS-ENGINE-Chan.txt | Dec. 28, | 79,623 |
| 2010 | |||
| 3. | 140-ANALYTICS-ENGINE-Demo.txt | Dec. 28, | 55,692 |
| 2010 | |||
| 4. | 140-ANALYTICS-ENGINE-Prog.txt | Dec. 28, | 55,743 |
| 2010 | |||
| 5. | 140-ANALYTICS-ENGINE-STB.txt | Dec. 28, | 33,414 |
| 2010 | |||
| 6. | 140-ANALYTICS-ENGINE-STB-Chan.txt | Dec. 28, | 37,189 |
| 2010 | |||
| 7. | 514-SORT-FOR-STB+Chan.txt | Dec. 28, | 3,509 |
| 2010 | |||
| 8. | 524-SORT-FOR-STB.txt | Dec. 28, | 3,171 |
| 2010 | |||
| 9. | 534-SORT-FOR-Chan.txt | Dec. 28, | 3,102 |
| 2010 | |||
| 10. | 544-SORT-FOR-Prog.txt | Dec. 28, | 3,111 |
| 2010 | |||
| 11. | 554-SORT-FOR-Demo.txt | Dec. 28, | 3,104 |
| 2010 | |||
| U.S | Kind | |||
| Pat. No. | Code | Class | Issue Date | Patentee |
| 7,383,243 | A1 | 707/1 | Jun. 3, 2008 | Conkwright, et al. |
| 7,590,993 | 725/35 | Sep. 15, 2009 | Hendricks, et al. | |
| Publication | Kind | |||
| Number | Code | Class | Publication Date | Applicant |
| 20070074258 | A1 | 725/105 | Mar. 29, 2007 | Wood; Catherine |
| Alexandra | ||||
| 20080127252 | A1 | 725/34 | May 29, 2008 | Eldering; |
| Charles A. | ||||
| 20090077577 | A1 | 725/14 | Mar. 19, 2009 | Allegrezza; |
| Fred J. | ||||
| 20070214483 | A1 | 725/96 | Sep. 13, 2007 | Bou-Abboud; |
| Claude H. | ||||
| 20100145791 | A1 | 705/14.41 | Jun. 10, 2010 | Canning; |
| Brian P.; et al. | ||||
- Cisco Systems, Inc., “Channel Viewership Analyzer” http://www.cisco.com/en/US/prod/collateral/video/ps9119/ps9883/7016867.pdf
- IneoQuest Technologies, Inc., “Switched Digital Video Solutions” http://www.ineoquest.com/switched-digital-video-solutions
- Motorola, Inc. “Implementing Switched Digital Video Solutions” http://www.motorola.com/staticfiles/Business/Products/_Documents/_Static%20files/SDV%20Implementation%20Solutions%20paper%20-555998-001-a.pdf?localeId=33
- Strickland, Jonathan. “How Switched Digital Video Works.” 20 Nov. 2007. HowStuffWorks.com. <http://electronics.howstuffworks.com/switched-digital-video.htm>
- STB Committee of the Council for Research Excellence. “The State Of Set-Top Box Viewing Data as of December 2009” http://researchexcellence.com/stbstudy.php
-
- The technologies used in the industry to deliver cable television are well known. In a traditional cable TV system, all of the channels are broadcast to all of the set top boxes all of the time. This is network intensive and wasteful of bandwidth. With the advent of high definition TV and other services that consume large amounts of bandwidth, cable operators have found ways to make more efficient use of the available bandwidth. Switched Digital Video allows the CO to broadcast TV signals of selected channels only upon request by a set top box within a limited geographic area.
- SDV is based on the principle that a few TV channels are viewed very heavily and many TV channels are lightly viewed. Rather than sending signals for all the channels all of the time, SDV only sends signals when requested. In an SDV system, once a channel is requested by one of the set top boxes controlled by that system, the channel is available to all of the STB's controlled by that system. This is typically a Service Group that serves 500 to 1,000 homes.
-
- Set-top box identifier (optionally scrambled)
- Tuner index (to identifier the tuner in the STB)
- Market identifier
- Headend identifier
- Hub identifier
- Service Group identifier
- Tune-in date and time to the second
- Tune-out date and time to the second
- Channel name
- Channel call sign (acronym for the channel)
- Channel source id (numeric identifier of the channel)
- Bit rate (the megabits per second required to deliver the channel)
- Program type (SDV or Broadcast)
- High definition or standard definition flag
-
- Market
- Service Group
- Set-top box identifier
- Tuner index
- Date
- Time to the second
- Event code (tune-in or tune-out)
- Channel source id—the number of the channel as known to the SDV system.
-
- Set-top box identifier
- Tuner index (to identifier the tuner in the STB)
- Time in seconds since some historic date
- Channel call sign
- Channel source id
Hendricks, et al. in U.S. Pat. No. 7,590,993 Method and apparatus for gathering programs watched data issued Sep. 15, 2009 teaches about collecting tuning data from the set-top box and combining that with other data in a data base to determine the types of programming the STB tunes to. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis or of using such a data structure to determine the duration of program watching.
Relevant Patent Applications
Wood; Catherine Alexandra in U.S. Patent Application 20070074258 dated Mar. 29, 2007 teaches about collecting subscriber activity data, such as channel changes generated by the subscriber while watching video or TV in an IPTV system. It appears that she does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis. It appears instead that she teaches loading the channel tuning data to a relational data base and then performing various SQL based queries against that data base.
Eldering; Charles A.; et al. in U.S. Patent Application 20080127252 dated May 29, 2008 teaches about targeted advertising. He notes that SDV systems have the ability to provide viewership counts. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis.
Allegrezza; Fred J.; et al. in U.S. Patent Application 20090077577 dated Mar. 19, 2009 teaches about aggregating information obtained from the messages to generate channel viewership information identifying a number of subscribers tuned to each broadcast channel over a period of time, but it appears to be based simply on tune-in activity. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis.
Bou-Abboud; Claude H. in U.S. Patent Application 20070214483 dated Sep. 13, 2007 teach about a tool for predicting capacity demands on an electronic system. It appears that they do not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis.
Canning; Brian P.; et al. in U.S. Patent Application 20100145791 dated Jun. 10, 2010 teach about storing data in multiple shards and supporting queries against the data. It appears that he does not teach the loading of a data structure containing buckets representing individual units of time during a window of time of interest for analysis.
Summary of Short-Comings in Data Analysis Tools
-
- a. For the dimension of device, it can be one device to an aggregate of many devices.
- b. For the dimension of time, it can be seconds, minutes, hours, day, weeks, or custom time periods.
- c. For the dimension of demographics, it can be no demographics to multiple demographic attributes.
- d. For the dimension of program attribute, it can be no program attribute information to multiple program attributes.
(ii) channels, quadrature amplitude modulation signals, frequencies, radio frequencies, bandwidth, megabits per second of data transferred, internet protocol packets transferred, Ethernet packets transferred, computer equipment, network equipment, hubs, routers, switches, nodes, circuits, devices and network capacity, switched digital video computer systems, all in a cable television system, where each such resource is identifiable.
-
- From 1 by 1
- Until stb-chan-sub>stb-chan-in-array
- Move zero to
- STB-Channel-Viewing-seconds (stb-chan-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If STB-CHAN-VIEWED-FLAG (stb-chan-sub, second-sub)=1
- Compute
STB-Channel-Viewing-seconds(stb-chan-sub)=STB-Channel-Viewing-seconds(stb-chan-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until stb-chan-sub>stb-chan-in-array
- Move zero to
- STB-Channel-tune-ins (stb-chan-sub)
- If STB-CHAN-VIEWED-FLAG (stb-chan-sub, 1)=1
- Compute
STB-Channel-tune-ins(stb-chan-sub)=STB-Channel-tune-ins(stb-chan-sub)+1
- Compute
- End-if
- Perform varying second-sub
- From 2 by 1 until
- Second-sub>seconds-in-array
- If STB-CHAN-VIEWED-FLAG (stb-chan-sub, second-sub)=1
- And
- STB-CHAN-VIEWED-FLAG (stb-chan-sub, second-sub−1)=0
- Compute
STB-Channel-tune-ins(stb-chan-sub)=STB-Channel-tune-ins(stb-chan-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until stb-chan-sub>stb-chan-in-array
- If STB-Channel-tune-ins (stb-chan-sub)>0
- Compute
STB-Chan-Avg-viewing-duration(stb-chan-sub)=STB-Channel-Viewing-seconds(stb-chan-sub)/STB-Channel-tune-ins(stb-chan-sub)
- Compute
- End-if
- If STB-Channel-tune-ins (stb-chan-sub)>0
Compute Stb-chan-avg-stay-away-secs(stb-chan-sub)=Stb-chan-stay-away-secs-total(stb-chan-sub)/Stb-chan-stay-away-tune-count(stb-chan-sub)
-
- From 1 by 1
- Until stb-sub>stb-in-array
- Move zero to
- STB-Viewing-seconds (stb-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If STB-Viewed-flag (stb-sub, second-sub)=1
- Compute
STB-Viewing-seconds(stb-sub)=STB-Viewing-seconds(stb-sub)+1
- Compute
- End-if
- End-perform
-
- FROM 1
BY 1 - UNTIL STB-SUB>STB-IN-ARRAY
- MOVE ZERO TO
- STB-TUNE-INS (STB-SUB)
- IF STB-TUNE-IN-FLAG (STB-SUB, SECOND-SUB)=1
- COMPUTE
STB-TUNE-INS(STB-SUB)=STB-TUNE-INS(STB-SUB)+1
- COMPUTE
- END-IF
- FROM 1
-
- From 1 by 1
- Until stb-sub>stb-in-array
- Compute
STB-Average-viewing-duration(stb-sub)=STB-Viewing-seconds(stb-sub)+/STB-tune-ins(stb-sub)
- Compute
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to
- Channel-Viewing-seconds (chan-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
Channel-Viewing-seconds(chan-sub)=Channel-Viewing-seconds(chan-sub)+1
- Compute
- End-if
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to
- Channel-Non-Viewing-seconds (chan-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)=0
- Compute
Channel-Non-Viewing-seconds(chan-sub)=Channel-Non-Viewing-seconds(chan-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to
- Channel-one-STB-Viewing-seconds (chan-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)=1
- Compute
Channel-one-STB-Viewing-seconds(chan-sub)=Channel-one-STB-Viewing-seconds(chan-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to
- Agg-Channel-Viewing-seconds (chan-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
Agg-Channel-Viewing-seconds(chan-sub)=Agg-Channel-Viewing-seconds(chan-sub)+CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub,second-sub)
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Compute
Pct-of-day-only-one-stb-viewg-chan(chan-sub)=Channel-one-STB-Viewing-seconds(chan-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Compute
Pct-of-day-no-stb-viewing-channel(chan-sub)=Channel-Non-Viewing-seconds(chan-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Compute
Pct-of-day-viewing-channel(chan-sub)=Channel-Viewing-seconds(chan-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to
- Peak-viewing-count-for-channel (chan-sub)
- Move zero to
- Peak-viewing-second-for-channel (chan-sub)
- Move zero to peak-chan-viewed-temp
- Move zero to peak-chan-viewed-sec-temp
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>peak-chan-viewed-temp
- Move CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub) to peak-chan-viewed-temp
- move second-sub to peak-chan-viewed-sec-temp
- End-if
- End-perform
- Move peak-chan-viewed-sec-temp to
- Peak-viewing-second-for-channel (chan-sub)
- Move peak-chan-viewed-temp to
- Peak-viewing-count-for-channel (chan-sub)
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move Peak-viewing-second-for-channel (chan-sub) to peak-second-temp
- Move zero to Agg-viewing-at-this-chan-peak (chan-sub)
- Do calc-other-viewing
-
- From 1 by 1
- Until chan-sub-for-peak>chan-in-array
- Compute
Agg-viewing-at-this-chan-peak(chan-sub)=Agg-viewing-at-this-chan-peak(chan-sub)+CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub-for-peak,peak-second-temp)
- Compute
-
- From 1 by 1
- Until chan-sub>chan-in-array
- If Agg-viewing-at-this-chan-peak (chan-sub)>0
- Compute
Pct-of-peak-view-by-this-chanpeak(chan-sub)=Peak-viewing-count-for-channel(chan-sub)/Agg-viewing-at-this-chan-peak(chan-sub)*100
- Compute
- End-if
- If Agg-viewing-at-this-chan-peak (chan-sub)>0
-
- From 1 by 1
- Until chan-sub>chan-in-array
Compute Pct-of-peak-view-by-STB-viewng(chan-sub)=CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub,Peak-usage-second-by-STB-view)/By-sec-agg-chan-viewed-count(Peak-usage-second-by-STB-view)*100
-
- From 1 by 1
- Until chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, Peak-usage-second-by-STB-view)>0
- Move “Y” to Chan-viewed-during-peak-flag (chan-sub)
- Else
- Move “N” to Chan-viewed-during-peak-flag (chan-sub)
- End-if
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, Peak-usage-second-by-STB-view)>0
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to Chan-viewed-secs-during-peak (chan-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>=Peak-period-most-STB-activ-end-sec
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
Compute Chan-viewed-secs-during-peak(chan-sub)=Chan-viewed-secs-during-peak(chan-sub)+1 - End-if
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Move zero to Agg-Chan-viewed-secs-during-peak (chan-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>=Peak-period-most-STB-activ-end-sec
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
Agg-Chan-viewed-secs-during-peak(chan-sub)=Agg-Chan-viewed-secs-during-peak(chan-sub)+CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub,second-sub)
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until chan-sub>chan-in-array
- Compute
Pct-of-peak-period-chan-viewed(chan-sub)=Chan-viewed-secs-during-peak(chan-sub)/Peak-period-duration-in-seconds*100
- Compute
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to By-sec-chan-viewed-count (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
By-sec-chan-viewed-count(second-sub)=By-sec-chan-viewed-count(second-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to By-sec-no-chan-viewed-count (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)=0
Compute
By-sec-no-chan-viewed-count(second-sub)=By-sec-no-chan-viewed-count(second-sub)+1 - End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-agg-chan-viewed-count (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
By-sec-agg-chan-viewed-count(second-sub)=By-sec-agg-chan-viewed-count(second-sub)+CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub,second-sub)
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-bandwidth-reqd-quantity (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- Compute
By-sec-bandwidth-reqd-quantity(second-sub)=By-sec-bandwidth-reqd-quantity(second-sub)+CHAN-BIT-RATE(chan-sub)
- Compute
- End-if
- End-perform
-
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-SDV-chan-viewed-count (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- And SDV-OR-BROADCAST-CODE (chan-sub)=‘B’
- Compute
By-sec-SDV-chan-viewed-count(second-sub)=By-sec-SDV-chan-viewed-count(second-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-bcast-chan-viewed-count (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- And SDV-OR-BROADCAST-CODE (chan-sub)=‘B’
- Compute
By-sec-bcast-chan-viewed-count(second-sub)=By-sec-bcast-chan-viewed-count(second-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-Std-Def-chan-viewed-cnt (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- And HIGH-DEF-OR-STD-DEF (chan-sub)=‘SD’
- Compute
By-sec-Std-Def-chan-viewed-cnt(second-sub)=By-sec-Std-Def-chan-viewed-cnt(second-sub)+1
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until second-sub>seconds-in-array
- Move zero to
- By-sec-High-Def-chan-view-cnt (second-sub)
- Perform varying chan-sub
- From 1 by 1 until
- chan-sub>chan-in-array
- If CHAN-STB-VIEWED-CHANNEL-COUNT (chan-sub, second-sub)>0
- And HIGH-DEF-OR-STD-DEF (chan-sub)=‘HD’
Compute
By-sec-High-Def-chan-view-cnt(second-sub)=By-sec-High-Def-chan-view-cnt(second-sub)+1 - End-if
- End-perform
Compute Peak-period-most-chan-view-beg-sec=Peak-usage-second-by-chan-view−(Peak-period-duration-in-seconds/2)
Compute Peak-period-most-chan-view-end-sec=Peak-usage-second-by-chan-view+(Peak-period-duration-in-seconds/2)
Compute Peak-period-most-STB-activ-beg-sec=Peak-usage-second-by-STB-view−(Peak-period-duration-in-seconds/2)
Compute Peak-period-most-STB-activ-end-sec=Peak-usage-second-by-STB-view+(Peak-period-duration-in-seconds/2)
-
- From 1 by 1 until
- Second-sub>seconds-in-array
- If BY-SEC-BANDWIDTH-REQD-QUANTITY (second-sub)>Peak-usage-in-mbits-per-sectmp
- Move BY-SEC-BANDWIDTH-REQD-QUANTITY (second-sub) to
- Peak-usage-in-mbits-per-sectmp
- move second-sub to Peak-usage-second-in-mbits-tmp
- Move BY-SEC-BANDWIDTH-REQD-QUANTITY (second-sub) to
- End-if
-
- Peak-usage-second-in-mbits-per
-
- Peak-usage-in-mbits-per-sec
Compute Near-peak-threshold-in-mbits-per=Peak-usage-in-mbits-per-sec*Pct-of-peak-to-be-near-threshold [e.g.: 0.90]
-
- From 1 by 1 until
- Second-sub>seconds-in-array
- If BY-SEC-BANDWIDTH-REQD-QUANTITY (second-sub)>
- Near-peak-threshold-in-mbits-per
Compute Count-of-sec-mbits-near-peak=Count-of-sec-mbits-near-peak+ 1
- Near-peak-threshold-in-mbits-per
- End-if
Compute Pct-of-day-mbits-near-peak=Count-of-sec-mbits-near-peak/seconds-in-array*100
-
- Move zero to Max-tune-ins-per-second
- Move zero to Max-tune-ins-per-second-temp
- Move zero to Max-tune-ins-sec-of-day
- Move zero to Max-tune-ins-sec-of-day-temp
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If tune-ins-per-second-count (second-sub)>Max-tune-ins-per-second-temp
- Move tune-ins-per-second-count (second-sub) to
- Max-tune-ins-per-second-temp
- move second-sub to Max-tune-ins-sec-of-day-temp
- Move tune-ins-per-second-count (second-sub) to
- End-if
-
- Max-tune-ins-per-second
-
- Max-tune-ins-sec-of-day
-
- From 1 by 1 until
- Second-sub>seconds-in-array
- If BY-SEC-CHAN-VIEWED-COUNT (second-sub)>
- Peak-usage-by-chan-viewed-cnt-tmp
- Move BY-SEC-CHAN-VIEWED-COUNT (second-sub) to
- Peak-usage-by-chan-viewed-cnt-tmp
- move second-sub to
- Peak-usage-second-by-chan-view-tmp
- End-if
-
- Move Peak-usage-by-chan-viewed-cnt-tmp to
- Peak-usage-by-chan-viewed-cnt
- Move Peak-usage-second-by-chan-view-tmp to
- Peak-usage-second-by-chan-view
-
- Move zero to Peak-usage-by-STB-viewing-cnt
- Move zero to Peak-usage-by-STB-viewing-tmp
- Move zero to Peak-usage-second-by-STB-view
- Move zero to Peak-usage-second-by-STB-tmp
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If BY-SEC-AGG-CHAN-VIEWED-COUNT (second-sub)>
- Peak-usage-by-STB-viewing-tmp
- Move BY-SEC-AGG-CHAN-VIEWED-COUNT (second-sub) to
- Peak-usage-by-STB-viewing-tmp
- move second-sub to
- Peak-usage-second-by-STB-tmp
- End-if
- End-perform
- Move Peak-usage-by-STB-viewing-tmp to
- Peak-usage-by-STB-viewing-cnt
- Move Peak-usage-second-by-STB-tmp to
- Peak-usage-second-by-STB-view
-
- Move zero to Agg-STB-view-at-peak-sec-ofday
- Perform varying chan-sub
- From 1 by 1
- Until chan-sub>chan-in-array
- Compute
Agg-STB-view-at-peak-sec-ofday=Agg-STB-view-at-peak-sec-ofday+CHAN-STB-VIEWED-CHANNEL-COUNT(chan-sub,Peak-usage-second-by-STB-view)
- Compute
- End-perform
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Demo-Viewing-seconds (demo-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)>0
Compute
Demo-Viewing-seconds(demo-sub)=Demo-Viewing-seconds(demo-sub)+1 - End-if
- End-perform
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Demo-Non-Viewing-seconds (demo-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)=0
- Compute
Demo-Non-Viewing-seconds(demo-sub)=Demo-Non-Viewing-seconds(demo-sub)+1
- Compute
- End-if
- End-perform
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Demo-one-STB-Viewing-seconds (demo-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)=1
- Compute
Demo-one-STB-Viewing-seconds(demo-sub)=Demo-one-STB-Viewing-seconds(demo-sub)+1
- Compute
- End-if
- End-perform
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Agg-Demo-Viewing-seconds (demo-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)>0
- Compute
Agg-Demo-Viewing-seconds(demo-sub)=Agg-Demo-Viewing-seconds(demo-sub)+DEMO-STB-VIEWED-COUNT(demo-sub,second-sub)
- Compute
- End-if
- End-perform
-
- From 1 by 1
- Until demo-sub>demo-in-array
- Compute
Pct-of-day-only-one-stb-viewg-demo(demo-sub)=Demo-one-STB-Viewing-seconds(demo-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until demo-sub>demo-in-array
- Compute
Pct-of-day-no-stb-viewing-demo(demo-sub)=Demo-Non-Viewing-seconds(demo-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until demo-sub>demo-in-array
- Compute
Pct-of-day-viewing-demo(demo-sub)=Demo-Viewing-seconds(demo-sub)/Seconds-in-day*100
- Compute
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Peak-viewing-count-for-demo (demo-sub)
- Move zero to
- Peak-viewing-second-for-demo (demo-sub)
- Move zero to peak-demo-viewed-temp
- Move zero to peak-demo-viewed-sec-temp
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)>peak-demo-viewed-temp
- Move DEMO-STB-VIEWED-COUNT
- (demo-sub, second-sub) to
- peak-demo-viewed-temp
- move second-sub to peak-demo-viewed-sec-temp
- End-if
- Move DEMO-STB-VIEWED-COUNT
- End-perform
- Move peak-demo-viewed-sec-temp to
- Peak-viewing-second-for-demo (demo-sub)
- Move peak-demo-viewed-temp to
- Peak-viewing-count-for-demo (demo-sub)
-
- From 1 by 1
- Until demo-sub>demo-in-array
- Move Peak-viewing-second-for-demo (demo-sub)
- to peak-second-temp
- Move zero to
- agg-viewing-at-this-demo-peak (demo-sub)
- Do calc-other-viewing
-
- From 1 by 1
- Until demo-sub-for-peak>demo-in-array
- Compute
agg-viewing-at-this-demo-peak(demo-sub)=agg-viewing-at-this-demo-peak(demo-sub)+DEMO-STB-VIEWED-COUNT(demo-sub-for-peak,peak-second-temp)
- Compute
-
- From 1 by 1
- Until demo-sub>demo-in-array
- If Agg-viewing-at-this-demo-peak (demo-sub)>0
- Compute
Pct-of-peak-view-by-this-demopeak(demo-sub)=Peak-viewing-count-for-demo(demo-sub)/Agg-viewing-at-this-demo-peak(demo-sub)*100
- Compute
- If Agg-viewing-at-this-demo-peak (demo-sub)>0
- End-if
-
- From 1 by 1
- Until demo-sub>demo-in-array
- If By-sec-agg-demo-viewed-count (Peak-usage-second-by-STB-view)>0
Compute Pct-of-peak-view-by-STB-viewng(demo-sub)=DEMO-STB-VIEWED-COUNT(demo-sub,Peak-usage-second-by-STB-view)/By-sec-agg-demo-viewed-count(Peak-usage-second-by-STB-view)*100
- If By-sec-agg-demo-viewed-count (Peak-usage-second-by-STB-view)>0
- End-if
-
- From 1 by 1
- Until demo-sub>demo-in-array
- If DEMO-STB-VIEWED-COUNT (demo-sub, Peak-usage-second-by-STB-view)>0
- Move “Y” to Demo-viewed-during-peak-flag (demo-sub)
- Else
- Move “N” to Demo-viewed-during-peak-flag (demo-sub)
- If DEMO-STB-VIEWED-COUNT (demo-sub, Peak-usage-second-by-STB-view)>0
- End-if
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Demo-viewed-secs-during-peak (demo-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>Peak-period-most-STB-activ-end-sec
Compute Demo-viewed-secs-during-peak(demo-sub)=Demo-viewed-secs-during-peak(demo-sub)+1
-
-
- End-if
- End-perform
- End-perform
-
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Move zero to
- Agg-demo-viewed-secs-during-peak (demo-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>Peak-period-most-STB-activ-end-sec
- If DEMO-STB-VIEWED-COUNT (demo-sub, second-sub)>0
- Compute
Agg-demo-viewed-secs-during-peak(demo-sub)=Agg-demo-viewed-secs-during-peak(demo-sub)+DEMO-STB-VIEWED-COUNT(demo-sub,second-sub)
- Compute
- End-if
- End-perform
- End-perform
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- Compute
Pct-of-peak-period-demo-was-viewed(demo-sub)=demo-viewed-secs-during-peak(demo-sub)/Peak-period-duration-in-seconds*100
- Compute
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Prog-Viewing-seconds (prog-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)>0
Compute
Prog-Viewing-seconds(prog-sub)=Prog-Viewing-seconds(prog-sub)+1 - End-if
- End-perform
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Prog-Non-Viewing-seconds (prog-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)=0
Compute
Prog-Non-Viewing-seconds(prog-sub)=Prog-Non-Viewing-seconds(prog-sub)+1
- End-if
- End-perform
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Prog-one-STB-Viewing-seconds (prog-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)=1
Compute
Prog-one-STB-Viewing-seconds(prog-sub)=Prog-one-STB-Viewing-seconds(prog-sub)+1 - End-if
- End-perform
- End-perform
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Agg-Prog-Viewing-seconds (prog-sub)
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)>0
- Compute
Agg-Prog-Viewing-seconds(prog-sub)=Agg-Prog-Viewing-seconds(prog-sub)+PROG-STB-VIEWED-COUNT(prog-sub,second-sub)
- Compute
- End-if
- End-perform
- End-perform
-
- From 1 by 1
- Until prog-sub>prog-in-array
- Compute
P Pct-of-day-only-one-stb-viewg-prog(prog-sub)=Prog-one-STB-Viewing-seconds(prog-sub)/Seconds-in-day*100
- Compute
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Compute
Pct-of-day-no-stb-viewing-prog(prog-sub)=Prog-Non-Viewing-seconds(prog-sub)/Seconds-in-day*100
- Compute
-
- From 1 by 1
- Until prog-sub>prog-in-array
- Compute
Pct-of-day-viewing-prog(prog-sub)=Prog-Viewing-seconds(prog-sub)/Seconds-in-day*100
- Compute
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Peak-viewing-count-for-prog (prog-sub)
- Move zero to
- Peak-viewing-second-for-prog (prog-sub)
- Move zero to peak-prog-viewed-temp
- Move zero to peak-prog-viewed-sec-temp
- Perform varying second-sub
- From 1 by 1 until
- Second-sub>seconds-in-array
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)>peak-prog-viewed-temp
- Move PROG-STB-VIEWED-COUNT (prog-sub, second-sub) to peak-prog-viewed-temp
- move second-sub to peak-prog-viewed-sec-temp
- End-if
- End-perform
- Move peak-prog-viewed-sec-temp to
- Peak-viewing-second-for-prog (prog-sub)
- Move peak-prog-viewed-temp to
- Peak-viewing-count-for-prog (prog-sub)
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move Peak-viewing-second-for-prog (prog-sub)
- to peak-second-temp
- Move zero to
- Agg-other-view-at-this-prog-pk (prog-sub)
- Do calc-other-viewing
-
- From 1 by 1
- Until prog-sub-for-peak>prog-in-array
- Compute
Agg-other-view-at-this-prog-pk(prog-sub)=Agg-other-view-at-this-prog-pk(prog-sub)+PROG-STB-VIEWED-COUNT(prog-sub-for-peak,peak-second-temp)
- Compute
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- If Agg-viewing-at-this-prog-peak (prog-sub)>0
- Compute
Pct-of-peak-view-by-this-progpeak(prog-sub)=Peak-viewing-count-for-prog(prog-sub)/Agg-viewing-at-this-prog-peak(prog-sub)*100
- Compute
- End-if
- If Agg-viewing-at-this-prog-peak (prog-sub)>0
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
Compute Pct-of-peak-view-by-STB-viewng(prog-sub)=PROG-STB-VIEWED-COUNT(prog-sub,Peak-usage-second-by-STB-view)/By-sec-agg-prog-viewed-count(Peak-usage-second-by-STB-view)*100
-
- From 1 by 1
- Until prog-sub>prog-in-array
- If PROG-STB-VIEWED-COUNT (prog-sub, Peak-usage-second-by-STB-view)>0
- Move “Y” to
- Prog-viewed-during-peak-flag (prog-sub)
- Move “Y” to
- Else
- Move “N” to
- Prog-viewed-during-peak-flag (prog-sub)
- Move “N” to
- End-if
- If PROG-STB-VIEWED-COUNT (prog-sub, Peak-usage-second-by-STB-view)>0
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Prog-viewed-secs-during-peak (prog-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>Peak-period-most-STB-activ-end-sec
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)>0
Compute Prog-viewed-secs-during-peak(prog-sub)=Prog-viewed-secs-during-peak(prog-sub)+1 - End-if
- End-perform
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Move zero to
- Agg-prog-viewed-secs-during-peak (prog-sub)
- Perform varying second-sub
- From Peak-period-most-STB-activ-beg-sec by 1 until
- Second-sub>Peak-period-most-STB-activ-end-sec
- If PROG-STB-VIEWED-COUNT (prog-sub, second-sub)>0
- Compute
Agg-prog-viewed-secs-during-peak(prog-sub)=Agg-prog-viewed-secs-during-peak(prog-sub)+PROG-STB-VIEWED-COUNT(prog-sub,second-sub)
- Compute
- End-if
- End-perform
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- Compute
Pct-of-peak-period-prog-was-viewed(prog-sub)=prog-viewed-secs-during-peak(prog-sub)/Peak-period-duration-in-seconds*100
End-perform
- Compute
-
- Perform varying stb-chan-sub
- From 1 by 1
- Until stb-chan-sub>stb-chan-in-array
- Move TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
DATE 5609 - Move STB-CVD-MARKET (stb-chan-sub) 3010 to STB-CVD-
MARKET 5610 - Move STB-CVD-SERVICE-GROUP (stb-chan-sub) 3020 to STB-CVD-SERVICE-
GROUP 5620 - Move STB-CVD-HUB (stb-chan-sub) 3030 to STB-CVD-
HUB 5630 - Move STB-CVD-HEADEND (stb-chan-sub) 3040 to STB-CVD-HEADEND 5640
- Move STB-CVD-CHANNEL-CALL-SIGN (stb-chan-sub) 3050 to STB-CVD-CHANNEL-CALL-
SIGN 5650 - Move STB-CVD-CHANNEL-SOURCE-ID (stb-chan-sub) 3060 to STB-CVD-CHANNEL-SOURCE-ID 5660
- Move STB-CVD-STB-ID (stb-chan-sub) 3070 to STB-CVD-STB-
ID 5670 - Move STB-CVD-TUNER-INDEX (stb-chan-sub) 3080 to STB-CVD-TUNER-
INDEX 5680 - Move STB-CHANNEL-VIEWING-SECONDS (stb-chan-sub) 3090 to STB-CHANNEL-VIEWING-
SECONDS 5690 - Move STB-CHANNEL-TUNE-INS (stb-chan-sub) 3100 to STB-CHANNEL-TUNE-
INS 5700 - Move STB-CHAN-AVG-VIEWING-DURATION (stb-chan-sub) 3110 to STB-CHAN-AVG-VIEWING-DURATION 5710
- Move STB-CHAN-STAY-AWAY-SECS-TOTAL (stb-chan-sub) 3120 to STB-CHAN-STAY-AWAY-SECS-
TOTAL 5720 - Move STB-CHAN-STAY-AWAY-TUNE-COUNT (stb-chan-sub) 3130 to STB-CHAN-STAY-AWAY-TUNE-
COUNT 5730 - Move STB-CHAN-AVG-STAY-AWAY-SECS (stb-chan-sub) 3140 to STB-CHAN-AVG-STAY-AWAY-SECS 5740
- Move TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
- Write record
-
- Perform varying stb-sub
- From 1 by 1
- Until stb-sub>stb-in-array
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-DATE 5809
- MOVE STB-VD-MARKET (stb-sub) 3210 to STB-VD-
MARKET 5810 - MOVE STB-VD-SERVICE-GROUP (stb-sub) 3220 to STB-VD-SERVICE-
GROUP 5820 - MOVE STB-VD-HUB (stb-sub) 3230 to STB-VD-
HUB 5830 - MOVE STB-VD-HEADEND (stb-sub) 3240 to STB-VD-HEADEND 5840
- MOVE STB-VD-STB-ID (stb-sub) 3250 to STB-VD-STB-ID 5850
- MOVE STB-VD-TUNER-INDEX (stb-sub) 3260 to STB-VD-TUNER-INDEX 5860
- MOVE STB-VIEWING-SECONDS (stb-sub) 3270 to STB-VIEWING-
SECONDS 5870 - MOVE STB-TUNE-INS (stb-sub) 3280 to STB-TUNE-
INS 5880 - MOVE STB-AVERAGE-VIEWING-DURATION (stb-sub) 3290 to STB-AVERAGE-VIEWING-
DURATION 5890
- Write record
-
- Perform varying chan-sub
- From 1 by 1
- Until chan-sub>chan-in-array
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
DATE 6009 - MOVE CHAN-VD-MARKET (chan-sub) 3410 to CHAN-VD-MARKET 6010
- MOVE CHAN-VD-SERVICE-GROUP (chan-sub) 3420 to CHAN-VD-SERVICE-
GROUP 6020 - MOVE CHAN-VD-HUB (chan-sub) 3430 to CHAN-VD-HUB 6030
- MOVE CHAN-VD-HEADEND (chan-sub) 3440 to CHAN-VD-
HEADEND 6040 - MOVE CHAN-VD-CHANNEL-CALL-SIGN (chan-sub) 3450 to CHAN-VD-CHANNEL-CALL-
SIGN 6050 - MOVE CHAN-VD-CHANNEL-SOURCE-ID (chan-sub) 3460 to CHAN-VD-CHANNEL-SOURCE-ID 6060
- MOVE CHAN-BIT-RATE (chan-sub) 3470 to CHAN-BIT-
RATE 6070 - MOVE SDV-OR-BROADCAST-CODE (chan-sub) 3480 to SDV-OR-BROADCAST-
CODE 6080 - MOVE HIGH-DEF-OR-STD-DEF (chan-sub) 3490 to HIGH-DEF-OR-STD-
DEF 6090 - MOVE CHANNEL-VIEWING-SECONDS (chan-sub) 3500 to CHANNEL-VIEWING-
SECONDS 6100 - MOVE CHANNEL-NON-VIEWING-SECONDS (chan-sub) 3510 to CHANNEL-NON-VIEWING-
SECONDS 6110 - MOVE CHANNEL-ONE-STB-VIEWING-SECONDS (chan-sub) 3520 to CHANNEL-ONE-STB-VIEWING-
SECONDS 6120 - MOVE AGG-CHANNEL-VIEWING-SECONDS (chan-sub) 3530 to AGG-CHANNEL-VIEWING-
SECONDS 6130 - MOVE PCT-OF-DAY-ONLY-ONE-STB-VIEWG-CHAN (chan-sub) 3540 to PCT-OF-DAY-ONLY-ONE-STB-VIEWG-CHAN 6140
- MOVE PCT-OF-DAY-NO-STB-VIEWING-CHANNEL (chan-sub) 3550 to PCT-OF-DAY-NO-STB-VIEWING-CHANNEL 6150
- MOVE PCT-OF-DAY-VIEWING-CHANNEL (chan-sub) 3560 to PCT-OF-DAY-VIEWING-
CHANNEL 6160 - MOVE PEAK-VIEWING-COUNT-FOR-CHANNEL (chan-sub) 3570 to PEAK-VIEWING-COUNT-FOR-
CHANNEL 6170 - MOVE PEAK-VIEWING-SECOND-FOR-CHAN (chan-sub) 3580 to PEAK-VIEWING-SECOND-FOR-
CHAN 6180 - MOVE AGG-VIEWING-AT-THIS-CHAN-PEAK (chan-sub) 3590 to AGG-VIEWING-AT-THIS-CHAN-
PEAK 6190 - MOVE PCT-OF-PEAK-VIEW-BY-THIS-CHANPEAK (chan-sub) 3600 to PCT-OF-PEAK-VIEW-BY-THIS-CHANPEAK 6200
- MOVE PCT-OF-PEAK-VIEW-BY-STB-VIEWNG (chan-sub) 3610 to PCT-OF-PEAK-VIEW-BY-STB-
VIEWNG 6210 - MOVE CHAN-VIEWED-DURING-PEAK-FLAG (chan-sub) 3620 to CHAN-VIEWED-DURING-PEAK-
FLAG 6220 - MOVE PEAK-PERIOD-DURATION-IN-SECONDS (chan-sub) 3630 to PEAK-PERIOD-DURATION-IN-
SECONDS 6230 - MOVE CHAN-VIEWED-SECS-DURING-PEAK (chan-sub) 3640 to CHAN-VIEWED-SECS-DURING-
PEAK 6240 - MOVE AGG-CHAN-VIEWED-SECS-DURING-PEAK (chan-sub) 3650 to AGG-CHAN-VIEWED-SECS-DURING-
PEAK 6250 - MOVE PCT-OF-PEAK-PERIOD-CHAN-WAS-VIEWED (chan-sub) 3660 to PCT-OF-PEAK-PERIOD-CHAN-WAS-VIEWED 6260
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
- Write record
-
- From 1 by 1
- Until second-sub>seconds-in-array
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-DATE 6409
- MOVE CHAN-SOD-
MARKET 3810 to CHAN-SOD-MARKET 6410 - MOVE CHAN-SOD-SERVICE-
GROUP 3820 to CHAN-SOD-SERVICE-GROUP 6420 - MOVE CHAN-SOD-
HUB 3830 to CHAN-SOD-HUB 6430 - MOVE CHAN-SOD-HEADEND 3840 to CHAN-SOD-
HEADEND 6440 - MOVE SECOND-SUB TO SECOND-OF-DAY 6448
- MOVE BY-SEC-CHAN-VIEWED-COUNT (second-sub) 3860 to BY-SEC-CHAN-VIEWED-
COUNT 6460 - MOVE BY-SEC-NO-CHAN-VIEWED-COUNT (second-sub) 3870 to BY-SEC-NO-CHAN-VIEWED-
COUNT 6470 - MOVE BY-SEC-AGG-CHAN-VIEWED-COUNT (second-sub) 3880 to BY-SEC-AGG-CHAN-VIEWED-
COUNT 6480 - MOVE BY-SEC-BANDWIDTH-REQD-QUANTITY (second-sub) 3890 to BY-SEC-BANDWIDTH-REQD-
QUANTITY 6490 - MOVE BY-SEC-SDV-CHAN-VIEWED-COUNT (second-sub) 3900 to BY-SEC-SDV-CHAN-VIEWED-
COUNT 6500 - MOVE BY-SEC-BCAST-CHAN-VIEWED-COUNT (second-sub) 3910 to BY-SEC-BCAST-CHAN-VIEWED-
COUNT 6510 - MOVE BY-SEC-STD-DEF-CHAN-VIEWED-CNT (second-sub) 3920 to BY-SEC-STD-DEF-CHAN-VIEWED-
CNT 6520 - MOVE BY-SEC-HIGH-DEF-CHAN-VIEW-CNT (second-sub) 3930 to BY-SEC-HIGH-DEF-CHAN-VIEW-
CNT 6530 - MOVE TUNE-INS-PER-SECOND-COUNT (second-sub) 3940 to TUNE-INS-PER-SECOND-
COUNT 6540
- Write record
-
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-DATE 6609
- MOVE CHAN-CDS-
MARKET 4210 to CHAN-CDS-MARKET 6610 - MOVE CHAN-CDS-SERVICE-
GROUP 4220 to CHAN-CDS-SERVICE-GROUP 6620 - MOVE CHAN-CDS-HUB 4230 to CHAN-CDS-
HUB 6630 - MOVE CHAN-CDS-HEADEND 4240 to CHAN-CDS-HEADEND 6640
- MOVE PEAK-PERIOD-DURATION-IN-SECONDS 4260 to PEAK-PERIOD-DURATION-IN-SECONDS 6660
- MOVE PEAK-PERIOD-MOST-CHAN-VIEW-BEG-
SEC 4270 to PEAK-PERIOD-MOST-CHAN-VIEW-BEG-SEC 6670 - MOVE PEAK-PERIOD-MOST-CHAN-VIEW-END-SEC 4280 to PEAK-PERIOD-MOST-CHAN-VIEW-END-SEC 6680
- MOVE PEAK-PERIOD-MOST-STB-ACTIV-BEG-
SEC 4290 to PEAK-PERIOD-MOST-STB-ACTIV-BEG-SEC 6690 - MOVE PEAK-PERIOD-MOST-STB-ACTIV-END-
SEC 4300 to PEAK-PERIOD-MOST-STB-ACTIV-END-SEC 6700 - MOVE PEAK-USAGE-IN-MBITS-PER-
SEC 4320 to PEAK-USAGE-IN-MBITS-PER-SEC 6720 - MOVE PEAK-USAGE-SECOND-IN-MBITS-
PER 4330 to PEAK-USAGE-SECOND-IN-MBITS-PER 6730 - MOVE PCT-OF-PEAK-TO-BE-NEAR-THRESHOLD 4340 to PCT-OF-PEAK-TO-BE-NEAR-THRESHOLD 6740
- MOVE NEAR-PEAK-THRESHOLD-IN-MBITS-
PER 4350 to NEAR-PEAK-THRESHOLD-IN-MBITS-PER 6750 - MOVE COUNT-OF-SEC-MBITS-NEAR-PEAK 4360 to COUNT-OF-SEC-MBITS-NEAR-
PEAK 6760 - MOVE PCT-OF-DAY-MBITS-NEAR-PEAK 4370 to PCT-OF-DAY-MBITS-NEAR-
PEAK 6770 - MOVE MAX-TUNE-INS-PER-
SECOND 4390 to MAX-TUNE-INS-PER-SECOND 6790 - MOVE MAX-TUNE-INS-SEC-OF-DAY 4400 to MAX-TUNE-INS-SEC-OF-
DAY 6800 - MOVE PEAK-USAGE-BY-CHAN-VIEWED-CNT 4420 to PEAK-USAGE-BY-CHAN-VIEWED-CNT 6820
- MOVE PEAK-USAGE-SECOND-BY-CHAN-VIEW 4430 to PEAK-USAGE-SECOND-BY-CHAN-VIEW 6830
- MOVE PEAK-USAGE-BY-STB-VIEWING-CNT 4440 to PEAK-USAGE-BY-STB-VIEWING-CNT 6840
- MOVE PEAK-USAGE-SECOND-BY-STB-VIEW 4450 to PEAK-USAGE-SECOND-BY-STB-VIEW 6850
- MOVE AGG-STB-VIEW-AT-PEAK-SEC-OFDAY 4460 to AGG-STB-VIEW-AT-PEAK-SEC-OFDAY 6860
-
- Perform varying demo-sub
- From 1 by 1
- Until demo-sub>demo-in-array
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
DATE 7009 - MOVE DEMO-VD-MARKET (demo-sub) 4810 to DEMO-VD-MARKET 7010
- MOVE DEMO-VD-SERVICE-GROUP (demo-sub) 4820 to DEMO-VD-SERVICE-
GROUP 7020 - MOVE DEMO-VD-HUB (demo-sub) 4830 to DEMO-VD-HUB 7030
- MOVE DEMO-VD-HEADEND (demo-sub) 4840 to DEMO-VD-HEADEND 7040
- MOVE DEMO-VD-DEMOGRAPHIC-CAT-1 (demo-sub) 4850 to DEMO-VD-DEMOGRAPHIC-CAT-1 7050
- MOVE DEMO-VD-DEMOGRAPHIC-CAT-2 (demo-sub) 4860 to DEMO-VD-DEMOGRAPHIC-CAT-2 7060
- MOVE DEMO-VIEWING-SECONDS (demo-sub) 4880 to DEMO-VIEWING-SECONDS 7080
- MOVE DEMO-NON-VIEWING-SECONDS (demo-sub) 4890 to DEMO-NON-VIEWING-SECONDS 7090
- MOVE DEMO-ONE-STB-VIEWING-SECONDS (demo-sub) 4900 to DEMO-ONE-STB-VIEWING-SECONDS 7100
- MOVE AGG-DEMO-VIEWING-SECONDS (demo-sub) 4910 to AGG-DEMO-VIEWING-
SECONDS 7110 - MOVE PCT-OF-DAY-ONLY-ONE-STB-VIEWG-DEMO (demo-sub) 4920 to PCT-OF-DAY-ONLY-ONE-STB-VIEWG-
DEMO 7120 - MOVE PCT-OF-DAY-NO-STB-VIEWING-DEMO (demo-sub) 4930 to PCT-OF-DAY-NO-STB-VIEWING-
DEMO 7130 - MOVE PCT-OF-DAY-VIEWING-DEMO (demo-sub) 4940 to PCT-OF-DAY-VIEWING-DEMO 7140
- MOVE PEAK-VIEWING-COUNT-FOR-DEMO (demo-sub) 4960 to PEAK-VIEWING-COUNT-FOR-
DEMO 7160 - MOVE PEAK-VIEWING-SECOND-FOR-DEMO (demo-sub) 4970 to PEAK-VIEWING-SECOND-FOR-
DEMO 7170 - MOVE AGG-VIEWING-AT-THIS-DEMO-PEAK (demo-sub) 4980 to AGG-VIEWING-AT-THIS-DEMO-
PEAK 7180 - MOVE PCT-OF-PEAK-VIEW-BY-THIS-DEMOPEAK (demo-sub) 4990 to PCT-OF-PEAK-VIEW-BY-THIS-DEMOPEAK 7190
- MOVE PCT-OF-PEAK-VIEW-BY-STB-VIEWNG (demo-sub) 5010 to PCT-OF-PEAK-VIEW-BY-STB-
VIEWNG 7210 - MOVE DEMO-VIEWED-DURING-PEAK-FLAG (demo-sub) 5020 to DEMO-VIEWED-DURING-PEAK-
FLAG 7220 - MOVE PEAK-PERIOD-DURATION-IN-SECONDS (demo-sub) 5030 to PEAK-PERIOD-DURATION-IN-
SECONDS 7230 - MOVE DEMO-VIEWED-SECS-DURING-PEAK (demo-sub) 5040 to DEMO-VIEWED-SECS-DURING-
PEAK 7240 - MOVE AGG-DEMO-VIEWED-SECS-DURING-PEAK (demo-sub) 5050 to AGG-DEMO-VIEWED-SECS-DURING-PEAK 7250
- MOVE PCT-OF-PEAK-PERIOD-DEMO-VIEWED (demo-sub) 5060 to PCT-OF-PEAK-PERIOD-DEMO-VIEWED 7260
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-
- Write record
-
- Perform varying prog-sub
- From 1 by 1
- Until prog-sub>prog-in-array
- MOVE TUNE-IN-DATE 1890 to TUNING-ACTIVITY-DATE 7409
- MOVE PRO-VD-MARKET (prog-sub) 5210 to PROG-VD-MARKET 7410
- MOVE PROG-VD-SERVICE-GROUP (prog-sub) 5220 to PROG-VD-SERVICE-
GROUP 7420 - MOVE PROG-VD-HUB (prog-sub) 5230 to PROG-VD-
HUB 7430 - MOVE PROG-VD-HEAD END (prog-sub) 5240 to PROG-VD-HEAD END 7440
- MOVE PROG-VD-PROGRAM-ATTRIBUTE-1 (prog-sub) 5250 to PROG-VD-PROGRAM-ATTRIBUTE-1 7450
- MOVE PROG-VD-PROGRAM-ATTRIBUTE-2 (prog-sub) 5260 to PROG-VD-PROGRAM-ATTRIBUTE-2 7460
- MOVE PROG-VIEWING-SECONDS (prog-sub) 5280 to PROG-VIEWING-SECONDS 7480
- MOVE PROG-NON-VIEWING-SECONDS (prog-sub) 5290 to PROG-NON-VIEWING-SECONDS 7490
- MOVE PROG-ONE-STB-VIEWING-SECONDS (prog-sub) 5300 to PROG-ONE-STB-VIEWING-SECONDS 7500
- MOVE AGG-PROG-VIEWING-SECONDS (prog-sub) 5310 to AGG-PROG-VIEWING-SECONDS 7510
- MOVE PCT-OF-DAY-ONLY-ONE-STB-VIEWG-PROG (prog-sub) 5320 to PCT-OF-DAY-ONLY-ONE-STB-VIEWG-
PROG 7520 - MOVE PCT-OF-DAY-NO-STB-VIEWING-PROG (prog-sub) 5340 to PCT-OF-DAY-NO-STB-VIEWING-PROG 7540
- MOVE PCT-OF-DAY-VIEWING-PROG (prog-sub) 5350 to PCT-OF-DAY-VIEWING-PROG 7550
- MOVE PEAK-VIEWING-COUNT-FOR-PROG (prog-sub) 5370 to PEAK-VIEWING-COUNT-FOR-
PROG 7570 - MOVE PEAK-VIEWING-SECOND-FOR-PROG (prog-sub) 5380 to PEAK-VIEWING-SECOND-FOR-PROG 7580
- MOVE AGG-VIEWING-AT-THIS-PROG-PEAK (prog-sub) 5390 to AGG-VIEWING-AT-THIS-PROG-PEAK 7590
- MOVE PCT-OF-PEAK-VIEW-BY-THIS-PROGPEAK (prog-sub) 5400 to PCT-OF-PEAK-VIEW-BY-THIS-
PROGPEAK 7600 - MOVE PCT-OF-PEAK-VIEW-BY-STB-VIEWNG (prog-sub) 5420 to PCT-OF-PEAK-VIEW-BY-STB-
VIEWNG 7620 - MOVE PROG-VIEWED-DURING-PEAK-FLAG (prog-sub) 5430 to PROG-VIEWED-DURING-PEAK-FLAG 7630
- MOVE PEAK-PERIOD-DURATION-IN-SECONDS (prog-sub) 5440 to PEAK-PERIOD-DURATION-IN-
SECONDS 7640 - MOVE PROG-VIEWED-SECS-DURING-PEAK (prog-sub) 5450 to PROG-VIEWED-SECS-DURING-PEAK 7650
- MOVE AGG-PROG-VIEWED-SECS-DURING-PEAK (prog-sub) 5460 to AGG-PROG-VIEWED-SECS-DURING-PEAK 7660
- MOVE PCT-OF-PEAK-PERIOD-PROG-VIEWED (prog-sub) 5470 to PCT-OF-PEAK-PERIOD-PROG-VIEWED 7670
- Write record
-
- STB Channel Viewing seconds which measures for each set-top box+channel combination, the number of seconds the set top box was tuned to the channel during the day. As nonlimiting examples, viewing could also be measured for any part of the day such as viewing during a specific half hour or viewing during a commercial break.
- STB Channel tune-ins which measures for each set-top box+channel combination, the number of times the set-top box tuned to that channel during the day. As a nonlimiting example, it would be just as easy to measure the number of tune-outs that occurred during a specific half hour or viewing during a commercial break.
- STB channel average stay away seconds which measures for each set-top box+channel combination the average time away for tune-away events where the STB returns to the channel soon thereafter.
Channel Viewership Analysis
-
- Channel viewing seconds which measures at a channel level the number of seconds during the day that at least one set-top box was viewing the channel.
- Channel Non-Viewing seconds which measures at a channel level the number of seconds during the day that no set-top box was viewing the channel.
- Aggregate Channel Viewing seconds which measures at a channel level the total number of seconds of viewing of the channel during the day.
- Peak viewing count for channel which measures at a channel level how many STB's are tuned to the channel during its peak viewing second.
- Peak viewing second for channel which measures at a channel level the time of day when the most people are tuned to this channel.
- Aggregate viewing at this channel peak which measures at a channel level how much total viewing is happening when this channel is at its peak.
- Percent of peak viewing by this channel at peak which measures at a channel level what part of the total viewing audience is tuned to this channel during this channel's peak viewing period.
- Channel viewed during peak flag which measures at a channel level whether or not the channel was viewed during the peak second of the day when peak second is the most active second based on all the STB's viewing.
- Channel viewed seconds during peak which measures at a channel level the number of seconds during the peak viewing window that this channel was viewed by at least one STB.
- Aggregate Channel viewed seconds during peak which measures at a channel level the number of total viewing seconds that this channel captured during the peak viewing window.
- By second, channel viewed count which measures for each second of the day, the number of channels that had viewing activity of at least one STB tuned to the channel.
- By second, aggregate channel viewed count which measures for each second of the day, the number of different set-top boxes that were tuned to all the channels combined.
- By second of the day, bandwidth required quantity which measures for each second of the day, the amount of bandwidth required to service the channels being viewed, with bandwidth measured in megabits per second.
- Peak usage in megabits per second which measures the highest bandwidth usage in megabits per second that was recorded during the day.
- Peak usage by channel viewed count which measures the number of different channels being viewed on the busiest second of the day when busy is measured by number of channels viewed.
- Peak usage by STB viewing count which measures the number of different set-top boxes tuned to the system during the busiest second of the day.
Demographics Analysis
-
- a. income,
- b. ethnicity,
- c. gender,
- d. age,
- e. marital status,
- f. location,
- g. geographic area,
- h. postal code,
- i. census data,
- j. occupation,
- k. social grouping,
- l. family status,
- m. any proprietary demographic grouping,
- n. segmentation,
- o. credit score,
- P. dwelling type,
- q. homeownership status,
- r. property ownership status,
- s. rental status,
- t. vehicle ownership,
- u. tax rolls,
- v. credit card usage,
- w. religious affiliation,
- x. sports interest,
- y. political party affiliation,
- z. cable subscriber type, and
- aa. cable subscriber package level
- bb. cell phone service level.
-
- a. Demographic viewing seconds measures at a demographic level the number of seconds during the day that at least one set-top box having this demographic was tuned-in.
- b. Aggregate demographic viewing seconds measures at a demographic level the number of seconds of during the day that STB's having this demographic were tuned-in.
- c. Peak viewing second for demographic measures the second of the day when the most STB's having this demographic are tuned-in.
- d. Aggregate demographic viewing at this demographic's peak measures how much aggregate viewing is happening when this demographic is at its peak.
-
- a. Aggregate viewing seconds for (family status=“Families”) in (postal code=“80001”) for the day measures the total viewing seconds of Families in Postal Code 80001.
- b. Peak viewing second for (family status=“Families”) in (postal code=“80001”) measures the second of the day when the most STB's belonging to Families in postal code 80001 are tuned-in.
-
- a. program type (news, sports, movie, etc.),
- b. program genre (action, mystery, romance),
- c. program provider,
- d. video asset id,
- e. video asset name,
- f. program rating,
- g. producer,
- h. script writer,
- i. agency name,
- j. featured actor,
- k. featured actress,
- l. featured voice,
- m. actor celebrity status,
- n. language,
- o. informational content code,
- p. delivery format,
- q. audio track code,
- r. audience suitability rating,
- s. product category,
- t. episode identifier.
-
- a. Program one STB viewing seconds measures at a program attribute level the number of seconds during the day that only one set-top box was tuned to a program having this program attribute.
- b. Aggregate program viewing seconds measures at a program attribute level the number of seconds during the day that programs having this program attribute were being viewed.
- c. Percent of the day when only one STB is viewing programs of this attribute tells the percentage of the day when only one STB is viewing programs having this program attribute.
- d. Peak viewing second for program measures the second of the day when programs having this program attribute are viewed the most.
- e. Percent of peak viewership by this program attribute's peak measures what part of the total active STB's were tuned to programs having this program attribute during the peak viewing period for programs having this program attribute.
-
- a. Percent of peak viewership by this program attribute's peak measures what part of the total active STB's were tuned to programs having this program attribute during the peak viewing period for programs having this program attribute could be used as follows: When the Sports (program attribute 1)+Football program (program attribute 2) was at its best for the day, what share of the audience did it get?
- b. Aggregate program viewing seconds measures at a program attribute level the number of seconds during the day that programs having this program attribute were being viewed could be used as follows: What was the total number of viewing seconds during the day that Action Movies (
program attribute 1=Movie)+(attribute 2=Action) were viewed?
Combinations of Metrics
-
- a. Viewing counts on Channel XYZ for Program Attribute 1 ‘Movie’ with Program Attribute 2 ‘PG’ or ‘G’ by Demographic Category 1 ‘Families with Children’ and Demographic Category 2 ‘Zip code 12345’.
- b. Percent of STB's tuned to Channel ‘FOX’ with Program Attribute 1 ‘News’ with Demographic Category 1 ‘Young Marrieds’ and Demographic Category 2 ‘Zip code 80234’ compared to Percent of STB's tuned to Channel ‘ABC’ with Program Attribute 1 ‘News’ with Demographic Category 1 ‘Young Marrieds’ and Demographic Category 2 ‘Zip code 80234’.
Subsequent Usage of the Metrics
-
- a) Call volume by day or day-part
- b) Call frequency by day or day-part
- c) Call duration by day or day-part
- d) Overlapping call duration by day or day-part
- e) Data transfer volumes by day or day-part
- f) Overlapping data transfer duration by day or day-part
- g) Internet protocol packet volume or Ethernet packet volume by day or day-part.
- h) Overlapping internet protocol packet volume or Ethernet packet volume by day or day-part.
-
- a) Ability to track peak usage times
- b) Ability to track what parts of the network are most used
- c) Ability to track capacity demands
- d) Ability to identify demographic characteristics of various users
- e) Ability to track the purpose for which subscribers use their devices (talk, browse web, etc.)
- f) Ability to combine demographics with usage purpose (teens play games, adults check email)
- g) Ability to track web page activity
Claims (45)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/608,929 USRE50079E1 (en) | 2010-12-29 | 2015-01-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/981,301 US8365212B1 (en) | 2010-12-29 | 2010-12-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
| US14/608,929 USRE50079E1 (en) | 2010-12-29 | 2015-01-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/981,301 Reissue US8365212B1 (en) | 2010-12-29 | 2010-12-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| USRE50079E1 true USRE50079E1 (en) | 2024-08-13 |
Family
ID=47562423
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/981,301 Ceased US8365212B1 (en) | 2010-12-29 | 2010-12-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
| US14/608,929 Active 2031-07-15 USRE50079E1 (en) | 2010-12-29 | 2015-01-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/981,301 Ceased US8365212B1 (en) | 2010-12-29 | 2010-12-29 | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US8365212B1 (en) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8843978B2 (en) * | 2004-06-29 | 2014-09-23 | Time Warner Cable Enterprises Llc | Method and apparatus for network bandwidth allocation |
| US7567565B2 (en) | 2005-02-01 | 2009-07-28 | Time Warner Cable Inc. | Method and apparatus for network bandwidth conservation |
| US8170065B2 (en) | 2006-02-27 | 2012-05-01 | Time Warner Cable Inc. | Methods and apparatus for selecting digital access technology for programming and data delivery |
| US8458753B2 (en) | 2006-02-27 | 2013-06-04 | Time Warner Cable Enterprises Llc | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
| US20080235746A1 (en) | 2007-03-20 | 2008-09-25 | Michael James Peters | Methods and apparatus for content delivery and replacement in a network |
| US9071859B2 (en) | 2007-09-26 | 2015-06-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for user-based targeted content delivery |
| US8561116B2 (en) | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
| US8099757B2 (en) | 2007-10-15 | 2012-01-17 | Time Warner Cable Inc. | Methods and apparatus for revenue-optimized delivery of content in a network |
| US8813143B2 (en) | 2008-02-26 | 2014-08-19 | Time Warner Enterprises LLC | Methods and apparatus for business-based network resource allocation |
| US9866609B2 (en) | 2009-06-08 | 2018-01-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
| US10089592B2 (en) | 2010-12-29 | 2018-10-02 | Comcast Cable Communications, Llc | Measuring video asset viewing |
| US8365212B1 (en) | 2010-12-29 | 2013-01-29 | Robert Alan Orlowski | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
| US12271855B2 (en) | 2010-12-29 | 2025-04-08 | Comcast Cable Communications, Llc | Measuring video-asset viewing |
| US10945011B2 (en) | 2010-12-29 | 2021-03-09 | Comcast Cable Communications, Llc | Measuring video viewing |
| US10645433B1 (en) | 2013-08-29 | 2020-05-05 | Comcast Cable Communications, Llc | Measuring video-content viewing |
| US11627356B2 (en) | 2012-01-28 | 2023-04-11 | Comcast Cable Communications, Llc | Data translation for video-viewing activity |
| US10440428B2 (en) | 2013-01-13 | 2019-10-08 | Comcast Cable Communications, Llc | Measuring video-program-viewing activity |
| US12200298B2 (en) | 2013-09-06 | 2025-01-14 | Comcast Cable Communications, Llc | Measuring video-program viewing |
| US9854280B2 (en) | 2012-07-10 | 2017-12-26 | Time Warner Cable Enterprises Llc | Apparatus and methods for selective enforcement of secondary content viewing |
| US9131283B2 (en) | 2012-12-14 | 2015-09-08 | Time Warner Cable Enterprises Llc | Apparatus and methods for multimedia coordination |
| US9235612B1 (en) * | 2013-04-03 | 2016-01-12 | Time Warner Cable Enterprises Llc | Management of event data |
| US9137558B2 (en) | 2013-11-26 | 2015-09-15 | At&T Intellectual Property I, Lp | Method and system for analysis of sensory information to estimate audience reaction |
| US10747950B2 (en) | 2014-01-30 | 2020-08-18 | Microsoft Technology Licensing, Llc | Automatic insights for spreadsheets |
| US9576030B1 (en) * | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
| US10242019B1 (en) | 2014-12-19 | 2019-03-26 | Experian Information Solutions, Inc. | User behavior segmentation using latent topic detection |
| WO2017119604A1 (en) * | 2016-01-08 | 2017-07-13 | 주식회사 아이플래테아 | Audience rating calculation server, audience rating calculation method, and audience rating calculation remote device |
| US10687115B2 (en) | 2016-06-01 | 2020-06-16 | Time Warner Cable Enterprises Llc | Cloud-based digital content recorder apparatus and methods |
| US20180060954A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Sensors and system for detection of device movement and authentication of device user based on messaging service data from service provider |
| US10911794B2 (en) | 2016-11-09 | 2021-02-02 | Charter Communications Operating, Llc | Apparatus and methods for selective secondary content insertion in a digital network |
| US11109290B2 (en) | 2017-08-04 | 2021-08-31 | Charter Communications Operating, Llc | Switching connections over frequency bands of a wireless network |
| US10939142B2 (en) | 2018-02-27 | 2021-03-02 | Charter Communications Operating, Llc | Apparatus and methods for content storage, distribution and security within a content distribution network |
Citations (151)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5374951A (en) * | 1990-06-01 | 1994-12-20 | Peach Media Research, Inc. | Method and system for monitoring television viewing |
| US5790935A (en) | 1996-01-30 | 1998-08-04 | Hughes Aircraft Company | Virtual on-demand digital information delivery system and method |
| US5872588A (en) * | 1995-12-06 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for monitoring audio-visual materials presented to a subscriber |
| US6286005B1 (en) * | 1998-03-11 | 2001-09-04 | Cannon Holdings, L.L.C. | Method and apparatus for analyzing data and advertising optimization |
| US20020055854A1 (en) | 2000-11-08 | 2002-05-09 | Nobukazu Kurauchi | Broadcast program transmission/reception system, method for transmitting/receiving broadcast program, program that exemplifies the method for transmitting/receiving broadcast program, recording medium that is is readable to a computer on which the program is recorded, pay broadcast program site, CM information management site, and viewer's terminal |
| US20020059576A1 (en) | 1998-12-08 | 2002-05-16 | Feininger William A. | Metering viewing of video displayed in windows |
| US20020062393A1 (en) | 2000-08-10 | 2002-05-23 | Dana Borger | Systems, methods and computer program products for integrating advertising within web content |
| US20020083451A1 (en) | 2000-12-21 | 2002-06-27 | Gill Komlika K. | User-friendly electronic program guide based on subscriber characterizations |
| US20020104083A1 (en) * | 1992-12-09 | 2002-08-01 | Hendricks John S. | Internally targeted advertisements using television delivery systems |
| US20020194196A1 (en) | 2000-12-12 | 2002-12-19 | Weinberg Paul N. | Method and apparatus for transforming data |
| US20030046696A1 (en) | 2001-09-05 | 2003-03-06 | Masataka Mizuno | Broadcast terminal equipment and information supply system |
| US20030088715A1 (en) | 2001-10-19 | 2003-05-08 | Microsoft Corporation | System for keyword based searching over relational databases |
| US20030115585A1 (en) * | 2001-07-11 | 2003-06-19 | International Business Machines Corporation | Enhanced electronic program guide |
| US20030145323A1 (en) * | 1992-12-09 | 2003-07-31 | Hendricks John S. | Targeted advertisement using television viewer information |
| US20030172374A1 (en) * | 2000-01-13 | 2003-09-11 | Erinmedia, Llc | Content reaction display |
| US20030174160A1 (en) | 2002-03-15 | 2003-09-18 | John Deutscher | Interactive presentation viewing system employing multi-media components |
| US20030237095A1 (en) | 2002-06-25 | 2003-12-25 | Koninklijke Philips Electronics N.V. | Trend analysis of chunked view history/profiles view voting |
| US20040019899A1 (en) | 2002-07-25 | 2004-01-29 | Koninklijke Philips Electronics N.V | Method of and system for signal detection |
| US20040215698A1 (en) | 2001-07-13 | 2004-10-28 | Christian Bertin | Method of delivering content to destination terminals and collection server |
| US6820277B1 (en) | 1999-04-20 | 2004-11-16 | Expanse Networks, Inc. | Advertising management system for digital video streams |
| US20040268226A1 (en) | 2003-06-26 | 2004-12-30 | International Business Machines Corporation, Armonk, New York | Facilitating the development of computer programs |
| US20050086110A1 (en) | 2003-10-15 | 2005-04-21 | Haley Kevin C. | Systems and methods for providing a reverse frequency cap in advertisement viewing |
| US20050229199A1 (en) * | 2004-04-07 | 2005-10-13 | Jun Yabe | Information processing apparatus and method, computer program thereof, and recording medium |
| US20050235307A1 (en) | 2004-04-16 | 2005-10-20 | Sandeep Relan | System and method for multimedia viewership surveying |
| US20050286860A1 (en) | 2002-11-27 | 2005-12-29 | Nielsen Media Research, Inc. | Apparatus and methods for tracking and analyzing digital recording device event sequences |
| US20060015891A1 (en) | 2004-07-13 | 2006-01-19 | Lazzaro Michael J | Television audience reporting system and method |
| US20060075420A1 (en) | 2004-09-30 | 2006-04-06 | Microsoft Corporation | Strategies for generating media consumption statistics |
| US20060075421A1 (en) | 2004-10-05 | 2006-04-06 | Taylor Nelson Sofres Plc. | Audience analysis |
| US20060168609A1 (en) | 2005-01-24 | 2006-07-27 | Comcast Interactive Capital, Lp | Method and system for protecting cable television subscriber-specific information allowing limited subset access |
| US20060184961A1 (en) | 2003-06-20 | 2006-08-17 | Nielsen Media Research, Inc. | Signature-based program identification apparatus and methods for use with digital broadcast systems |
| US20060198302A1 (en) * | 2005-03-03 | 2006-09-07 | Sofman Lev B | Traffic dimensioning in a metro area with IPTV architecture |
| US20060223495A1 (en) * | 2005-03-14 | 2006-10-05 | Cassett Tia M | Method and apparatus for monitoring usage patterns of a wireless device |
| US20070067794A1 (en) | 2005-09-02 | 2007-03-22 | Tekelec | Methods, systems, and computer program products for monitoring and analyzing signaling messages associated with delivery of streaming media content to subscribers via a broadcast and multicast service (BCMCS) |
| US20070074258A1 (en) * | 2005-09-20 | 2007-03-29 | Sbc Knowledge Ventures L.P. | Data collection and analysis for internet protocol television subscriber activity |
| US20070092204A1 (en) | 2005-10-24 | 2007-04-26 | Microsoft Corporation | Strategies for controlling presentation of media information based on a sampling of customer playback behavior |
| US20070124756A1 (en) * | 2005-11-29 | 2007-05-31 | Google Inc. | Detecting Repeating Content in Broadcast Media |
| US20070157249A1 (en) | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for episode tracking in an interactive media environment |
| US20070186228A1 (en) | 2004-02-18 | 2007-08-09 | Nielsen Media Research, Inc. | Methods and apparatus to determine audience viewing of video-on-demand programs |
| US20070214483A1 (en) | 2006-03-13 | 2007-09-13 | Comcast Cable Holdings, Llc | Tool for predicting capacity demands on an electronic system |
| US20070271300A1 (en) | 2004-11-22 | 2007-11-22 | Arun Ramaswamy | Methods and apparatus for media source identification and time shifted media consumption measurements |
| US20070283409A1 (en) | 2006-06-05 | 2007-12-06 | Robert Golden | Technique for effectively providing and presenting data concerning entertainment program viewing patterns of users through a communications network |
| US20070288950A1 (en) | 2006-06-12 | 2007-12-13 | David Downey | System and method for inserting media based on keyword search |
| US20080046912A1 (en) * | 2006-07-25 | 2008-02-21 | Sbc Knowledge Ventures, L.P. | Adaptive video-server reconfiguration for self-optimizing multi-tier IPTV networks |
| US20080077951A1 (en) * | 2006-09-01 | 2008-03-27 | Erinmedia, Llc | Television ratings based on consumer-owned data |
| US20080127252A1 (en) * | 2000-12-28 | 2008-05-29 | Prime Research Alliance E., Inc. | Grouping Advertisement Subavails |
| US7383243B2 (en) * | 2000-01-13 | 2008-06-03 | Erinmedia, Llc | Systems and methods for creating and evaluating content and predicting responses to content |
| EP1995878A2 (en) | 2007-05-21 | 2008-11-26 | Sap Ag | Block compression of tables with repeated values |
| US20080300965A1 (en) | 2007-05-31 | 2008-12-04 | Peter Campbell Doe | Methods and apparatus to model set-top box data |
| US20090007171A1 (en) | 2005-11-30 | 2009-01-01 | Qwest Communications International Inc. | Dynamic interactive advertisement insertion into content stream delivered through ip network |
| US7490045B1 (en) * | 2001-06-04 | 2009-02-10 | Palmsource, Inc. | Automatic collection and updating of application usage |
| US20090052864A1 (en) | 2007-08-23 | 2009-02-26 | Junya Ohde | Information processing apparatus, information processing method and program |
| US20090070798A1 (en) | 2007-03-02 | 2009-03-12 | Lee Hans C | System and Method for Detecting Viewer Attention to Media Delivery Devices |
| US20090077579A1 (en) | 2007-09-14 | 2009-03-19 | Att Knowledge Ventures L.P. | System and method for estimating an effectivity index for targeted advertising data in a communitcation system |
| US20090077577A1 (en) | 2007-09-14 | 2009-03-19 | General Instrument Corporation | Method and Apparatus for Determining Bandwidth Savings Achieved By Transforming Selected Broadcast Channels to Switched Digital Video Channels in a Content Delivery System Without Transformation of the Selected Channels |
| US7509663B2 (en) | 2005-02-14 | 2009-03-24 | Time Warner Cable, Inc. | Technique for identifying favorite program channels for receiving entertainment programming content over a communications network |
| US20090094630A1 (en) | 2007-10-09 | 2009-04-09 | Att Knowledge Ventures L.P. | system and method for evaluating audience reaction to a data stream |
| US20090133047A1 (en) | 2007-10-31 | 2009-05-21 | Lee Hans C | Systems and Methods Providing Distributed Collection and Centralized Processing of Physiological Responses from Viewers |
| US20090150814A1 (en) * | 2007-12-06 | 2009-06-11 | Sony Corporation | Dynamic update of a user interface based on collected user interactions |
| US20090150224A1 (en) | 2007-12-10 | 2009-06-11 | Lu Jeff T | Television Traffic Estimation |
| US20090172725A1 (en) | 2007-12-28 | 2009-07-02 | Maarten Boudewijn Heilbron | Method, apparatus and computer-readable medium for promoting television programs |
| US20090183210A1 (en) | 2008-01-16 | 2009-07-16 | Apple Inc. | Filtering and tailoring multimedia content based on observed user behavior |
| US20090193460A1 (en) | 2008-01-30 | 2009-07-30 | Microsoft Corporation | Program promotion feedback |
| US7590993B1 (en) * | 1992-12-09 | 2009-09-15 | Comcast Ip Holdings I, Llc | Method and apparatus for gathering programs watched data |
| US20090268905A1 (en) | 2006-05-18 | 2009-10-29 | Hideki Matsushima | Electronic device, content reproduction control method, program, storage medium, and integrated circuit |
| US7614064B2 (en) | 2004-08-23 | 2009-11-03 | Microsoft Corporation | Determining program boundaries through viewing behavior |
| US20090313232A1 (en) * | 2008-03-26 | 2009-12-17 | Thomas Austin Tinsley | Methods and Apparatus to Calculate Audience Estimations |
| US20090327208A1 (en) | 2008-06-30 | 2009-12-31 | International Business Machines Corporation | Discovering transformations applied to a source table to generate a target table |
| US20100043021A1 (en) | 2008-08-12 | 2010-02-18 | Clear Channel Management Services, Inc. | Determining audience response to broadcast content |
| US20100088716A1 (en) | 2008-10-02 | 2010-04-08 | Softhills Corporation | Content slots for digital media |
| US7729940B2 (en) * | 2008-04-14 | 2010-06-01 | Tra, Inc. | Analyzing return on investment of advertising campaigns by matching multiple data sources |
| US20100161492A1 (en) * | 2008-04-14 | 2010-06-24 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
| US20100211439A1 (en) | 2006-09-05 | 2010-08-19 | Innerscope Research, Llc | Method and System for Predicting Audience Viewing Behavior |
| US20100235852A1 (en) | 2007-12-04 | 2010-09-16 | Shenzhen Tcl New Technology Ltd. | System and method for identifying content of interest to a user |
| US20100251302A1 (en) * | 2009-03-26 | 2010-09-30 | Avermedia Technologies, Inc. | Tv channel menu and method of showing the same |
| US20100262986A1 (en) | 2009-04-08 | 2010-10-14 | Verizon Patent And Licensing Inc. | Viewing history |
| US20110072448A1 (en) | 2009-09-21 | 2011-03-24 | Mobitv, Inc. | Implicit mechanism for determining user response to media |
| US7930391B1 (en) * | 2007-05-03 | 2011-04-19 | Visible Measures Corp. | Method and system for determining viewing time of an online video |
| US20110110515A1 (en) | 2009-11-11 | 2011-05-12 | Justin Tidwell | Methods and apparatus for audience data collection and analysis in a content delivery network |
| US20110126241A1 (en) | 2009-11-23 | 2011-05-26 | At&T Intellectual Property I, L.P. | System and Method for Layered Delivery of Media Content Quality |
| US20110145847A1 (en) | 2009-09-11 | 2011-06-16 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
| US8001561B2 (en) * | 2007-11-20 | 2011-08-16 | Samsung Electronics Co., Ltd. | System and method for automatically rating video content |
| CN102236867A (en) | 2011-08-15 | 2011-11-09 | 悠易互通(北京)广告有限公司 | Cloud computing-based audience behavioral analysis advertisement targeting system |
| US20110289524A1 (en) * | 2010-05-20 | 2011-11-24 | CSC Holdings, LLC | System and Method for Set Top Viewing Data |
| US20110307913A1 (en) | 2010-06-09 | 2011-12-15 | At&T Intellectual Property I, L.P. | Modeling User Activity Information Associated with a Network System |
| US20110321077A1 (en) | 2010-06-24 | 2011-12-29 | General Instrument Corporation | Viewing impression report collection, storage, and reportback of inserted content with dvr playback |
| US20120005527A1 (en) | 2010-07-01 | 2012-01-05 | Engel Craig | Apparatus and methods for data collection and validation |
| US20120079518A1 (en) | 2010-09-23 | 2012-03-29 | Chieh-Yih Wan | Validation of TV viewership utlizing methods, systems and computer control logic |
| US20120151511A1 (en) | 2010-12-09 | 2012-06-14 | Samsung Electronics Co., Ltd. | Multimedia system and method of recommending multimedia content |
| US8214867B2 (en) * | 2001-09-13 | 2012-07-03 | Intel Corporation | Delivery of feedback information to scheduling service to determine optimum broadcast times based upon client platform tuner contention |
| US20120191815A1 (en) | 2009-12-22 | 2012-07-26 | Resonate Networks | Method and apparatus for delivering targeted content |
| US20120222058A1 (en) | 2011-02-27 | 2012-08-30 | El Kaliouby Rana | Video recommendation based on affect |
| US20120240143A1 (en) | 2011-03-17 | 2012-09-20 | Mathews Sunil | Method and system for verifiable two-way communication and interaction with audiences using multiple media formats |
| US8280996B2 (en) | 2009-01-29 | 2012-10-02 | The Nielsen Company (Us), Llc | Methods and apparatus to collect broadband market data |
| US20120260278A1 (en) | 2011-04-11 | 2012-10-11 | Google Inc. | Estimating Demographic Compositions Of Television Audiences |
| US20120278828A1 (en) | 2011-04-28 | 2012-11-01 | Amir Yazdani | Method and system for program presentation analysis |
| US20120278161A1 (en) | 2011-04-28 | 2012-11-01 | Lazzaro William P | Co-Mingling System for Delivery of Advertising and Corresponding Methods |
| US20120296909A1 (en) | 2010-02-04 | 2012-11-22 | Nokia Corporation | Method and Apparatus for Characterizing User Behavior Patterns from User Interaction History |
| WO2012162693A1 (en) | 2011-05-26 | 2012-11-29 | WebTuner, Corporation | Highly scalable audience measurement system with client event pre-processing |
| US20120304211A1 (en) | 2000-03-31 | 2012-11-29 | United Video Properties, Inc. | Systems and methods for improved audience measuring |
| US20130007789A1 (en) | 2011-06-29 | 2013-01-03 | Verizon Patent And Licensing Inc. | Set-top box channel tuning time measurement |
| US8352984B2 (en) | 1998-06-12 | 2013-01-08 | Thomson Licensing | System and method for generating and managing user preference information for scheduled and stored television programs |
| US8351645B2 (en) | 2003-06-13 | 2013-01-08 | The Nielsen Company (Us), Llc | Methods and apparatus for embedding watermarks |
| US20130024901A1 (en) | 2009-09-26 | 2013-01-24 | Disternet Technology, Inc. | Method and system for processing multi-media content |
| US8365213B1 (en) | 2011-03-18 | 2013-01-29 | Robert Orlowski | System and method for measuring television advertising and program viewing at a second-by-second level and for measuring effectiveness of targeted advertising |
| US8365212B1 (en) | 2010-12-29 | 2013-01-29 | Robert Alan Orlowski | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
| WO2013033123A2 (en) | 2011-08-31 | 2013-03-07 | Google Inc. | Method and system for collecting and managing tv viewership data |
| US20130124309A1 (en) | 2011-11-15 | 2013-05-16 | Tapad, Inc. | Managing associations between device identifiers |
| US8453173B1 (en) | 2010-12-13 | 2013-05-28 | Google Inc. | Estimating demographic compositions of television audiences from audience similarities |
| US20130145385A1 (en) | 2011-12-02 | 2013-06-06 | Microsoft Corporation | Context-based ratings and recommendations for media |
| US20130198125A1 (en) | 2012-01-26 | 2013-08-01 | James R. Oliver | Systems, methods, and articles of manufacture to measure online audiences |
| US20130247081A1 (en) | 2012-03-19 | 2013-09-19 | Rentrak Corporation | System and method for measuring television audience engagement |
| US8548991B1 (en) | 2006-09-29 | 2013-10-01 | Google Inc. | Personalized browsing activity displays |
| US20130346154A1 (en) | 2012-06-22 | 2013-12-26 | Josephine Holz | Systems and methods for audience measurement analysis |
| US20140075465A1 (en) | 2012-09-13 | 2014-03-13 | Verance Corporation | Time varying evaluation of multimedia content |
| US8694396B1 (en) | 2007-12-26 | 2014-04-08 | Rovi Guides, Inc. | Systems and methods for episodic advertisement tracking |
| US20140109124A1 (en) | 2012-10-15 | 2014-04-17 | Simulmedia, Inc. | Methods and systems for forecasting and measurement of media viewership using a combination of data sets |
| US20140123173A1 (en) * | 2012-10-26 | 2014-05-01 | Hulu Llc | Pacing ad service with adjustable granularity |
| US8739197B1 (en) | 2012-11-06 | 2014-05-27 | Comscore, Inc. | Demographic attribution of household viewing events |
| US20140150005A1 (en) | 2012-11-23 | 2014-05-29 | Mobitv, Inc. | Content recommendation pre-filtering |
| US8745647B1 (en) | 2006-12-26 | 2014-06-03 | Visible Measures Corp. | Method and system for internet video and rich media behavioral measurement |
| US20140181019A1 (en) | 2012-12-20 | 2014-06-26 | Hulu, LLC | Automatic Updating of Aggregations for Aggregating Data |
| US8924993B1 (en) | 2010-11-11 | 2014-12-30 | Google Inc. | Video content analysis for automatic demographics recognition of users and videos |
| US8949873B1 (en) * | 2011-07-31 | 2015-02-03 | Google Inc. | Systems and methods for sharing media content viewing history |
| US8959540B1 (en) | 2009-05-27 | 2015-02-17 | Google Inc. | Predicting engagement in video content |
| US20150113153A1 (en) | 2013-10-22 | 2015-04-23 | Amtran Technology Co. Ltd. | Method for skipping title sequence of multimedia file and electronic device thereof |
| US20150128162A1 (en) * | 2013-11-01 | 2015-05-07 | Adobe Systems Incorporated | Real-time tracking collection for video experiences |
| US9277275B1 (en) | 2011-05-03 | 2016-03-01 | Google Inc. | System and method for associating individual household members with television programs viewed |
| US20160261655A1 (en) | 2015-03-03 | 2016-09-08 | Adobe Systems Incorporated | Techniques for correlating engagement of attendees of an online conference to content of the online conference |
| US20160314404A1 (en) | 2015-04-23 | 2016-10-27 | Rovi Guides, Inc. | Systems and methods for improving accuracy in media asset recommendations based on data from multiple data spaces |
| US20170289226A1 (en) | 2016-03-30 | 2017-10-05 | Accenture Global Solutions Limited | Video analytics device |
| US9794360B1 (en) | 2015-09-11 | 2017-10-17 | Amazon Technologies, Inc. | Estimating unique viewers of media content without cookies |
| US9854292B1 (en) | 2017-01-05 | 2017-12-26 | Rovi Guides, Inc. | Systems and methods for determining audience engagement based on user motion |
| US20180007431A1 (en) | 2016-01-06 | 2018-01-04 | Tvision Insights, Inc. | Systems and Methods for Assessing Viewer Engagement |
| US9883233B1 (en) | 2008-10-23 | 2018-01-30 | Tivo Solutions Inc. | Real-time audience measurement system |
| US10070177B1 (en) | 2018-03-28 | 2018-09-04 | Alphonso Inc. | Automated methods for determining a user's likely exposure to media content being output by a media device based on user interactions with a mobile device that monitors media content outputted by the media device |
| US20190378164A1 (en) | 2018-06-10 | 2019-12-12 | Brave Software, Inc. | Attention Metrics for Attention Applications |
| US20190379938A1 (en) | 2018-06-07 | 2019-12-12 | Realeyes Oü | Computer-implemented system and method for determining attentiveness of user |
| US10779042B1 (en) | 2019-01-07 | 2020-09-15 | Alphonso Inc. | Automatically generated personalized media channel |
| US20200296456A1 (en) | 2019-03-14 | 2020-09-17 | Longtail Ad Solutions, Inc. | Systems and methods for evaluating the engagement factor of videos |
| US20210058670A1 (en) | 2016-01-18 | 2021-02-25 | Sagemcom Broadband Sas | Method for broadcast of multimedia content measuring the attention of a user |
| US20210158391A1 (en) | 2019-11-27 | 2021-05-27 | The Nielsen Company (Us), Llc | Methods, systems and apparatus to estimate census-level audience size and total impression durations across demographics |
| US20210240681A1 (en) | 2020-02-05 | 2021-08-05 | Comscore, Inc. | Systems and methods for deduplicating viewership data |
| US11240539B1 (en) | 2020-06-01 | 2022-02-01 | Amazon Technologies, Inc. | Reporting of engaged views of directed content |
| US11265602B2 (en) | 2018-04-12 | 2022-03-01 | Rovi Guides, Inc. | Systems and methods for evaluating a promotional campaign |
| US20220084052A1 (en) | 2020-09-11 | 2022-03-17 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate population reach from marginals |
| US20220150581A1 (en) | 2016-01-06 | 2022-05-12 | Tvision Insights, Inc. | Systems and methods for assessing viewer engagement |
| US20220159326A1 (en) | 2020-11-16 | 2022-05-19 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate population reach from marginal ratings with missing information |
| US20220182722A1 (en) | 2020-12-07 | 2022-06-09 | Caspian Hill Group, LLC | System and method for automatic detection of periods of heightened audience interest in broadcast electronic media |
| US20220256219A1 (en) | 2020-12-02 | 2022-08-11 | Discovery Communications, Llc | Systems and methods for predicting television viewership patterns for advanced consumer segments |
| US20220303618A1 (en) | 2021-03-17 | 2022-09-22 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for processing viewership information |
| US20220383350A1 (en) | 2019-11-12 | 2022-12-01 | Bwh Technologies Private Limited | Tracking user engagement and user impressions |
-
2010
- 2010-12-29 US US12/981,301 patent/US8365212B1/en not_active Ceased
-
2015
- 2015-01-29 US US14/608,929 patent/USRE50079E1/en active Active
Patent Citations (156)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5374951A (en) * | 1990-06-01 | 1994-12-20 | Peach Media Research, Inc. | Method and system for monitoring television viewing |
| US20020104083A1 (en) * | 1992-12-09 | 2002-08-01 | Hendricks John S. | Internally targeted advertisements using television delivery systems |
| US7590993B1 (en) * | 1992-12-09 | 2009-09-15 | Comcast Ip Holdings I, Llc | Method and apparatus for gathering programs watched data |
| US20030145323A1 (en) * | 1992-12-09 | 2003-07-31 | Hendricks John S. | Targeted advertisement using television viewer information |
| US5872588A (en) * | 1995-12-06 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for monitoring audio-visual materials presented to a subscriber |
| US5790935A (en) | 1996-01-30 | 1998-08-04 | Hughes Aircraft Company | Virtual on-demand digital information delivery system and method |
| US6286005B1 (en) * | 1998-03-11 | 2001-09-04 | Cannon Holdings, L.L.C. | Method and apparatus for analyzing data and advertising optimization |
| US8352984B2 (en) | 1998-06-12 | 2013-01-08 | Thomson Licensing | System and method for generating and managing user preference information for scheduled and stored television programs |
| US20020059576A1 (en) | 1998-12-08 | 2002-05-16 | Feininger William A. | Metering viewing of video displayed in windows |
| US6820277B1 (en) | 1999-04-20 | 2004-11-16 | Expanse Networks, Inc. | Advertising management system for digital video streams |
| US20030172374A1 (en) * | 2000-01-13 | 2003-09-11 | Erinmedia, Llc | Content reaction display |
| US7383243B2 (en) * | 2000-01-13 | 2008-06-03 | Erinmedia, Llc | Systems and methods for creating and evaluating content and predicting responses to content |
| US20120304211A1 (en) | 2000-03-31 | 2012-11-29 | United Video Properties, Inc. | Systems and methods for improved audience measuring |
| US20020062393A1 (en) | 2000-08-10 | 2002-05-23 | Dana Borger | Systems, methods and computer program products for integrating advertising within web content |
| US20020055854A1 (en) | 2000-11-08 | 2002-05-09 | Nobukazu Kurauchi | Broadcast program transmission/reception system, method for transmitting/receiving broadcast program, program that exemplifies the method for transmitting/receiving broadcast program, recording medium that is is readable to a computer on which the program is recorded, pay broadcast program site, CM information management site, and viewer's terminal |
| US20020194196A1 (en) | 2000-12-12 | 2002-12-19 | Weinberg Paul N. | Method and apparatus for transforming data |
| US20020083451A1 (en) | 2000-12-21 | 2002-06-27 | Gill Komlika K. | User-friendly electronic program guide based on subscriber characterizations |
| US20080127252A1 (en) * | 2000-12-28 | 2008-05-29 | Prime Research Alliance E., Inc. | Grouping Advertisement Subavails |
| US7490045B1 (en) * | 2001-06-04 | 2009-02-10 | Palmsource, Inc. | Automatic collection and updating of application usage |
| US20030115585A1 (en) * | 2001-07-11 | 2003-06-19 | International Business Machines Corporation | Enhanced electronic program guide |
| US20040215698A1 (en) | 2001-07-13 | 2004-10-28 | Christian Bertin | Method of delivering content to destination terminals and collection server |
| US20030046696A1 (en) | 2001-09-05 | 2003-03-06 | Masataka Mizuno | Broadcast terminal equipment and information supply system |
| US8214867B2 (en) * | 2001-09-13 | 2012-07-03 | Intel Corporation | Delivery of feedback information to scheduling service to determine optimum broadcast times based upon client platform tuner contention |
| US20030088715A1 (en) | 2001-10-19 | 2003-05-08 | Microsoft Corporation | System for keyword based searching over relational databases |
| US20030174160A1 (en) | 2002-03-15 | 2003-09-18 | John Deutscher | Interactive presentation viewing system employing multi-media components |
| US20030237095A1 (en) | 2002-06-25 | 2003-12-25 | Koninklijke Philips Electronics N.V. | Trend analysis of chunked view history/profiles view voting |
| US20040019899A1 (en) | 2002-07-25 | 2004-01-29 | Koninklijke Philips Electronics N.V | Method of and system for signal detection |
| US20050286860A1 (en) | 2002-11-27 | 2005-12-29 | Nielsen Media Research, Inc. | Apparatus and methods for tracking and analyzing digital recording device event sequences |
| US8351645B2 (en) | 2003-06-13 | 2013-01-08 | The Nielsen Company (Us), Llc | Methods and apparatus for embedding watermarks |
| US20060184961A1 (en) | 2003-06-20 | 2006-08-17 | Nielsen Media Research, Inc. | Signature-based program identification apparatus and methods for use with digital broadcast systems |
| US20040268226A1 (en) | 2003-06-26 | 2004-12-30 | International Business Machines Corporation, Armonk, New York | Facilitating the development of computer programs |
| US20050086110A1 (en) | 2003-10-15 | 2005-04-21 | Haley Kevin C. | Systems and methods for providing a reverse frequency cap in advertisement viewing |
| US20070186228A1 (en) | 2004-02-18 | 2007-08-09 | Nielsen Media Research, Inc. | Methods and apparatus to determine audience viewing of video-on-demand programs |
| US20050229199A1 (en) * | 2004-04-07 | 2005-10-13 | Jun Yabe | Information processing apparatus and method, computer program thereof, and recording medium |
| US20050235307A1 (en) | 2004-04-16 | 2005-10-20 | Sandeep Relan | System and method for multimedia viewership surveying |
| US20060015891A1 (en) | 2004-07-13 | 2006-01-19 | Lazzaro Michael J | Television audience reporting system and method |
| US7614064B2 (en) | 2004-08-23 | 2009-11-03 | Microsoft Corporation | Determining program boundaries through viewing behavior |
| US20060075420A1 (en) | 2004-09-30 | 2006-04-06 | Microsoft Corporation | Strategies for generating media consumption statistics |
| US20060075421A1 (en) | 2004-10-05 | 2006-04-06 | Taylor Nelson Sofres Plc. | Audience analysis |
| US20070271300A1 (en) | 2004-11-22 | 2007-11-22 | Arun Ramaswamy | Methods and apparatus for media source identification and time shifted media consumption measurements |
| US20060168609A1 (en) | 2005-01-24 | 2006-07-27 | Comcast Interactive Capital, Lp | Method and system for protecting cable television subscriber-specific information allowing limited subset access |
| US7509663B2 (en) | 2005-02-14 | 2009-03-24 | Time Warner Cable, Inc. | Technique for identifying favorite program channels for receiving entertainment programming content over a communications network |
| US20060198302A1 (en) * | 2005-03-03 | 2006-09-07 | Sofman Lev B | Traffic dimensioning in a metro area with IPTV architecture |
| US20100330954A1 (en) * | 2005-03-14 | 2010-12-30 | Qualcomm Incorporated | Method and apparatus for monitoring usage patterns of a wireless device |
| US20060223495A1 (en) * | 2005-03-14 | 2006-10-05 | Cassett Tia M | Method and apparatus for monitoring usage patterns of a wireless device |
| US20070067794A1 (en) | 2005-09-02 | 2007-03-22 | Tekelec | Methods, systems, and computer program products for monitoring and analyzing signaling messages associated with delivery of streaming media content to subscribers via a broadcast and multicast service (BCMCS) |
| US20070074258A1 (en) * | 2005-09-20 | 2007-03-29 | Sbc Knowledge Ventures L.P. | Data collection and analysis for internet protocol television subscriber activity |
| US20070092204A1 (en) | 2005-10-24 | 2007-04-26 | Microsoft Corporation | Strategies for controlling presentation of media information based on a sampling of customer playback behavior |
| US20070124756A1 (en) * | 2005-11-29 | 2007-05-31 | Google Inc. | Detecting Repeating Content in Broadcast Media |
| US20090007171A1 (en) | 2005-11-30 | 2009-01-01 | Qwest Communications International Inc. | Dynamic interactive advertisement insertion into content stream delivered through ip network |
| US20070157249A1 (en) | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for episode tracking in an interactive media environment |
| US20070214483A1 (en) | 2006-03-13 | 2007-09-13 | Comcast Cable Holdings, Llc | Tool for predicting capacity demands on an electronic system |
| US20090268905A1 (en) | 2006-05-18 | 2009-10-29 | Hideki Matsushima | Electronic device, content reproduction control method, program, storage medium, and integrated circuit |
| US20070283409A1 (en) | 2006-06-05 | 2007-12-06 | Robert Golden | Technique for effectively providing and presenting data concerning entertainment program viewing patterns of users through a communications network |
| US20070288950A1 (en) | 2006-06-12 | 2007-12-13 | David Downey | System and method for inserting media based on keyword search |
| US20080046912A1 (en) * | 2006-07-25 | 2008-02-21 | Sbc Knowledge Ventures, L.P. | Adaptive video-server reconfiguration for self-optimizing multi-tier IPTV networks |
| US20080077951A1 (en) * | 2006-09-01 | 2008-03-27 | Erinmedia, Llc | Television ratings based on consumer-owned data |
| US20100211439A1 (en) | 2006-09-05 | 2010-08-19 | Innerscope Research, Llc | Method and System for Predicting Audience Viewing Behavior |
| US8548991B1 (en) | 2006-09-29 | 2013-10-01 | Google Inc. | Personalized browsing activity displays |
| US8745647B1 (en) | 2006-12-26 | 2014-06-03 | Visible Measures Corp. | Method and system for internet video and rich media behavioral measurement |
| US20090070798A1 (en) | 2007-03-02 | 2009-03-12 | Lee Hans C | System and Method for Detecting Viewer Attention to Media Delivery Devices |
| US7930391B1 (en) * | 2007-05-03 | 2011-04-19 | Visible Measures Corp. | Method and system for determining viewing time of an online video |
| EP1995878A2 (en) | 2007-05-21 | 2008-11-26 | Sap Ag | Block compression of tables with repeated values |
| US20080300965A1 (en) | 2007-05-31 | 2008-12-04 | Peter Campbell Doe | Methods and apparatus to model set-top box data |
| US20090052864A1 (en) | 2007-08-23 | 2009-02-26 | Junya Ohde | Information processing apparatus, information processing method and program |
| US20090077577A1 (en) | 2007-09-14 | 2009-03-19 | General Instrument Corporation | Method and Apparatus for Determining Bandwidth Savings Achieved By Transforming Selected Broadcast Channels to Switched Digital Video Channels in a Content Delivery System Without Transformation of the Selected Channels |
| US20090077579A1 (en) | 2007-09-14 | 2009-03-19 | Att Knowledge Ventures L.P. | System and method for estimating an effectivity index for targeted advertising data in a communitcation system |
| US20090094630A1 (en) | 2007-10-09 | 2009-04-09 | Att Knowledge Ventures L.P. | system and method for evaluating audience reaction to a data stream |
| US20090133047A1 (en) | 2007-10-31 | 2009-05-21 | Lee Hans C | Systems and Methods Providing Distributed Collection and Centralized Processing of Physiological Responses from Viewers |
| US8001561B2 (en) * | 2007-11-20 | 2011-08-16 | Samsung Electronics Co., Ltd. | System and method for automatically rating video content |
| US20100235852A1 (en) | 2007-12-04 | 2010-09-16 | Shenzhen Tcl New Technology Ltd. | System and method for identifying content of interest to a user |
| US20090150814A1 (en) * | 2007-12-06 | 2009-06-11 | Sony Corporation | Dynamic update of a user interface based on collected user interactions |
| US20090150224A1 (en) | 2007-12-10 | 2009-06-11 | Lu Jeff T | Television Traffic Estimation |
| US8694396B1 (en) | 2007-12-26 | 2014-04-08 | Rovi Guides, Inc. | Systems and methods for episodic advertisement tracking |
| US20090172725A1 (en) | 2007-12-28 | 2009-07-02 | Maarten Boudewijn Heilbron | Method, apparatus and computer-readable medium for promoting television programs |
| US20090183210A1 (en) | 2008-01-16 | 2009-07-16 | Apple Inc. | Filtering and tailoring multimedia content based on observed user behavior |
| US20090193460A1 (en) | 2008-01-30 | 2009-07-30 | Microsoft Corporation | Program promotion feedback |
| US20090313232A1 (en) * | 2008-03-26 | 2009-12-17 | Thomas Austin Tinsley | Methods and Apparatus to Calculate Audience Estimations |
| US20100145791A1 (en) | 2008-04-14 | 2010-06-10 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
| US20100161492A1 (en) * | 2008-04-14 | 2010-06-24 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
| US7729940B2 (en) * | 2008-04-14 | 2010-06-01 | Tra, Inc. | Analyzing return on investment of advertising campaigns by matching multiple data sources |
| US20090327208A1 (en) | 2008-06-30 | 2009-12-31 | International Business Machines Corporation | Discovering transformations applied to a source table to generate a target table |
| US20100043021A1 (en) | 2008-08-12 | 2010-02-18 | Clear Channel Management Services, Inc. | Determining audience response to broadcast content |
| US20100088716A1 (en) | 2008-10-02 | 2010-04-08 | Softhills Corporation | Content slots for digital media |
| US9883233B1 (en) | 2008-10-23 | 2018-01-30 | Tivo Solutions Inc. | Real-time audience measurement system |
| US8280996B2 (en) | 2009-01-29 | 2012-10-02 | The Nielsen Company (Us), Llc | Methods and apparatus to collect broadband market data |
| US20100251302A1 (en) * | 2009-03-26 | 2010-09-30 | Avermedia Technologies, Inc. | Tv channel menu and method of showing the same |
| US20100262986A1 (en) | 2009-04-08 | 2010-10-14 | Verizon Patent And Licensing Inc. | Viewing history |
| US8959540B1 (en) | 2009-05-27 | 2015-02-17 | Google Inc. | Predicting engagement in video content |
| US20110145847A1 (en) | 2009-09-11 | 2011-06-16 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
| US20110072448A1 (en) | 2009-09-21 | 2011-03-24 | Mobitv, Inc. | Implicit mechanism for determining user response to media |
| US20130024901A1 (en) | 2009-09-26 | 2013-01-24 | Disternet Technology, Inc. | Method and system for processing multi-media content |
| US20110110515A1 (en) | 2009-11-11 | 2011-05-12 | Justin Tidwell | Methods and apparatus for audience data collection and analysis in a content delivery network |
| US20140359649A1 (en) * | 2009-11-11 | 2014-12-04 | Time Warner Cable Enterprises Llc | Methods and apparatus for audience data collection and analysis in a content delivery network |
| US20110126241A1 (en) | 2009-11-23 | 2011-05-26 | At&T Intellectual Property I, L.P. | System and Method for Layered Delivery of Media Content Quality |
| US20120191815A1 (en) | 2009-12-22 | 2012-07-26 | Resonate Networks | Method and apparatus for delivering targeted content |
| US20120296909A1 (en) | 2010-02-04 | 2012-11-22 | Nokia Corporation | Method and Apparatus for Characterizing User Behavior Patterns from User Interaction History |
| US20110289524A1 (en) * | 2010-05-20 | 2011-11-24 | CSC Holdings, LLC | System and Method for Set Top Viewing Data |
| US20110307913A1 (en) | 2010-06-09 | 2011-12-15 | At&T Intellectual Property I, L.P. | Modeling User Activity Information Associated with a Network System |
| US20110321077A1 (en) | 2010-06-24 | 2011-12-29 | General Instrument Corporation | Viewing impression report collection, storage, and reportback of inserted content with dvr playback |
| US20120005527A1 (en) | 2010-07-01 | 2012-01-05 | Engel Craig | Apparatus and methods for data collection and validation |
| US20120079518A1 (en) | 2010-09-23 | 2012-03-29 | Chieh-Yih Wan | Validation of TV viewership utlizing methods, systems and computer control logic |
| US20130283304A1 (en) | 2010-09-23 | 2013-10-24 | Chieh-Yih Wan | Validation of TV Viewership Utilizing Methods, Systems and Computer Control Logic |
| US8924993B1 (en) | 2010-11-11 | 2014-12-30 | Google Inc. | Video content analysis for automatic demographics recognition of users and videos |
| US20120151511A1 (en) | 2010-12-09 | 2012-06-14 | Samsung Electronics Co., Ltd. | Multimedia system and method of recommending multimedia content |
| US8453173B1 (en) | 2010-12-13 | 2013-05-28 | Google Inc. | Estimating demographic compositions of television audiences from audience similarities |
| US8365212B1 (en) | 2010-12-29 | 2013-01-29 | Robert Alan Orlowski | System and method for analyzing human interaction with electronic devices that access a computer system through a network |
| US20120222058A1 (en) | 2011-02-27 | 2012-08-30 | El Kaliouby Rana | Video recommendation based on affect |
| US20120240143A1 (en) | 2011-03-17 | 2012-09-20 | Mathews Sunil | Method and system for verifiable two-way communication and interaction with audiences using multiple media formats |
| US8365213B1 (en) | 2011-03-18 | 2013-01-29 | Robert Orlowski | System and method for measuring television advertising and program viewing at a second-by-second level and for measuring effectiveness of targeted advertising |
| US20120260278A1 (en) | 2011-04-11 | 2012-10-11 | Google Inc. | Estimating Demographic Compositions Of Television Audiences |
| US20120278161A1 (en) | 2011-04-28 | 2012-11-01 | Lazzaro William P | Co-Mingling System for Delivery of Advertising and Corresponding Methods |
| US20120278828A1 (en) | 2011-04-28 | 2012-11-01 | Amir Yazdani | Method and system for program presentation analysis |
| US9277275B1 (en) | 2011-05-03 | 2016-03-01 | Google Inc. | System and method for associating individual household members with television programs viewed |
| US20120304210A1 (en) | 2011-05-26 | 2012-11-29 | WebTuner, Corporation | Highly scalable audience measurement system with client event pre-processing |
| WO2012162693A1 (en) | 2011-05-26 | 2012-11-29 | WebTuner, Corporation | Highly scalable audience measurement system with client event pre-processing |
| US20130007789A1 (en) | 2011-06-29 | 2013-01-03 | Verizon Patent And Licensing Inc. | Set-top box channel tuning time measurement |
| US8949873B1 (en) * | 2011-07-31 | 2015-02-03 | Google Inc. | Systems and methods for sharing media content viewing history |
| CN102236867A (en) | 2011-08-15 | 2011-11-09 | 悠易互通(北京)广告有限公司 | Cloud computing-based audience behavioral analysis advertisement targeting system |
| WO2013033123A2 (en) | 2011-08-31 | 2013-03-07 | Google Inc. | Method and system for collecting and managing tv viewership data |
| US20130124309A1 (en) | 2011-11-15 | 2013-05-16 | Tapad, Inc. | Managing associations between device identifiers |
| US20130145385A1 (en) | 2011-12-02 | 2013-06-06 | Microsoft Corporation | Context-based ratings and recommendations for media |
| US20130198125A1 (en) | 2012-01-26 | 2013-08-01 | James R. Oliver | Systems, methods, and articles of manufacture to measure online audiences |
| US20130247081A1 (en) | 2012-03-19 | 2013-09-19 | Rentrak Corporation | System and method for measuring television audience engagement |
| US20130346154A1 (en) | 2012-06-22 | 2013-12-26 | Josephine Holz | Systems and methods for audience measurement analysis |
| US20140075465A1 (en) | 2012-09-13 | 2014-03-13 | Verance Corporation | Time varying evaluation of multimedia content |
| US20140109124A1 (en) | 2012-10-15 | 2014-04-17 | Simulmedia, Inc. | Methods and systems for forecasting and measurement of media viewership using a combination of data sets |
| US20140123173A1 (en) * | 2012-10-26 | 2014-05-01 | Hulu Llc | Pacing ad service with adjustable granularity |
| US8739197B1 (en) | 2012-11-06 | 2014-05-27 | Comscore, Inc. | Demographic attribution of household viewing events |
| US20140150005A1 (en) | 2012-11-23 | 2014-05-29 | Mobitv, Inc. | Content recommendation pre-filtering |
| US20140181019A1 (en) | 2012-12-20 | 2014-06-26 | Hulu, LLC | Automatic Updating of Aggregations for Aggregating Data |
| US20150113153A1 (en) | 2013-10-22 | 2015-04-23 | Amtran Technology Co. Ltd. | Method for skipping title sequence of multimedia file and electronic device thereof |
| US20150128162A1 (en) * | 2013-11-01 | 2015-05-07 | Adobe Systems Incorporated | Real-time tracking collection for video experiences |
| US20160261655A1 (en) | 2015-03-03 | 2016-09-08 | Adobe Systems Incorporated | Techniques for correlating engagement of attendees of an online conference to content of the online conference |
| US20160314404A1 (en) | 2015-04-23 | 2016-10-27 | Rovi Guides, Inc. | Systems and methods for improving accuracy in media asset recommendations based on data from multiple data spaces |
| US9794360B1 (en) | 2015-09-11 | 2017-10-17 | Amazon Technologies, Inc. | Estimating unique viewers of media content without cookies |
| US20180007431A1 (en) | 2016-01-06 | 2018-01-04 | Tvision Insights, Inc. | Systems and Methods for Assessing Viewer Engagement |
| US20220150581A1 (en) | 2016-01-06 | 2022-05-12 | Tvision Insights, Inc. | Systems and methods for assessing viewer engagement |
| US20210058670A1 (en) | 2016-01-18 | 2021-02-25 | Sagemcom Broadband Sas | Method for broadcast of multimedia content measuring the attention of a user |
| US20170289226A1 (en) | 2016-03-30 | 2017-10-05 | Accenture Global Solutions Limited | Video analytics device |
| US9854292B1 (en) | 2017-01-05 | 2017-12-26 | Rovi Guides, Inc. | Systems and methods for determining audience engagement based on user motion |
| US10070177B1 (en) | 2018-03-28 | 2018-09-04 | Alphonso Inc. | Automated methods for determining a user's likely exposure to media content being output by a media device based on user interactions with a mobile device that monitors media content outputted by the media device |
| US11265602B2 (en) | 2018-04-12 | 2022-03-01 | Rovi Guides, Inc. | Systems and methods for evaluating a promotional campaign |
| US20190379938A1 (en) | 2018-06-07 | 2019-12-12 | Realeyes Oü | Computer-implemented system and method for determining attentiveness of user |
| US20190378164A1 (en) | 2018-06-10 | 2019-12-12 | Brave Software, Inc. | Attention Metrics for Attention Applications |
| US10779042B1 (en) | 2019-01-07 | 2020-09-15 | Alphonso Inc. | Automatically generated personalized media channel |
| US20200296456A1 (en) | 2019-03-14 | 2020-09-17 | Longtail Ad Solutions, Inc. | Systems and methods for evaluating the engagement factor of videos |
| US20220383350A1 (en) | 2019-11-12 | 2022-12-01 | Bwh Technologies Private Limited | Tracking user engagement and user impressions |
| US20210158391A1 (en) | 2019-11-27 | 2021-05-27 | The Nielsen Company (Us), Llc | Methods, systems and apparatus to estimate census-level audience size and total impression durations across demographics |
| US20210240681A1 (en) | 2020-02-05 | 2021-08-05 | Comscore, Inc. | Systems and methods for deduplicating viewership data |
| US11240539B1 (en) | 2020-06-01 | 2022-02-01 | Amazon Technologies, Inc. | Reporting of engaged views of directed content |
| US20220084052A1 (en) | 2020-09-11 | 2022-03-17 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate population reach from marginals |
| US20220159326A1 (en) | 2020-11-16 | 2022-05-19 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate population reach from marginal ratings with missing information |
| US20220256219A1 (en) | 2020-12-02 | 2022-08-11 | Discovery Communications, Llc | Systems and methods for predicting television viewership patterns for advanced consumer segments |
| US20220182722A1 (en) | 2020-12-07 | 2022-06-09 | Caspian Hill Group, LLC | System and method for automatic detection of periods of heightened audience interest in broadcast electronic media |
| US20220303618A1 (en) | 2021-03-17 | 2022-09-22 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for processing viewership information |
Non-Patent Citations (40)
| Title |
|---|
| Anonymous: "Apache Hadoop", Sep. 5 2013 (Sep. 5 2013), XP055394634, Retrieved from the Internet: URL: https://en.wikipedia.org/w/index.php?title=Apache_Hadoop&oldid=571641303 [retrieved on Jul. 28, 2017]. |
| Aug. 4, 2017—(EP) Office Action—App No. 14183827.6. |
| Cisco Systems, Inc., "Access Viewership Data, Monitor Performance", Web page: http://www.cisco.com/en/US/products/ps9122/index.html, accessed May 20, 2013, 1 page. |
| Cisco Systems, Inc., "Channel Viewership Analyzer" Web page: http://www.cisco.com/en/US/prod/collateral/video/ps9119/ps9883/7016867.pdf pp. 1-2 File: CISCO-ChannelViewershipAnalyzer.pdf. |
| Cisco Systems, Inc., "Network Efficiency with Switched Digital", Web page: http://www.cisco.com/en/US/products/ps9258/index.html, accessed Oct. 13, 2014, 2 pages. |
| EP Office Action—EP App 14182921.5—Mailed Mar. 31, 2016. |
| Extended European Search Report, EP Application 14186382.9, Dated Feb. 4, 2015. |
| Extended European Search Report—EP 14182927.5—Mailing date: Dec. 16, 2014. |
| Extended European Search Report—EP 14183827.6—Mailing date: Oct. 23, 2014. |
| FourthWall Media, Product information from web page, MassiveDataTM http://www.fourthwallmedia.tv, Oct. 18, 2013, p. 1 File: B-FourthWall-Media-MassiveData.pdf. |
| IneoQuest Technologies, Inc., "Switched Digital Video Solutions" http://www.ineoquest.com/switched-digital-video-solutions Dec. 28, 2010 pp. 1-2 File: IneoQuest-Switched-Digital-Video-Solutions.pdf. |
| Jan. 12, 2021—Canadian Office Action—CA 2,860,802. |
| Jan. 13, 2021—Canadian Office Action—CA 2,861,861. |
| Jan. 3, 2023—EP Office Action—EP App. No. 14186382.9. |
| Jun. 22, 2021—European Office Action—EP 14186382.9. |
| Jun. 23, 2021—Canadian Office Action—CA 2,864,621. |
| Konstantin Shvachko et al.: "The Hadoop Distributed File System", Mass Storage Systems and Technologies (MSST), 2010 IEEE 26th Symposium On, IEEE, Piscataway, NJ, USA, May 3, 2010 (May 3, 2010), pp. 1-10, XP031698650, ISBN: 978-1-4244-7152-2. |
| Mar. 22, 2019—EP Office Action—EP 14186382.9. |
| Mark Landler, Digital TV Converter Boxes to Expand Cable Offerings, 1996, The New York Times. |
| May 22, 2018—European Office Action—EP 14183827.6. |
| Motorola, Inc. Solutions Paper "Implementing Switched Digital Video Solutions" http://www.motorola.com/staticfiles/Business/Products/_Documents/_Static%20files/SDV%20Implementation%20Solutions%20paper%20-555998-001-a.pdf?localeId=33 Copyright 2008. |
| Motorola, Inc., Solutions Paper, "Implementing Switched Digital Video Solutions" http://www.motorola.com/staticfiles/Business/Products/_Documents/_Static%20files/SDV%20Implementation%20Solutions%20paper%20-555998-001-a.pdf?localeId=33, Copyright 2008, p. 6 File: Motorola-SDV_Implementation_Solutions_paper_-555998-001-a.pdf. |
| Nov. 10, 2020—CA Office Action—CA 2,864,621. |
| Nov. 3, 2021—Canadian Office Action—CA 2,860,802. |
| Nov. 5, 2021—Canadian Office Action—CA 2,861,861. |
| Nov. 6, 2020—EP Office Action—EP 14186382.9. |
| Rentrak Corporation Television TV Essentials http://www.rentrak.com/section/media/tv/linear.html Feb. 1, 2011. |
| Rentrak Corporation, Reaching Your Target Audience Using Commercial Ratings and Pod Analysis Rentrak Case Studies, http://www.rentrak.com/downloads/Commercial_and_Pod_Analysis_Case_Study.pdf Oct. 18, 2013, p. 1-2, C-2-Rentrak-Commercial_and_Pod_Analysis_Case_Study.pdf www.rentrak.com. |
| Rentrak Corporation, Reaching Your Target Audience Using Viewership Segments, Rentrak Case Studies http://rentrak.com/downloads/Viewership_Segment_Case_Study.pdf, Oct. 18, 2013, p. 1-2 C-1-Rentrak-Viewership_Segment_Case_Study.pdf www.rentrak.com. |
| Rentrak Corporation, Rentrak Overview: Exact Commercial Ratings® http://www.rentrak.com/downloads/Exact_Commercial_Ratings_Presentation.pdf, Jan. 22, 2013, p. 1-30 File: C-Rentrak-Exact_Commercial_Ratings_Presentation.pdf www.rentrak.com. |
| Rentrak Corporation, Television, TV Essentials, Web source: http://www.rentrak.com/section/media/tv/linear.html, Feb. 1, 2011, p. 1. |
| Response to EP Search Report—EP 14186382.9—Dated Sep. 29, 2015. |
| Response to European Search Report—EP 141838276—Dated Sep. 10, 2015. |
| Response to European Search Report—EP Appl. 14182927.5—submitted Sep. 4, 2015. |
| Strickland, Jonathan, "How Switched Digital Video Works" Nov. 20, 2007. HowStuffWorks.com. <http://electronics.howstuffworks.com/switched-digital-video.htm> pp. 1-4. |
| Strickland, Jonathan, "How Switched Digital Video Works", Nov. 20, 2007. HowStuffWorks.com. <http://electronics.howstuffworks.com/switched-digital-video.htm>, pp. 1-4 File: HowSwitchedDigitalVideoWorks.pdf. |
| Tim Brooks, STU Gray, Jim Dennison, "The State of Set-Top Box Viewing Data as of Dec. 2009" STB Committee of the Council for Research Excellence. Research Report Feb. 24, 2010. |
| Tim Brooks, Stu Gray, Jim Dennison, "The State Of Set-Top Box Viewing Data as of Dec. 2009", STB Committee of the Council for Research Excellence. Research Report, Feb. 24, 2010, http://researchexcellence.com/stbstudy.php, pp. 1-9 File: A-STBCommitteeforResearchExcellenceSTBFINALREPORT_3_5_10.pdf. |
| Wayne Friedman, Rentrak's ‘Stickiness’ Mines TV Value On Granular Level , MediaPost, Jan. 27, 2010, p. 1 of attached file Web source: http://www.tvb.org/media/file/TVB_Measurement_Rentraks_Stickiness_Mines_TV_Value_on_Granular_Level_1-27-10.pdf File: Rentraks_Stickiness_Mines_TV_Value_on_Granular_Level_1-27-10.pdf. |
| Welch T A: "A Technique for High-Performance Data Compression", Computer. IEEE. US, vol. 17. No. 6. Jun. 1, 1984 (Jun. 1, 1984), XP000673349. |
Also Published As
| Publication number | Publication date |
|---|---|
| US8365212B1 (en) | 2013-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| USRE50079E1 (en) | System and method for analyzing human interaction with electronic devices that access a computer system through a network | |
| US11968421B2 (en) | Measuring video-program-viewing activity | |
| US11537971B2 (en) | Measuring video-asset viewing | |
| US12075103B2 (en) | Measuring video viewing | |
| US9838726B2 (en) | System and method for sending advertising data based on data associated with video data | |
| US7706740B2 (en) | Apparatus and methods of selective collection and selective presentation of content | |
| US8515336B2 (en) | Apparatus and methods of selective collection and selective presentation of content | |
| US20070118396A1 (en) | System and method for identifying desirable subscribers | |
| US12155875B2 (en) | Measuring video-content viewing | |
| WO2007082190A2 (en) | Apparatus and methods of selective collection and selective presentation of content | |
| US20250016407A1 (en) | Measuring video-program viewing | |
| US20250227346A1 (en) | Apparatus and methods for automated secondary content management in a digital network | |
| US20210390210A1 (en) | Privacy-aware content recommendations | |
| US12271855B2 (en) | Measuring video-asset viewing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: COMCAST CABLE COMMUNICATIONS, LLC, PENNSYLVANIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORLOWSKI, ROBERT;REEL/FRAME:034851/0612 Effective date: 20140722 |