US20110178851A1 - Enhancing virally-marketed facilities - Google Patents
Enhancing virally-marketed facilities Download PDFInfo
- Publication number
- US20110178851A1 US20110178851A1 US13/026,970 US201113026970A US2011178851A1 US 20110178851 A1 US20110178851 A1 US 20110178851A1 US 201113026970 A US201113026970 A US 201113026970A US 2011178851 A1 US2011178851 A1 US 2011178851A1
- Authority
- US
- United States
- Prior art keywords
- website
- memory
- virality
- performance
- improvement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000002708 enhancing effect Effects 0.000 title abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 163
- 230000001965 increasing effect Effects 0.000 claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 claims abstract description 40
- 230000003612 virological effect Effects 0.000 claims description 87
- 238000012360 testing method Methods 0.000 claims description 70
- 230000006872 improvement Effects 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 43
- 238000005259 measurement Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000007418 data mining Methods 0.000 claims 5
- 230000008569 process Effects 0.000 description 45
- 230000004044 response Effects 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007484 viral process Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000003442 weekly effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000692 Student's t-test Methods 0.000 description 1
- 238000003639 Student–Newman–Keuls (SNK) method Methods 0.000 description 1
- 238000010162 Tukey test Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- OMFRMAHOUUJSGP-IRHGGOMRSA-N bifenthrin Chemical compound C1=CC=C(C=2C=CC=CC=2)C(C)=C1COC(=O)[C@@H]1[C@H](\C=C(/Cl)C(F)(F)F)C1(C)C OMFRMAHOUUJSGP-IRHGGOMRSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000000556 factor analysis Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0211—Determining the effectiveness of discounts or incentives
Definitions
- the present invention generally relates to optimization of processes.
- the invention more specifically relates to utilizing viral marketing to enhance usage of a facility.
- Websites and other facilities may be marketed in a variety of ways.
- One method of marketing is viral marketing, which uses electronic contacts such as chat rooms, emails and instant messages for example, or word of mouth and other avenues to effectively advertise the facility.
- Viral marketing has the potential to be inexpensive, as it may not require much of an advertising budget. Moreover, effective viral marketing may be swifter than any other marketing campaign available.
- While the ultimate measure of success is revenue which exceeds expenses by a desired margin, this cannot be instantly determined. Moreover, it may not be apparent until well after sunk costs are committed in an unrecoverable manner. Avoiding a large investment in an ultimately doomed enterprise is the goal of such prediction. Accordingly, it may be helpful to provide an early detection method for sustainability of a virally marketed facility. Moreover, it may be useful to measure parameters other than outright revenue to predict success. What parameters to measure, other than revenue or net profit, is not at all obvious. Similarly, how to use measured parameters to predict revenue or net profit, for example, may not be obvious.
- the invention is a method of operating a website.
- the method includes measuring virality of the website.
- the method also includes determining potential options for increasing virality.
- the method further includes concurrently executing potential options for increasing virality.
- the invention is an apparatus for operating a virally marketed facility.
- the apparatus includes a facility manager coupled to the facility.
- the apparatus further includes a metric measurement module coupled to the facility manager and to the facility.
- the apparatus also includes a variation tester coupled to the metric measurement module and the facility manager.
- the invention is a method of operating a virally marketed facility.
- the method includes measuring virality of the facility based on a conversion rate and a propagation rate.
- the method also includes determining potential options for increasing virality.
- the method further includes executing potential options for increasing virality.
- the invention is a system for operating a virally marketed facility.
- the system includes a processor.
- the system includes a memory coupled to the processor.
- the system includes a user interface coupled to the processor.
- the processor is to measure virality of the facility.
- the processor is to determine potential options for increasing virality.
- the processor is to concurrently execute potential options for increasing virality.
- the invention is a medium embodying instructions, which, when executed by a processor, cause the processor to perform a method.
- the method includes measuring virality of a website.
- the method also includes determining potential options for increasing virality.
- the method further includes concurrently executing potential options for increasing virality.
- the invention is a method of operating a virally marketed facility.
- the method includes measuring virality of the facility. Also, the method includes determining potential options for increasing virality. Further, the method includes concurrently executing potential options for increasing virality.
- the invention is an apparatus for managing a virally marketed facility.
- the apparatus includes means for measuring virality of the facility.
- the apparatus also includes means for determining potential options for increasing virality.
- the apparatus further includes means for concurrently executing potential options for increasing virality.
- the invention is a method of operating a website.
- the method includes initiating the website based on an idea and measuring virality of the website.
- the method also includes identifying portions of the website for which options for increasing virality may be determined.
- the method further includes determining potential options for increasing virality.
- the method also includes concurrently executing potential options for increasing virality.
- the method includes selecting options for increasing virality based on effectiveness. Additionally, the method includes repeating the measuring, identifying, determining, simultaneously executing, and selecting.
- FIG. 1 illustrates a plot of usage against time.
- FIG. 2 illustrates an extended plot of usage against time.
- FIG. 3A illustrates an embodiment of a method of operating a process.
- FIG. 3B illustrates another embodiment of a method of operating a process.
- FIG. 4 illustrates an alternate embodiment of a method of operating a process.
- FIG. 5 illustrates another plot of usage against time.
- FIG. 6 illustrates another alternate embodiment of a method of operating a process.
- FIG. 7 illustrates an embodiment of a system which may be used with the methods described.
- FIG. 8 illustrates an embodiment of a network which may be used with the methods described.
- FIG. 9 illustrates an embodiment of an apparatus for operating a process.
- FIG. 10 illustrates a medium embodying instructions for causing a processor to execute the methods of operating a process.
- FIG. 11 illustrates a plot of virality parameters in three dimensions.
- FIG. 12 illustrates another plot of virality parameters in three dimensions.
- FIG. 13 illustrates a process of distributing invitations for a viral facility.
- the intuitive concept of viral growth in a consumer service product is that by interacting with the product in a natural way, each user brings more than one additional user to the product.
- a method and apparatus for enhancing virally marketed facilities is provided.
- the invention may be understood as including tracking ratios of conversions and propagations, analyzing a virally marketed facility for potential improvements, testing the potential improvements concurrently, and using successful improvement going forward. This may be implemented as a method using automatic or manual operations, as an apparatus operating automatically or with user input, or as a system for example.
- the invention is a method of operating a website.
- the method includes measuring virality of the website.
- the method also includes determining potential options for increasing virality.
- the method further includes concurrently executing potential options for increasing virality.
- the invention is an apparatus for operating a virally marketed facility.
- the apparatus includes a facility manager coupled to the facility.
- the apparatus further includes a metric measurement module coupled to the facility manager and to the facility.
- the apparatus also includes a variation tester coupled to the metric measurement module and the facility manager.
- the invention is a method of operating a virally marketed facility.
- the method includes measuring virality of the facility based on a conversion rate and a propagation rate.
- the method also includes determining potential options for increasing virality.
- the method further includes executing potential options for increasing virality.
- the invention is a system for operating a virally marketed facility.
- the system includes a processor.
- the system includes a memory coupled to the processor.
- the system includes a user interface coupled to the processor.
- the processor is to measure virality of the facility.
- the processor is to determine potential options for increasing virality.
- the processor is to concurrently execute potential options for increasing virality.
- the invention is a medium embodying instructions, which, when executed by a processor, cause the processor to perform a method.
- the method includes measuring virality of a website.
- the method also includes determining potential options for increasing virality.
- the method further includes concurrently executing potential options for increasing virality.
- the invention is a method of operating a virally marketed facility.
- the method includes measuring virality of the facility. Also, the method includes determining potential options for increasing virality. Further, the method includes concurrently executing potential options for increasing virality.
- the invention is an apparatus for managing a virally marketed facility.
- the apparatus includes means for measuring virality of the facility.
- the apparatus also includes means for determining potential options for increasing virality.
- the apparatus further includes means for concurrently executing potential options for increasing virality.
- the invention is a method of operating a website.
- the method includes initiating the website based on an idea and measuring virality of the website.
- the method also includes identifying portions of the website for which options for increasing virality may be determined.
- the method further includes determining potential options for increasing virality.
- the method also includes concurrently executing potential options for increasing virality.
- the method includes selecting options for increasing virality based on effectiveness. Additionally, the method includes repeating the measuring, identifying, determining, simultaneously executing, and selecting.
- Virality and other terms associated with viral marketing may have various definitions.
- virality may be defined as a scalar average number of children (resulting or referred members) from a parent (original or referring member).
- a virality vector may be similarly defined as the number of children from a parent over time, for example.
- Virality may also be defined as a the constant in an exponential model of growth in the virally marketed facility.
- FIG. 1 illustrates a plot of usage against time. As illustrated, a current usage level and desired usage level are plotted. The plot illustrates that over time, usage of a website or other virally marketed facility may not meet requirements for feasibility or economic scale.
- current level plot 110 is a plot of actual usage over time
- desired level plot 120 is a plot of desired usage over time. As illustrated, part of the plot is backward looking, based on collected data, and part of the plot is forward-looking, based on projections and extrapolation.
- FIG. 2 illustrates an extended plot of usage against time.
- usage which is not meeting requirements early may indicate a trend in which usage will turn down and/or taper off at a level significantly below a desired or required usage level.
- Current level plot 110 drops in magnitude over time
- desired level plot 120 rises over time. In practical terms, this may indicate a website or other virally marketed facility is not economically self-supporting, let alone profitable, and thus does not represent a good commercial use of assets.
- the desired level plot 120 may not necessarily represent a requirement level or tipping point. Rather, a requirement level of usage may be represented as a flat level (absolute magnitude) of usage, or may be represented as a percentage of the desired level plot 120 for example.
- FIG. 3A illustrates an embodiment of a method of operating a process.
- a method may be used to operate a process or facility.
- Method 300 includes modules which may be implemented in a variety of ways, such as steps in a process, process modules, system or apparatus modules, or some other form.
- growth of a website is measured.
- adjustments are made to content of the website. Presumably, the adjustments are intended to increase growth.
- the process then returns to module 310 , thus providing a feedback loop and allowing for multiple adjustment cycles.
- FIG. 3B illustrates another embodiment of a method of operating a process.
- a method may be used to operate a process or virally marketed facility.
- Method 350 includes modules as described above.
- virality or viral growth of some form for example
- adjustments are made to content of the website. Presumably, the adjustments are intended to increase virality.
- the process then returns to module 360 , thus providing a feedback loop and allowing for multiple adjustment cycles.
- FIG. 4 illustrates an alternate embodiment of a method of operating a process.
- the method 400 includes modules as described with respect to method 300 .
- Method 400 includes implementing an idea as a website, determining whether the implementation grows virally, analyzing alternative options, and adjusting the website.
- method 400 may allow for improvements to a website allowing for increased virality.
- Method 400 begins with module 410 , in which an idea for a website is introduced or provided.
- the idea is implemented as a website.
- virality of the website is measured or otherwise determined. This determination may come in the form of measuring an increase in subscribers, monitoring commentators and chat rooms, or some other form of evaluating public discussion of the website.
- module 440 alternatives to the current implementation of the website are analyzed, such as different content.
- module 450 adjustments are made to the website. The process then returns to module 430 , allowing for a feedback process and multiple cycles of updating and measurement.
- FIG. 5 illustrates another plot of usage against time. However, the curves of FIG. 5 illustrate plots of virality metrics rather than absolute usage. These virality metrics provide an indication of the expected usage trajectory of a website or other virally marketed facility.
- X is the conversion rate, which is a ratio of total signups in the future to the number of invitations sent in a day. This may also be calculated as the instantaneous or daily signups divided by the total invites sent to generate these signups. This ratio provides an indication of whether invitations are becoming registrations. It requires (in this embodiment) predictive interpretation of registrations, which may be done based on a combination of data from a given site and historical data aggregated from a variety of sites.
- Y is a propagation rate, which is the average number of invites sent by people who registered on a given day, as used in some embodiments. This may also be called the instantaneous or daily invites divided by the instantaneous or daily signups. Y may also be a ratio of cumulative invites from signups in a day divided by signups in a day in some embodiments.
- Other metrics for X and Y may be suitable in some situations, typically the measured parameters will provide an indication of whether customers are continuing to generate additional interest from others, and whether interest in the site is continuing to generate additional customers. In some embodiments, the two metrics or factors have some form of positive feedback or reinforcing relationship which provides an indication the facility will grow in usage. The possibility of negative feedback should also be considered.
- the plots of X and Y indicate that the website will continue to grow in usage, thus potentially representing a viable commercial investment.
- the product of X and Y at long times becomes less than 1 (decreases or falls below 1), this may indicate the site is no longer likely to grow, and thus is not worth additional resources.
- a tipping point may have been reached such that the site should no longer be supported.
- This type of metric may be applied to any virally marketed facility, such as a subscription based magazine, a consumer service outlet (such as a restaurant for example), or other facility depending largely on viral or word-of-mouth marketing.
- a virally marketed facility is preferably a facility such as a website which has the property that using the product generates more customers.
- the ratios measure whether this property is present for a given facility. Tracking these variables and making sure they accelerate, increase, or maintain a desired relationship results in an indication that the facility is virally marketing, and should be profitable assuming solid fundamentals and no unreasonable external pressures (e.g. uninhibited cost growth).
- invites or registrations may be replaced with contacts, representing contacts with potential customers, as opposed to signups which imply a customer actually visiting the website.
- FIG. 6 illustrates another alternate embodiment of a method of operating a process.
- Method 600 includes initiating a site, measuring performance such as through the metrics of FIG. 5 , identifying areas and options for improvement, implementing test improvements concurrently, selecting best improvements, and repeating the process.
- Method 600 is composed of modules suitable for implementing the various portions of the method.
- the site (website or other virally marketed facility) is initiated. This may, for example, involve a launch including publicity and fanfare, or a spinoff of another site.
- performance of the site is measured, such as through the metrics described with respect to FIG. 5 . Performance measurements may relate to new user accesses, existing user usage, invitations to new users, or other measurements. Measurements may also relate to increasing revenue streams or renewal/cancellation of subscriptions, for example.
- areas for potential improvement are identified. This may relate to site content, site structure, usability, accessibility, outreach (advertising and rewards programs for example), or other areas.
- potential improvements are considered or created. This may relate to adding content or functionality, shifting portions of a site between a standard and a premium or VIP status, increasing marketing outreach, or other potential improvements for example.
- tests of potential improvements are implemented concurrently (preferably close to simultaneously) alongside a control version which is the previous implementation.
- concurrent implementation involves implementation of different potential improvements for different, randomly selected users, during the same designated test period (such as the same 48 hour time for example). It has been shown empirically that implementation in parallel or concurrently tends to produce better results for a virally marketed facility.
- best versions of the concurrently implemented tests are selected. This may be a result of identifiable changes in usage or subscriptions for example (such as use of an identifiable coupon or referral for example), or may be a result of inferences drawn from apparent improvements. For sites or facilities that appear to be worth supporting, the method then returns to module 620 for measurement of performance, and thus implements feedback.
- Some flexibility in ordering of operations may be allowed for, such that measurement of performance may be partially incorporated into selecting best versions at module 660 for example. Similarly, performance may be measured or best versions may be selected in various different sets of circumstances or along with various modules. Moreover, best versions may allow for spinning off separate facilities or sites based on multiple improvements that either appear to be self-supporting or appear to be mutually incompatible. Portions of the method may be automated in various ways. For example, identification of areas for improvement and standard options for improvement may be automated, along with concurrent testing of these options for improvement. Similarly, evaluation of results may be automated along with selection of best versions. Thus, most of the modules (potentially all) may be automated for some virally marketed facilities such as electronic facilities (e.g. websites).
- FIGS. 7-8 The following description of FIGS. 7-8 is intended to provide an overview of computer hardware and other operating components suitable for performing the methods of the invention described above, but is not intended to limit the applicable environments. Similarly, the computer hardware and other operating components may be suitable as part of the apparatuses of the invention described above.
- the invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- FIG. 7 shows several computer systems that are coupled together through a network 705 , such as the Internet.
- the term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web).
- HTTP hypertext transfer protocol
- HTML hypertext markup language
- Access to the Internet 705 is typically provided by Internet service providers (ISP), such as the ISPs 710 and 715 .
- ISP Internet service providers
- Users on client systems, such as client computer systems 730 , 740 , 750 , and 760 obtain access to the Internet through the Internet service providers, such as ISPs 710 and 715 .
- Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format.
- These documents are often provided by web servers, such as web server 720 which is considered to be “on” the Internet.
- these web servers are provided by the ISPs, such as ISP 710 , although a computer system can be set up and connected to the Internet without that system also being an ISP.
- the web server 720 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet.
- the web server 720 can be part of an ISP which provides access to the Internet for client systems.
- the web server 720 is shown coupled to the server computer system 725 which itself is coupled to web content 795 , which can be considered a form of a media database. While two computer systems 720 and 725 are shown in FIG. 7 , the web server system 720 and the server computer system 725 can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system 725 which will be described further below.
- Client computer systems 730 , 740 , 750 , and 760 can each, with the appropriate web browsing software, view HTML pages provided by the web server 720 .
- the ISP 710 provides Internet connectivity to the client computer system 730 through the modem interface 735 which can be considered part of the client computer system 730 .
- the client computer system can be a personal computer system, a network computer, a Web TV system, or other such computer system.
- the ISP 715 provides Internet connectivity for client systems 740 , 750 , and 760 , although as shown in FIG. 7 , the connections are not the same for these three computer systems.
- Client computer system 740 is coupled through a modem interface 745 while client computer systems 750 and 760 are part of a LAN.
- FIG. 7 shows the interfaces 735 and 745 as generically as a “modem,” each of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface (e.g. “Direct PC”), or other interfaces for coupling a computer system to other computer systems.
- Client computer systems 750 and 760 are coupled to a LAN 770 through network interfaces 755 and 765 , which can be Ethernet network or other network interfaces.
- the LAN 770 is also coupled to a gateway computer system 775 which can provide firewall and other Internet related services for the local area network.
- This gateway computer system 775 is coupled to the ISP 715 to provide Internet connectivity to the client computer systems 750 and 760 .
- the gateway computer system 775 can be a conventional server computer system.
- the web server system 720 can be a conventional server computer system.
- a server computer system 780 can be directly coupled to the LAN 770 through a network interface 785 to provide files 790 and other services to the clients 750 , 760 , without the need to connect to the Internet through the gateway system 775 .
- FIG. 8 shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web server system. Such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP 710 .
- the computer system 800 interfaces to external systems through the modem or network interface 820 . It will be appreciated that the modem or network interface 820 can be considered to be part of the computer system 800 .
- This interface 820 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “Direct PC”), or other interfaces for coupling a computer system to other computer systems.
- This interface 820 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “Direct PC”), or other interfaces for coupling a computer system to other computer systems.
- Direct PC satellite transmission interface
- the computer system 800 includes a processor 810 , which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor.
- Memory 840 is coupled to the processor 810 by a bus 870 .
- Memory 840 can be dynamic random access memory (DRAM) and can also include static RAM (SRAM).
- the bus 870 couples the processor 810 to the memory 840 , also to non-volatile storage 850 , to display controller 830 , and to the input/output (I/O) controller 860 .
- the display controller 830 controls in the conventional manner a display on a display device 835 which can be a cathode ray tube (CRT) or liquid crystal display (LCD).
- the input/output devices 855 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device.
- the display controller 830 and the I/O controller 860 can be implemented with conventional well known technology.
- a digital image input device 865 can be a digital camera which is coupled to an I/O controller 860 in order to allow images from the digital camera to be input into the computer system 800 .
- the non-volatile storage 850 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 840 during execution of software in the computer system 800 .
- machine-readable medium or “computer-readable medium” includes any type of storage device that is accessible by the processor 810 and also encompasses a carrier wave that encodes a data signal.
- the computer system 800 is one example of many possible computer systems which have different architectures.
- personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor 810 and the memory 840 (often referred to as a memory bus).
- the buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
- Network computers are another type of computer system that can be used with the present invention.
- Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 840 for execution by the processor 810 .
- a Web TV system which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown in FIG. 8 , such as certain input or output devices.
- a typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
- the computer system 800 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software.
- a file management system such as a disk operating system
- One example of an operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems.
- Another example of an operating system software with its associated file management system software is the LINUX operating system and its associated file management system.
- the file management system is typically stored in the non-volatile storage 850 and causes the processor 810 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 850 .
- the present invention also relates to apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- FIG. 9 illustrates an embodiment of an apparatus for operating a process.
- the embodiment illustrated relates to a website, but may be adapted to other embodiments involving other types of virally marketed facilities.
- the embodiment illustrated includes a website manager, metric measurement, variation generator and variation tester, each of which may interact with a website in various different ways.
- the various modules may be combined or subdivided in various ways consistent with the spirit and scope of the overall embodiments.
- Apparatus 900 represents an embodiment as it may interact with a website 910 .
- website 910 is not included in apparatus 900 as illustrated (though a website may be included in alternate embodiments).
- Website management module 920 is linked to website 910 , and provides general management support, such as providing stored customer information from a repository, providing stored content, providing up-to-date links to dynamic content, changing subscriber or customer information, or otherwise handling back-end processing of the website. Data related to website management may be collected by website management module 920 .
- Metric measurement module 930 is also linked to website 910 .
- Metric measurement module 930 measures performance of the website 910 in relation to viral marketing and growth of the website 910 (such as growth in subscriptions or revenue for example). Metric measurement module 930 thus provides an indication of whether the website 910 is growing as desired or expected. Moreover, metric measurement module 930 may trigger a cycle of changes in the website 910 .
- Variation generator 940 is also linked to website 910 and website management 920 .
- Generator 940 may receive data from website 910 directly and/or from website management module 920 . Such data may relate to usage of portions of website 910 and may also include feedback from customers and an indication of how customers are coming to website 910 (such as by referral, through advertising, search engine, or another method for example).
- Generator 940 may then mine this data to determine potential areas for improvement of website 910 , and generate potential changes or variations based on this data.
- generator 940 operates to constantly determine potential variations, whereas in other embodiments, generator 940 operates in response to a trigger signal from metric measurement module 930 . Such a trigger may be transmitted through website management module 910 , or transmitted directly for example.
- Variation tester 950 is linked to website 910 , generator 940 and metric measurement module 930 .
- Tester 950 may use variations from generator 940 responsive to a signal from measurement module 930 and may thus concurrently test the variations on the website 910 .
- Results from the acts of tester 950 may determine which variations should be implemented and which should be discarded or held until later implementation.
- Tester 950 may gather data indicating the effectiveness of variations, or it may simply implement the variations, with metric measurement module 930 gathering the relevant data. Note that an example of two combined modules may involve a combination of management module 920 and metric measurement module 930 as a single module, for example.
- FIG. 10 illustrates a medium embodying instructions for causing a processor to execute the methods of operating a process.
- a medium may be a single piece of media or a collection of media, without materially changing the medium. Typically, the medium will be machine-readable.
- Medium 1000 includes a website manager 1010 , measurement module 1040 , variation generator 1030 , and variation implementer 1020 .
- Website manager 1010 manages a website (not shown), providing general management support, such as accessing stored customer information from a repository, supplying stored content, supplying up-to-date links to dynamic content, modifying subscriber or customer information, or otherwise handling back-end processing of the website.
- data related to website management may be collected by website manager 920 .
- Measurement module 1040 is also linked to the website. Measurement module 1040 measures performance of the website in relation to viral marketing and growth of the website. Measurement module 1040 thus provides an indication of whether the website is growing as desired or expected. Also, measurement module 1040 may trigger a cycle of changes in the website, such as testing of variations of the website for example.
- Variation generator 1030 is linked to the website. Variation generator 1030 may receive data from the website directly and/or from website manager 1010 . Such data may relate to usage of parts of the website, an indication of how customers are coming to the website (such as by referral, through advertising, search engine, or another method for example), and an indication of customer/user feedback.
- Variation generator 1030 may mine this data to determine potential areas for improvement of the website, and accordingly generate potential changes or variations to the website. In some embodiments, variation generator 1030 operates in response to a trigger signal from measurement module 1040 , whereas in other embodiments, variation generator 1030 operates to constantly determine potential variations. A trigger may be transmitted through website management module 1010 , or transmitted directly for example.
- Variation tester 1020 tests variations from variation generator 1030 on the website. Variation tester 1020 may use variations from variation generator 1030 responsive to a signal from measurement module 1040 and may thus concurrently test the variations on the website. Results from the acts of variation tester 1020 may determine which variations should be discarded and which should be implemented. Variation tester 1020 may gather data relating to effectiveness of variations, or it may simply implement the variations, with measurement module 1040 gathering the relevant data.
- Relationships between individuals may be understood by using the nomenclature of the family tree.
- the former is referred to as the parent, and the latter as the child.
- the child is referred to as the parent, and the latter as the child.
- One useful metric of virality is a measure of how many descendant users each user produces, on average, after a given time t.
- the time development of virality is denoted as
- Virality typically increases monotonically. Also, one may assume that on average virality grows asymptotically toward a constant, such that
- ⁇ the rate of viral growth
- v′(t) the time-derivative of the virality function
- x′(t) is not an exponential, but may vary with the hours of the day and the days of the week.
- constant viral growth must take an exponential form. That means that if one discretizes growth on a scale large enough to average-out fluctuations, the discrete quantity will take the form
- This discretized expression is believed to be exact, not an approximation of the continuous case.
- the week is a good timescale to work with, as there are substantial fluctuations between days within it. So many external factors change over the course of a year that this scale is not practical.
- One particularly useful way to look at things is to use a weekly discretization, but compute overlapping models based on each possible starting day (such as a seven-day moving average). This removes fluctuations within the week while providing daily update resolution.
- the steady-state assumption is empirically valid for weekly discretizations. It is also valid in models with a distinct daily discretization of v(t) for each day of the week.
- Stationarity is useful here.
- a potentially useful way to do this is to estimate v′(t) for a given day as the number of new users whose parent registered t days previously divided by the total number of new users on that day t days previously. This calculation may be done equally well in terms of weeks rather than days, and in fact this measure is potentially more useful since it removes intra-week fluctuations.
- the discretized measure of virality may be known as the Virality Vector.
- the solution can be illuminating in that it shows how for c>0, a history of active use can provide a cushion that sustains future growth even when one might expect exponential decline on the basis of short-term statistics.
- a history of active use can provide a cushion that sustains future growth even when one might expect exponential decline on the basis of short-term statistics.
- FIG. 11 illustrates this plot, using Mathematica software with a request of
- FIG. 12 illustrates this plot, using Mathematica software with a request of Plot3D[a ⁇ 1/b, ⁇ a, 0.2, 0.5 ⁇ , ⁇ b, 2.0, 4.0 ⁇ ]
- the parameters a and 1/b relate so naturally to the viral timescale ⁇ , it makes sense to estimate these values from the virality vector and to isolate each one for improvement. Viral growth is given most directly by its rate, denoted by the single parameter ⁇ . However, ⁇ may not be measured directly. Rather it is calculated from the virality vector v′(t), which is more straightforward to measure, but difficult to optimize on account of its vector nature. The parameters provide a more intuitive goal or set of goals for viral optimization.
- users receive an invitation e-mail requesting them to respond to the site and register. Once registered users are encouraged to refer others to the site, generating an e-mail and completing the viral loop.
- the cumulative response rate is a function of time, x(t), which increases monotonically as more individuals respond.
- x(t) may also be approximated in order to give it more intuitive meaning.
- the average number of invitation e-mails generated by a user is denoted as y(t).
- y(t) the average number of invitation e-mails generated by a user
- the parameters x, y, and their decompositions to subparameter vectors [a x , b x ] [a y , b y ] provide a more direct way of optimizing for viral growth. For example a small change in the content of the web site that gets users more engaged might be expected to make a great impact on the number of invitations sent, but have little impact on the response rate.
- the parameters a and 1/b serve as guides, and in some cases the one can be measured more readily than the other. Similar subparameters may be computed for steps in the viral process to aid in evaluating test performance.
- the object of viral optimization is the exponential growth rate ⁇ .
- Viral optimization is potentially applicable to any product through whose use one individual might encourage another new person to become a user.
- the particular example of this section is in the area of online consumer websites, but one might apply these techniques to applications both online and offline, and where the customers are either individuals or businesses.
- both the total user base and the rate at which new users are acquired grow exponentially, with daily registrations taking the approximate form of e ⁇ t .
- it is merely important to realize that the single parameter of greatest interest is the rate of viral growth ⁇ .
- Viral growth is extremely powerful when it works. Product ideas that appear to be naturally viral often can get quite close to true viral growth on a first attempt. Preferably, one subsequently modifies-and improves the product in order to achieve viral growth.
- Viral optimization is a process for getting from a good idea and an intelligent first-implementation of the product to sustained viral growth and millions of users.
- One approach combines a heavy dose of both left- and right-brain activity in an optimization cycle. The optimization process begins with numbers.
- the viral growth rate ⁇ one may also measure a number of “subparameters” that describe how different parts of the user product contribute to the overall growth. Once the initial numbers are obtained, test improvements are then developed. Often, a look at the numbers, combined with a careful examination of the product will immediately suggest changes. However, imagination and creativity can help tremendously at this stage. Alternatively, a menu of standard improvements may also be applied in an essentially mechanical manner.
- test versions can be put online simultaneously, each being experienced by a different group of randomly assigned users.
- the cycle of optimization may then be repeated by making variations to the best performing versions, taking into account the lessons of previous tests. Such lessons may be stored in a database allowing for automatic access and interpretation.
- the viral loop can generally be broken down into a number of modules. Starting from an invitation e-mail one measures the probability with which a user responds to the site to register. In some cases, the registration process involves multiple steps, all of which must be completed before the user is ready to invite others. Once a user completes the registration, one measures the number of invitation e-mails generated to others who are not registered. In some cases, one may track attempts to connect with previously registered users, but these will not lead to growth. Principal subparameters of the viral process are listed below.
- All of the viral subparameters may be considered as functions of time, and in the limit of long times. For example, an invite often sits in a recipient's mailbox for several hours before it is read. Thus, the response rate, x, rises over the course of hours and days. However, after about a week, the response rate stabilizes as the majority of people have seen the invite and chosen whether or not to respond. This limit provides a scalar formulation of x.
- All of the viral subparameters and the virality itself can be calculated as functions of time.
- a beginning date and an ending date For example, for x, one can divide the number of responses to invitations sent on the beginning day which generated a registration by the ending day by the total number of invitations sent on the beginning day. This gives the time development of x for the beginning day. Note that a discretization interval of one day may just as well be replaced with one hour or one week.
- This calculation may be generalized using the notion of events.
- the beginning event is when the child receives the invite
- the ending event is when the child completes the registration.
- FIG. 13 illustrates the events in a simple viral process with a single loop.
- FIG. 13 illustrates a process 1300 occurring for a parent and a process 1325 occurring for a child.
- Process 1300 relates to a parent receiving an invite and registering with a viral facility.
- a parent receives an invite.
- the parent views the invite.
- the parent views a registration page.
- parent registration is completed.
- an invite is sent to a child responsive to the parent registration. For example, a parent may supply contact information for a potential child member as part of the registration process or at a time thereafter.
- Process 1325 relates to a child receiving an invite as a result of parent registration of process 1300 , and registering with the viral facility. Responsive to module 1350 , at module 1355 a child receives an invite to a viral facility. At module 1365 , the invite of module 1355 is viewed. At module 1375 , a corresponding registration page is viewed. At module 1385 , child registration is completed and the child is enrolled in the viral facility. Correspondingly at module 1390 , registration of the child is reflected with respect to the parent in process 1390 .
- a parent may be enrolled as a member or user in a viral facility. Following that, the parent may provide contact information for potential additional members (child members). Next, the potential child member(s) are sent invitations, and the potential child member(s) may enroll in the viral facility.
- Timescales of subparameters may be computed by weighting each term in the numerator by the time difference between beginning and ending events. Timescales are potentially important since a viral loop composed of chained steps with subparameters ⁇ q i , ⁇ q,i ⁇ typically has an exponential growth rate approximated by (( ⁇ q i ) ⁇ 1)/( ⁇ ⁇ q,i ).
- the method described for computing the time dependence of subparameters is forward-looking, in that when one calculates statistics with reference to the beginning day, one must wait until the ending day in order to make the measurement. This may be called a begin-referenced conversion.
- Another useful way to compute conversions is to reference the time-development of a variable to the ending day. In the simple single-day reference model this merely constitutes a reassignment of the reference day from beginning day to ending day.
- For the binned computation one weights the average of the begin-referenced conversions for intervals ending in the week prior to the reference day by the denominator of that conversion.
- the binned end-referenced conversion may also be computed directly by algebraic transformations of this computation.
- Another potentially useful transformation is to compute derivatives of begin-referenced and end-referenced conversions with respect to the interval. This is done by assigning the difference between the i th interval and it i+1 th interval to the i th differential conversion.
- a form of the cumulative end-referenced conversion may then be recovered by assigning the sum of the 1 st interval through the i th interval to the i th interval of the differential computation of the cumulative end-referenced conversion. Algebraic manipulations give alternate steps for computing this quantity.
- the basis discretization interval of one day is replaced with a basic discretization interval of one week.
- End-referenced versions can be useful predictors of future performance when stationarity holds. This appears to be generally true of the binned conversion that smoothes out short-term periodicity. Potentially, the differential computation of the cumulative end-referenced conversion provides the greatest predictive power.
- the viral timescale can be computed by numerically solving the fundamental viral relation. For v′(t), one takes the differential end-referenced conversion from parent registration to child registration with a basis of one week. While this measure has been found to be most meaningful in some embodiments, one can also use the differential end-referenced conversion from parent to child with a basis of one day and a binning of one week, or the differential end-referenced conversion from parent to child with a basis of one day and no binning.
- the central reason for studying and analyzing virality is predicting the future course of registrations, and thus business growth.
- the exponential rate of viral growth, ⁇ is potentially useful in that it gives a useful steady-state picture, but growth becomes more complicated when other marketing efforts inject more users into the viral loop.
- This model makes several assumptions. For one, all generations are assumed to be the same. This should be checked by computing the virality vector v′(t) for child users as a function of the number of generations separating them from a “seed” user, one who was introduced from outside the viral loop. Another assumption which must be checked is that there are no correlations between the virality vectors of parent and child. If either of these correlations are found, corresponding adjustments may be introduced into the model.
- Additional modeling may identify slow long-term trends in the virality vector. For example, word-of-mouth may drive brand recognition to increase conversion of an e-mail invite. Another trend might be saturation, in which fewer new people are invited because many have already registered. Such trends may be identified by regression analysis or related time series analysis techniques, and the findings incorporated into the model outlined above.
- Systematic improvement of virality involves, in some embodiments, measuring the effect of various changes to the product on the viral timescale and on the viral subparameters.
- sequential tests are complicated by nuisance variables, such as the day of the week, or the particular part of the country that the web site is hot in, which introduce uncertainty into comparisons.
- nuisance variables such as the day of the week, or the particular part of the country that the web site is hot in, which introduce uncertainty into comparisons.
- a set of tests might consist of several subject lines, background colors, and sales pitches. For example, if there are four different versions within each test, then there are a total of 64 (i.e., 4 ⁇ 4 ⁇ 4) possible versions. It is possible to generate all possible combinations automatically, and to assign each user to a category using a random number generator or a hash function.
- the begin-referenced viral subparameters for each test category.
- the subparameter most directly affected by the e-mail tests is x, the conversion from invite to registration, but a user's experience during the process of being invited might influence her likelihood to invite others.
- the subparameter v should be scrutinized as well, and may provide the final figure of merit for a particular version.
- a key consideration in designing tests is the availability of data. It is potentially important to compute standard errors for the conversions. It is standard statistical knowledge that the variance of an estimated mean ⁇ x> is estimated as ( ⁇ x 2 > ⁇ x> 2 )/N, where N is the number of data points. While there is no general rule for how much data must be acquired to give statistically significant results, previous experience with the site can serve as a guide. In general, one will get statistically significant results more quickly by dividing the users among fewer tests. A variety of significance tests may be applied to guide final decision making. Standard statistical methods include the t-test, the F test, Scheffé's method, the Tukey method, Duncan's multiple range test, and the Newman-Keuls test among others.
- the following is an exemplary embodiment of data structures which may be used to measure virality in conjunction with tests of a website or other potentially viral facility.
- Concurrent testing is the primary mechanism for improving viral web sites in this embodiment.
- the event architecture described presents a uniform standard for recording information relevant to concurrent tests.
- a shared analysis backend then provides the tools for displaying test results and for informing decisions.
- the following tables may be provided, such as in a single tar file.
- all of the tables provided to the shared analysis backend will clear any data previously existing in those tables. In such an embodiment, stored results need not be cleared automatically.
- test_desc table gives a plain-text description of each test.
- Test category description table test_cat_desc Table test_cat_desc testid INT /* The test in question */ testcategory INT /* A category identifier, unique within each test */ description VARCHAR(255) /* Text description of test category */
- test_cat_desc table gives a plain-text description of each category for within each of the tests.
- the group_desc table relates the eventgroup identifier to a plain-text description of the part of the process that this identifier refers to (e.g., viewed invite, registered, etc.)
- Computation instruction table conversion_compute Table conversion_compute testid INT /* Identifier of test for which to compute conversion */ conversion VARCHAR(255) /* Eventgroups to compare in form denominator:numerator */ comptype INT /* Reserved */ description VARCHAR(255) /* Text description of step */
- the conversion_compute table gives a list of computations to be made.
- the dependent eventgroup is represented by numgroup and the independent eventgroup is represented by denomgroup. The ratio of the two is computed.
- Event data table events Table events eventid INT /* A unique event identifier */ dateref DATE /* Timestamp for the event */
- the events table associates discrete events with a date and time. For the purposes of different tests each event may be associated with any number of users and processes.
- Event assignment data table event_test_ref Table event_test_ref eventid INT /* Reference to specific event */ userid INT /* Unique identifier relating event to a particular individual */ eventgroup INT /* Eventgroup in the context of user identified by userid */ testid INT /* Identifier of relevant test */ testcategory INT /* Category assignment within referenced test */
- the event_test_ref describes how events relate to particular tests.
- the userid is sometimes used for grouping responses.
- a sample implementation is provided in order to demonstrate the data format. Suppose only one test, the invite test is used. Then there is only one row in the test description table.
- test categories refer to different variations of the test. In this case, there are four design versions.
- event_test_ref With the following forms:
- eventid /* identification number of the invitation event */ userid: /* inviting user's userid */ eventgroup: /* 1 */ testid: /* 1 */ testcategory: /* type of e-mail parent received when invited. */
- eventid /* identification number of the invitation event */ userid: /* userid of person receiving the invitation */ eventgroup: /* 2 */ testid: /* 1 */ testcategory: /* type of e-mail that child is about to receive. */
- eventid /* identification number of the registration event */ userid: /* userid of person registering */ eventgroup: /* 3 */ testid: /* 1 */ testcategory: /* type of e-mail invite that this user is responding to. */
- eventid /* identification number of the registration event */ userid: /* userid of parent of registering child */ eventgroup: /* 4 */ testid: /* 1 */ testcategory: /* type of e-mail that the parent received when invited. */
- event data format often provides a very comprehensive set of information in a format that is particularly accessible for evaluating the results of concurrent tests
- another format is better for making long-term projections of viral growth.
- the basic inv_reg table records invites, registrations, and connections between existing users where appropriate.
- the table format is as below:
- Rows may represent any of the following:
- date_reg is not NULL
- a consistent but arbitrary rule should be applied to the case where a user was invited multiple times before registering. Some options are to track the e-mail which was followed through to registration, crediting the first invitation, or crediting the last invitation.
- the website application may either furnish all rows, or only those that are updated.
- the iid column is used to as a unique primary key which is used to replace updated entries.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application is a Continuation Application of U.S. patent application Ser. No. 11/000,707, filed Nov. 30, 2004, entitled “Enhancing Virally-Marketed Facilities” which claims priority to U.S. Provisional Patent Application No. 60/552,406, filed Mar. 10, 2004, and entitled “Enhancing Virally-Marketed Facilities” also by Greg Tseng and Johann Schleier-Smith, each of which are incorporated herein by reference.
- The present invention generally relates to optimization of processes. The invention more specifically relates to utilizing viral marketing to enhance usage of a facility.
- Websites and other facilities may be marketed in a variety of ways. One method of marketing is viral marketing, which uses electronic contacts such as chat rooms, emails and instant messages for example, or word of mouth and other avenues to effectively advertise the facility. Viral marketing has the potential to be inexpensive, as it may not require much of an advertising budget. Moreover, effective viral marketing may be swifter than any other marketing campaign available.
- Measuring the impact of viral marketing can be difficult. The hallmark of a commercially viable website or other facility is a commercially self-sustaining business model. Based on relatively recent problems with various website-related businesses, determining early on what is a viable or self-sustaining business model can be helpful. Unfortunately, predicting the future is always inexact, and it can be woefully incorrect when applied to new forms of business, such as websites, or new methods of marketing, such as viral marketing.
- While the ultimate measure of success is revenue which exceeds expenses by a desired margin, this cannot be instantly determined. Moreover, it may not be apparent until well after sunk costs are committed in an unrecoverable manner. Avoiding a large investment in an ultimately doomed enterprise is the goal of such prediction. Accordingly, it may be helpful to provide an early detection method for sustainability of a virally marketed facility. Moreover, it may be useful to measure parameters other than outright revenue to predict success. What parameters to measure, other than revenue or net profit, is not at all obvious. Similarly, how to use measured parameters to predict revenue or net profit, for example, may not be obvious.
- Additionally, it may be useful to change a virally marketed facility prior to assuming the facility will not be profitable. Determining what to change and how to change it may be helpful in this regard. Moreover, determining how to implement changes may also be helpful.
- The present invention is described and illustrated in conjunction with systems, apparatuses and methods of varying scope. In addition to the aspects of the present invention described in this summary, further aspects of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
- A method and apparatus for enhancing a virally marketed facility is provided. In one embodiment, the invention is a method of operating a website. The method includes measuring virality of the website. The method also includes determining potential options for increasing virality. The method further includes concurrently executing potential options for increasing virality.
- In an alternate embodiment, the invention is an apparatus for operating a virally marketed facility. The apparatus includes a facility manager coupled to the facility. The apparatus further includes a metric measurement module coupled to the facility manager and to the facility. The apparatus also includes a variation tester coupled to the metric measurement module and the facility manager.
- In another alternate embodiment, the invention is a method of operating a virally marketed facility. The method includes measuring virality of the facility based on a conversion rate and a propagation rate. The method also includes determining potential options for increasing virality. The method further includes executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a system for operating a virally marketed facility. The system includes a processor. Moreover, the system includes a memory coupled to the processor. Also, the system includes a user interface coupled to the processor. Further, within the system the processor is to measure virality of the facility. Moreover, within the system the processor is to determine potential options for increasing virality. Also, within the system the processor is to concurrently execute potential options for increasing virality.
- In yet another alternate embodiment, the invention is a medium embodying instructions, which, when executed by a processor, cause the processor to perform a method. The method includes measuring virality of a website. The method also includes determining potential options for increasing virality. The method further includes concurrently executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a method of operating a virally marketed facility. The method includes measuring virality of the facility. Also, the method includes determining potential options for increasing virality. Further, the method includes concurrently executing potential options for increasing virality.
- In yet another alternate embodiment, the invention is an apparatus for managing a virally marketed facility. The apparatus includes means for measuring virality of the facility. The apparatus also includes means for determining potential options for increasing virality. The apparatus further includes means for concurrently executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a method of operating a website. The method includes initiating the website based on an idea and measuring virality of the website. The method also includes identifying portions of the website for which options for increasing virality may be determined. The method further includes determining potential options for increasing virality. The method also includes concurrently executing potential options for increasing virality. Moreover, the method includes selecting options for increasing virality based on effectiveness. Additionally, the method includes repeating the measuring, identifying, determining, simultaneously executing, and selecting.
- Embodiments of the invention presented are exemplary and illustrative in nature, rather than restrictive. The scope of the invention is determined by the appended claims.
- Embodiments of the invention are illustrated in the figures. However, the embodiments and figures are illustrative rather than limiting, they provide examples of the invention. Limitations on the invention should only be determined from the attached claims.
-
FIG. 1 illustrates a plot of usage against time. -
FIG. 2 illustrates an extended plot of usage against time. -
FIG. 3A illustrates an embodiment of a method of operating a process. -
FIG. 3B illustrates another embodiment of a method of operating a process. -
FIG. 4 illustrates an alternate embodiment of a method of operating a process. -
FIG. 5 illustrates another plot of usage against time. -
FIG. 6 illustrates another alternate embodiment of a method of operating a process. -
FIG. 7 illustrates an embodiment of a system which may be used with the methods described. -
FIG. 8 illustrates an embodiment of a network which may be used with the methods described. -
FIG. 9 illustrates an embodiment of an apparatus for operating a process. -
FIG. 10 illustrates a medium embodying instructions for causing a processor to execute the methods of operating a process. -
FIG. 11 illustrates a plot of virality parameters in three dimensions. -
FIG. 12 illustrates another plot of virality parameters in three dimensions. -
FIG. 13 illustrates a process of distributing invitations for a viral facility. - The present invention is described and illustrated in conjunction with systems, apparatuses and methods of varying scope. In addition to the aspects of the present invention described in this summary, further aspects of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
- The intuitive concept of viral growth in a consumer service product is that by interacting with the product in a natural way, each user brings more than one additional user to the product. A method and apparatus for enhancing virally marketed facilities is provided. In one embodiment, the invention may be understood as including tracking ratios of conversions and propagations, analyzing a virally marketed facility for potential improvements, testing the potential improvements concurrently, and using successful improvement going forward. This may be implemented as a method using automatic or manual operations, as an apparatus operating automatically or with user input, or as a system for example.
- In one embodiment, the invention is a method of operating a website. The method includes measuring virality of the website. The method also includes determining potential options for increasing virality. The method further includes concurrently executing potential options for increasing virality.
- In an alternate embodiment, the invention is an apparatus for operating a virally marketed facility. The apparatus includes a facility manager coupled to the facility. The apparatus further includes a metric measurement module coupled to the facility manager and to the facility. The apparatus also includes a variation tester coupled to the metric measurement module and the facility manager.
- In another alternate embodiment, the invention is a method of operating a virally marketed facility. The method includes measuring virality of the facility based on a conversion rate and a propagation rate. The method also includes determining potential options for increasing virality. The method further includes executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a system for operating a virally marketed facility. The system includes a processor. Moreover, the system includes a memory coupled to the processor. Also, the system includes a user interface coupled to the processor. Further, within the system the processor is to measure virality of the facility. Moreover, within the system the processor is to determine potential options for increasing virality. Also, within the system the processor is to concurrently execute potential options for increasing virality.
- In yet another alternate embodiment, the invention is a medium embodying instructions, which, when executed by a processor, cause the processor to perform a method. The method includes measuring virality of a website. The method also includes determining potential options for increasing virality. The method further includes concurrently executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a method of operating a virally marketed facility. The method includes measuring virality of the facility. Also, the method includes determining potential options for increasing virality. Further, the method includes concurrently executing potential options for increasing virality.
- In yet another alternate embodiment, the invention is an apparatus for managing a virally marketed facility. The apparatus includes means for measuring virality of the facility. The apparatus also includes means for determining potential options for increasing virality. The apparatus further includes means for concurrently executing potential options for increasing virality.
- In still another alternate embodiment, the invention is a method of operating a website. The method includes initiating the website based on an idea and measuring virality of the website. The method also includes identifying portions of the website for which options for increasing virality may be determined. The method further includes determining potential options for increasing virality. The method also includes concurrently executing potential options for increasing virality. Moreover, the method includes selecting options for increasing virality based on effectiveness. Additionally, the method includes repeating the measuring, identifying, determining, simultaneously executing, and selecting.
- The invention, in various embodiments, may be illustrated with reference to methods, apparatuses, and plots of effects or usage of the virally marketed facilities. Virality and other terms associated with viral marketing may have various definitions. For example, virality may be defined as a scalar average number of children (resulting or referred members) from a parent (original or referring member). A virality vector may be similarly defined as the number of children from a parent over time, for example. Virality may also be defined as a the constant in an exponential model of growth in the virally marketed facility. Each of these definitions may be useful at times, and various circumstances may determine which definition to use.
- Typically, behavior over time may be a useful attribute to examine.
FIG. 1 illustrates a plot of usage against time. As illustrated, a current usage level and desired usage level are plotted. The plot illustrates that over time, usage of a website or other virally marketed facility may not meet requirements for feasibility or economic scale. In particular,current level plot 110 is a plot of actual usage over time, whereas desiredlevel plot 120 is a plot of desired usage over time. As illustrated, part of the plot is backward looking, based on collected data, and part of the plot is forward-looking, based on projections and extrapolation. - Similarly,
FIG. 2 illustrates an extended plot of usage against time. As illustrated, usage which is not meeting requirements early may indicate a trend in which usage will turn down and/or taper off at a level significantly below a desired or required usage level.Current level plot 110 drops in magnitude over time, whereas desiredlevel plot 120 rises over time. In practical terms, this may indicate a website or other virally marketed facility is not economically self-supporting, let alone profitable, and thus does not represent a good commercial use of assets. The desiredlevel plot 120 may not necessarily represent a requirement level or tipping point. Rather, a requirement level of usage may be represented as a flat level (absolute magnitude) of usage, or may be represented as a percentage of the desiredlevel plot 120 for example. -
FIG. 3A illustrates an embodiment of a method of operating a process. To avoid lack of usage, a method may be used to operate a process or facility. Method 300 (and all methods of this document) includes modules which may be implemented in a variety of ways, such as steps in a process, process modules, system or apparatus modules, or some other form. Atmodule 310, growth of a website is measured. Atmodule 320, adjustments are made to content of the website. Presumably, the adjustments are intended to increase growth. The process then returns tomodule 310, thus providing a feedback loop and allowing for multiple adjustment cycles. -
FIG. 3B illustrates another embodiment of a method of operating a process. To avoid the problems of lack of usage or to increase usage, a method may be used to operate a process or virally marketed facility.Method 350 includes modules as described above. Atmodule 360, virality (or viral growth of some form for example) of a website is measured. Atmodule 370, adjustments are made to content of the website. Presumably, the adjustments are intended to increase virality. The process then returns tomodule 360, thus providing a feedback loop and allowing for multiple adjustment cycles. - The process of
FIG. 3B may be understood as a variation on a larger process.FIG. 4 illustrates an alternate embodiment of a method of operating a process. Themethod 400 includes modules as described with respect tomethod 300.Method 400 includes implementing an idea as a website, determining whether the implementation grows virally, analyzing alternative options, and adjusting the website. Thus,method 400 may allow for improvements to a website allowing for increased virality. -
Method 400 begins withmodule 410, in which an idea for a website is introduced or provided. Atmodule 420, the idea is implemented as a website. Atmodule 430, virality of the website is measured or otherwise determined. This determination may come in the form of measuring an increase in subscribers, monitoring commentators and chat rooms, or some other form of evaluating public discussion of the website. - If virality needs to be improved, at
module 440 alternatives to the current implementation of the website are analyzed, such as different content. Atmodule 450, adjustments are made to the website. The process then returns tomodule 430, allowing for a feedback process and multiple cycles of updating and measurement. - Virality may be measured in a variety of ways.
FIG. 5 illustrates another plot of usage against time. However, the curves ofFIG. 5 illustrate plots of virality metrics rather than absolute usage. These virality metrics provide an indication of the expected usage trajectory of a website or other virally marketed facility. As illustrated, X is the conversion rate, which is a ratio of total signups in the future to the number of invitations sent in a day. This may also be calculated as the instantaneous or daily signups divided by the total invites sent to generate these signups. This ratio provides an indication of whether invitations are becoming registrations. It requires (in this embodiment) predictive interpretation of registrations, which may be done based on a combination of data from a given site and historical data aggregated from a variety of sites. - Similarly, as illustrated, Y is a propagation rate, which is the average number of invites sent by people who registered on a given day, as used in some embodiments. This may also be called the instantaneous or daily invites divided by the instantaneous or daily signups. Y may also be a ratio of cumulative invites from signups in a day divided by signups in a day in some embodiments. Other metrics for X and Y may be suitable in some situations, typically the measured parameters will provide an indication of whether customers are continuing to generate additional interest from others, and whether interest in the site is continuing to generate additional customers. In some embodiments, the two metrics or factors have some form of positive feedback or reinforcing relationship which provides an indication the facility will grow in usage. The possibility of negative feedback should also be considered.
- As illustrated, the plots of X and Y indicate that the website will continue to grow in usage, thus potentially representing a viable commercial investment. When the product of X and Y at long times becomes less than 1 (decreases or falls below 1), this may indicate the site is no longer likely to grow, and thus is not worth additional resources. In other words, a tipping point may have been reached such that the site should no longer be supported. This type of metric may be applied to any virally marketed facility, such as a subscription based magazine, a consumer service outlet (such as a restaurant for example), or other facility depending largely on viral or word-of-mouth marketing. Moreover, keeping the values of the X and Y factors positive or greater than a certain level (ratios above 1 for example) may be the desired goal, with the expected effect that the site or facility will continue to grow. Success may be defined differently in different circumstances, such that continued growth may be sufficient in some instances, whereas growth above a certain level may be necessary in other instances.
- A virally marketed facility is preferably a facility such as a website which has the property that using the product generates more customers. The ratios measure whether this property is present for a given facility. Tracking these variables and making sure they accelerate, increase, or maintain a desired relationship results in an indication that the facility is virally marketing, and should be profitable assuming solid fundamentals and no unreasonable external pressures (e.g. uninhibited cost growth). Also, in alternate embodiments, invites or registrations may be replaced with contacts, representing contacts with potential customers, as opposed to signups which imply a customer actually visiting the website.
- Various methods may be employed in achieving this goal of increasing growth.
FIG. 6 illustrates another alternate embodiment of a method of operating a process.Method 600 includes initiating a site, measuring performance such as through the metrics ofFIG. 5 , identifying areas and options for improvement, implementing test improvements concurrently, selecting best improvements, and repeating the process.Method 600 is composed of modules suitable for implementing the various portions of the method. - At
module 610, the site (website or other virally marketed facility) is initiated. This may, for example, involve a launch including publicity and fanfare, or a spinoff of another site. Atmodule 620, performance of the site is measured, such as through the metrics described with respect toFIG. 5 . Performance measurements may relate to new user accesses, existing user usage, invitations to new users, or other measurements. Measurements may also relate to increasing revenue streams or renewal/cancellation of subscriptions, for example. Atmodule 630, areas for potential improvement are identified. This may relate to site content, site structure, usability, accessibility, outreach (advertising and rewards programs for example), or other areas. Atmodule 640, potential improvements are considered or created. This may relate to adding content or functionality, shifting portions of a site between a standard and a premium or VIP status, increasing marketing outreach, or other potential improvements for example. - At
module 650, tests of potential improvements are implemented concurrently (preferably close to simultaneously) alongside a control version which is the previous implementation. In some embodiments, concurrent implementation involves implementation of different potential improvements for different, randomly selected users, during the same designated test period (such as the same 48 hour time for example). It has been shown empirically that implementation in parallel or concurrently tends to produce better results for a virally marketed facility. Atmodule 660, best versions of the concurrently implemented tests are selected. This may be a result of identifiable changes in usage or subscriptions for example (such as use of an identifiable coupon or referral for example), or may be a result of inferences drawn from apparent improvements. For sites or facilities that appear to be worth supporting, the method then returns tomodule 620 for measurement of performance, and thus implements feedback. - Some flexibility in ordering of operations may be allowed for, such that measurement of performance may be partially incorporated into selecting best versions at
module 660 for example. Similarly, performance may be measured or best versions may be selected in various different sets of circumstances or along with various modules. Moreover, best versions may allow for spinning off separate facilities or sites based on multiple improvements that either appear to be self-supporting or appear to be mutually incompatible. Portions of the method may be automated in various ways. For example, identification of areas for improvement and standard options for improvement may be automated, along with concurrent testing of these options for improvement. Similarly, evaluation of results may be automated along with selection of best versions. Thus, most of the modules (potentially all) may be automated for some virally marketed facilities such as electronic facilities (e.g. websites). - The following description of
FIGS. 7-8 is intended to provide an overview of computer hardware and other operating components suitable for performing the methods of the invention described above, but is not intended to limit the applicable environments. Similarly, the computer hardware and other operating components may be suitable as part of the apparatuses of the invention described above. The invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. -
FIG. 7 shows several computer systems that are coupled together through anetwork 705, such as the Internet. The term “Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. - Access to the
Internet 705 is typically provided by Internet service providers (ISP), such as theISPs client computer systems ISPs web server 720 which is considered to be “on” the Internet. Often these web servers are provided by the ISPs, such asISP 710, although a computer system can be set up and connected to the Internet without that system also being an ISP. - The
web server 720 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, theweb server 720 can be part of an ISP which provides access to the Internet for client systems. Theweb server 720 is shown coupled to theserver computer system 725 which itself is coupled toweb content 795, which can be considered a form of a media database. While twocomputer systems FIG. 7 , theweb server system 720 and theserver computer system 725 can be one computer system having different software components providing the web server functionality and the server functionality provided by theserver computer system 725 which will be described further below. -
Client computer systems web server 720. TheISP 710 provides Internet connectivity to theclient computer system 730 through themodem interface 735 which can be considered part of theclient computer system 730. The client computer system can be a personal computer system, a network computer, a Web TV system, or other such computer system. - Similarly, the
ISP 715 provides Internet connectivity forclient systems FIG. 7 , the connections are not the same for these three computer systems.Client computer system 740 is coupled through amodem interface 745 whileclient computer systems FIG. 7 shows theinterfaces -
Client computer systems LAN 770 throughnetwork interfaces LAN 770 is also coupled to agateway computer system 775 which can provide firewall and other Internet related services for the local area network. Thisgateway computer system 775 is coupled to theISP 715 to provide Internet connectivity to theclient computer systems gateway computer system 775 can be a conventional server computer system. Also, theweb server system 720 can be a conventional server computer system. - Alternatively, a
server computer system 780 can be directly coupled to theLAN 770 through anetwork interface 785 to providefiles 790 and other services to theclients gateway system 775. -
FIG. 8 shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web server system. Such a computer system can be used to perform many of the functions of an Internet service provider, such asISP 710. Thecomputer system 800 interfaces to external systems through the modem ornetwork interface 820. It will be appreciated that the modem ornetwork interface 820 can be considered to be part of thecomputer system 800. Thisinterface 820 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “Direct PC”), or other interfaces for coupling a computer system to other computer systems. - The
computer system 800 includes aprocessor 810, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor.Memory 840 is coupled to theprocessor 810 by a bus 870.Memory 840 can be dynamic random access memory (DRAM) and can also include static RAM (SRAM). The bus 870 couples theprocessor 810 to thememory 840, also tonon-volatile storage 850, to displaycontroller 830, and to the input/output (I/O)controller 860. - The
display controller 830 controls in the conventional manner a display on adisplay device 835 which can be a cathode ray tube (CRT) or liquid crystal display (LCD). The input/output devices 855 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. Thedisplay controller 830 and the I/O controller 860 can be implemented with conventional well known technology. A digitalimage input device 865 can be a digital camera which is coupled to an I/O controller 860 in order to allow images from the digital camera to be input into thecomputer system 800. - The
non-volatile storage 850 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, intomemory 840 during execution of software in thecomputer system 800. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by theprocessor 810 and also encompasses a carrier wave that encodes a data signal. - The
computer system 800 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects theprocessor 810 and the memory 840 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols. - Network computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the
memory 840 for execution by theprocessor 810. A Web TV system, which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown inFIG. 8 , such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor. - In addition, the
computer system 800 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of an operating system software with its associated file management system software is the LINUX operating system and its associated file management system. The file management system is typically stored in thenon-volatile storage 850 and causes theprocessor 810 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on thenon-volatile storage 850. - Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
- It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- The present invention, in some embodiments, also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language, and various embodiments may thus be implemented using a variety of programming languages.
- Various apparatus may be used in conjunction with the processes described.
FIG. 9 illustrates an embodiment of an apparatus for operating a process. The embodiment illustrated relates to a website, but may be adapted to other embodiments involving other types of virally marketed facilities. The embodiment illustrated includes a website manager, metric measurement, variation generator and variation tester, each of which may interact with a website in various different ways. Moreover, the various modules may be combined or subdivided in various ways consistent with the spirit and scope of the overall embodiments. -
Apparatus 900, as illustrated, represents an embodiment as it may interact with awebsite 910. Thus,website 910 is not included inapparatus 900 as illustrated (though a website may be included in alternate embodiments).Website management module 920 is linked towebsite 910, and provides general management support, such as providing stored customer information from a repository, providing stored content, providing up-to-date links to dynamic content, changing subscriber or customer information, or otherwise handling back-end processing of the website. Data related to website management may be collected bywebsite management module 920. -
Metric measurement module 930 is also linked towebsite 910.Metric measurement module 930 measures performance of thewebsite 910 in relation to viral marketing and growth of the website 910 (such as growth in subscriptions or revenue for example).Metric measurement module 930 thus provides an indication of whether thewebsite 910 is growing as desired or expected. Moreover,metric measurement module 930 may trigger a cycle of changes in thewebsite 910. -
Variation generator 940 is also linked towebsite 910 andwebsite management 920.Generator 940 may receive data fromwebsite 910 directly and/or fromwebsite management module 920. Such data may relate to usage of portions ofwebsite 910 and may also include feedback from customers and an indication of how customers are coming to website 910 (such as by referral, through advertising, search engine, or another method for example).Generator 940 may then mine this data to determine potential areas for improvement ofwebsite 910, and generate potential changes or variations based on this data. In some embodiments,generator 940 operates to constantly determine potential variations, whereas in other embodiments,generator 940 operates in response to a trigger signal frommetric measurement module 930. Such a trigger may be transmitted throughwebsite management module 910, or transmitted directly for example. -
Variation tester 950 is linked towebsite 910,generator 940 andmetric measurement module 930.Tester 950 may use variations fromgenerator 940 responsive to a signal frommeasurement module 930 and may thus concurrently test the variations on thewebsite 910. Results from the acts oftester 950 may determine which variations should be implemented and which should be discarded or held until later implementation.Tester 950 may gather data indicating the effectiveness of variations, or it may simply implement the variations, withmetric measurement module 930 gathering the relevant data. Note that an example of two combined modules may involve a combination ofmanagement module 920 andmetric measurement module 930 as a single module, for example. -
FIG. 10 illustrates a medium embodying instructions for causing a processor to execute the methods of operating a process. A medium may be a single piece of media or a collection of media, without materially changing the medium. Typically, the medium will be machine-readable. -
Medium 1000 includes awebsite manager 1010,measurement module 1040,variation generator 1030, andvariation implementer 1020.Website manager 1010 manages a website (not shown), providing general management support, such as accessing stored customer information from a repository, supplying stored content, supplying up-to-date links to dynamic content, modifying subscriber or customer information, or otherwise handling back-end processing of the website. In some embodiments, data related to website management may be collected bywebsite manager 920. -
Measurement module 1040 is also linked to the website.Measurement module 1040 measures performance of the website in relation to viral marketing and growth of the website.Measurement module 1040 thus provides an indication of whether the website is growing as desired or expected. Also,measurement module 1040 may trigger a cycle of changes in the website, such as testing of variations of the website for example. -
Variation generator 1030 is linked to the website.Variation generator 1030 may receive data from the website directly and/or fromwebsite manager 1010. Such data may relate to usage of parts of the website, an indication of how customers are coming to the website (such as by referral, through advertising, search engine, or another method for example), and an indication of customer/user feedback. -
Variation generator 1030 may mine this data to determine potential areas for improvement of the website, and accordingly generate potential changes or variations to the website. In some embodiments,variation generator 1030 operates in response to a trigger signal frommeasurement module 1040, whereas in other embodiments,variation generator 1030 operates to constantly determine potential variations. A trigger may be transmitted throughwebsite management module 1010, or transmitted directly for example. -
Variation tester 1020 tests variations fromvariation generator 1030 on the website.Variation tester 1020 may use variations fromvariation generator 1030 responsive to a signal frommeasurement module 1040 and may thus concurrently test the variations on the website. Results from the acts ofvariation tester 1020 may determine which variations should be discarded and which should be implemented.Variation tester 1020 may gather data relating to effectiveness of variations, or it may simply implement the variations, withmeasurement module 1040 gathering the relevant data. - While specific embodiments have been described, other methods and apparatuses for enhancing virality may be used as well. The following appendices provide further details of various embodiments. These embodiments share some features with embodiments described above, and provide other features not previously described.
- Appendix A—A Mathematical Treatment of Enhancing Viral Growth
- The intuitive concept of viral growth in a consumer service product is that by interacting with the product in a natural way, each user brings more than one additional user to the product. In this appendix, mathematical techniques that may be used to understand, predict, and ultimately improve the virality spread of a wide range of amenable products are described.
- First basic notation is provided. The rate of acquiring new users will be denoted by x(t). If there is long-term recurring revenue, the total user base u(t)=∫x(t)dt may be of substantial importance, but regardless, viral sites are about growth: x(t) is the quantity of primary interest.
- Relationships between individuals may be understood by using the nomenclature of the family tree. When one individual induces another to use the product, the former is referred to as the parent, and the latter as the child. Should the child subsequently induce another individual to register, then in the context of that relationship she becomes the parent, and this newest user is the child.
- Furthermore, a steady-state assumption is made, so that the behavior of a user is independent of the date of registration, or any of the parent's statistics. This assumption is easy to attack. On short timescales, user behavior will vary with the day of the week, and in response to seasonal events such as holidays. On longer timescales user behavior is expected to change as the product becomes more well-known, as the offering is changed, as competitors enter the market, or as the market becomes saturated. Finally, one would not be surprised to find couplings in the behavior of users who are closely related.
- However, the steady-state assumption is very good for the purposes of intermediate-term modeling of viral growth. As described below, the short-term periodic weekly variations can be accounted for in a straightforward manner that is consistent with the development given here. The cases studied show little coupling in the viral aspects of the behavior of closely related users. In the case where long-term trends are evident, these may be incorporated into a model quite easily, though in the cases studied such fluctuations have been unsystematic and difficult to foresee. However, it is the intermediate term which is often of greatest importance for managing a business. For that perspective, the models based on the steady-state assumption have proven to be very meaningful.
- Given the steady-state assumption, the registration rate grows as a simple exponential, which we write as
-
x(t)=x 0 e αt - One useful metric of virality is a measure of how many descendant users each user produces, on average, after a given time t.
- The time development of virality is denoted as
-
v(t) - Virality typically increases monotonically. Also, one may assume that on average virality grows asymptotically toward a constant, such that
-
- It may be useful to relate α, the rate of viral growth, to the time development of the virality. The time-derivative of the virality function, v′(t), describes the average rate at which a parent will generate children. Thus the future growth is determined by the convolution of all previous growth with v′(t). This may be considered the steady-state virality assumption, and may be formulated as
-
x(t)=∫0 t v′(τ)(x(t−τ)dτ - Using this relation, one can solve for the time constant of viral growth in terms of the virality, which may be measured empirically. Substitution gives
-
x 0 e αt=∫0 t v′(τ)x 0 e α(t−τ) dτ -
So, -
1=∫0 t v′(τ)e −ατ dτ - Since
-
- one may take the liberty of extending this integral to infinite bounds as
-
1=∫0 ∞ v′(τ)e −ατ dτ - This is may be considered the Fundamental Viral Relation. Future growth in new users is exponential, and its time constant α may be solved numerically given a measurement of v(t). In practice, availability of data may set the upper limit of the integral.
- The real world runs on various interlinked periodic schedules, of which the day, the week, and the year are of importance for modeling consumer businesses. In reality, x′(t) is not an exponential, but may vary with the hours of the day and the days of the week. In the long-run, however, constant viral growth must take an exponential form. That means that if one discretizes growth on a scale large enough to average-out fluctuations, the discrete quantity will take the form
-
xn=x0eαn - This discretized expression is believed to be exact, not an approximation of the continuous case. The week is a good timescale to work with, as there are substantial fluctuations between days within it. So many external factors change over the course of a year that this scale is not practical. One particularly useful way to look at things is to use a weekly discretization, but compute overlapping models based on each possible starting day (such as a seven-day moving average). This removes fluctuations within the week while providing daily update resolution.
- The steady-state assumption is empirically valid for weekly discretizations. It is also valid in models with a distinct daily discretization of v(t) for each day of the week.
- As this approach uses discrete models to look at viral growth, it is straightforward to cast the fundamental viral relation in a discrete form. One must then predict the future v′(t) for users registered in the present.
- Stationarity is useful here. A potentially useful way to do this is to estimate v′(t) for a given day as the number of new users whose parent registered t days previously divided by the total number of new users on that day t days previously. This calculation may be done equally well in terms of weeks rather than days, and in fact this measure is potentially more useful since it removes intra-week fluctuations. The discretized measure of virality may be known as the Virality Vector.
- Having measured virality, most directly by computing the viral timescale α, another goal is to improve it. Improving virality proceeds through an iterative optimization process. One may measure the effects of product changes and variations on α using concurrent tests in which groups of users are simultaneously exposed to different versions of the product. Ultimately, one seeks to maximize the rate of growth α.
- While the true form of the virality v(t) can be measured empirically, it derives from the intricacies of user behavior, and so is not given by simple analytical expressions. Nonetheless, approximating it as such can be very helpful in understanding viral product dynamics.
- In practice, one may find that the virality vector is quite well approximated by
-
v′(t)=ae −t/b +c - In this case the fundamental viral relation may be solved exactly. The solution can be illuminating in that it shows how for c>0, a history of active use can provide a cushion that sustains future growth even when one might expect exponential decline on the basis of short-term statistics. In particular consider the solution
-
-
- when graphed, one sees a plateau for small a and b, rather than a plunge into negative growth
-
FIG. 11 illustrates this plot, using Mathematica software with a request of -
- If the emphasis is on increasing growth, the c term may safely be neglected. In this case the solution for α becomes even simpler
-
α=a−1/b - This expression is unforgiving, permitting exponential decline as well as growth.
-
FIG. 12 illustrates this plot, using Mathematica software with a request of Plot3D[a−1/b, {a, 0.2, 0.5}, {b, 2.0, 4.0}] - It may also be useful to plot the time-trajectory of the virality on this surface.
- Because the parameters a and 1/b relate so naturally to the viral timescale α, it makes sense to estimate these values from the virality vector and to isolate each one for improvement. Viral growth is given most directly by its rate, denoted by the single parameter α. However, α may not be measured directly. Rather it is calculated from the virality vector v′(t), which is more straightforward to measure, but difficult to optimize on account of its vector nature. The parameters provide a more intuitive goal or set of goals for viral optimization.
- In many cases, it helps to break down the viral cycle in a number of linked steps, each of which may be optimized individually. This breakdown is product specific, so one may take a viral web site that spreads through e-mail as an example.
- In this case, users receive an invitation e-mail requesting them to respond to the site and register. Once registered users are encouraged to refer others to the site, generating an e-mail and completing the viral loop. In the first step, one has a response rate to the e-mail. In fact, the cumulative response rate is a function of time, x(t), which increases monotonically as more individuals respond. Like v(t), x(t) may also be approximated in order to give it more intuitive meaning.
- For example, one might write
-
x′(t)=a x e −t/bx - In this example, the average number of invitation e-mails generated by a user is denoted as y(t). Similarly, one may make an analytical approximation
-
y′(t)=a y e −t/by - The parameters x, y, and their decompositions to subparameter vectors [ax, bx] [ay, by] provide a more direct way of optimizing for viral growth. For example a small change in the content of the web site that gets users more engaged might be expected to make a great impact on the number of invitations sent, but have little impact on the response rate.
- Since [ay, by] can be measured more easily and with less error than [a,b], one can optimize on these subparameters and expect to achieve improvement in viral growth.
- The discussion above describes the core mathematical concepts underlying an approach to virality. Practical application of these ideas to drive users to the product typically involves a continued dedication to an iterative cycle of testing and improvement.
- The assumptions that go into this understanding of viral growth should be checked for each new business implementation. Moreover, the steady-state assumption must hold on the timescale of the discretization. Where the virality or its component steps are parametrized, care must be taken to ensure that the analytic form corresponds well with measurement.
- The parameters a and 1/b both serve as guides, and in some cases the one can be measured more readily than the other. Similar subparameters may be computed for steps in the viral process to aid in evaluating test performance. Ultimately, the object of viral optimization is the exponential growth rate α.
- Appendix B—An Extended Complementary Approach
- Viral optimization is potentially applicable to any product through whose use one individual might encourage another new person to become a user. The particular example of this section is in the area of online consumer websites, but one might apply these techniques to applications both online and offline, and where the customers are either individuals or businesses.
- When one user creates more than one additional user by interacting with the product, then both the total user base and the rate at which new users are acquired grow exponentially, with daily registrations taking the approximate form of eαt. In this embodiment, it is merely important to realize that the single parameter of greatest interest is the rate of viral growth α.
- Viral growth is extremely powerful when it works. Product ideas that appear to be naturally viral often can get quite close to true viral growth on a first attempt. Preferably, one subsequently modifies-and improves the product in order to achieve viral growth. Viral optimization is a process for getting from a good idea and an intelligent first-implementation of the product to sustained viral growth and millions of users. One approach combines a heavy dose of both left- and right-brain activity in an optimization cycle. The optimization process begins with numbers. In addition to the viral growth rate α, one may also measure a number of “subparameters” that describe how different parts of the user product contribute to the overall growth. Once the initial numbers are obtained, test improvements are then developed. Often, a look at the numbers, combined with a careful examination of the product will immediately suggest changes. However, imagination and creativity can help tremendously at this stage. Alternatively, a menu of standard improvements may also be applied in an essentially mechanical manner.
- When developing a viral product it is often important to let the numbers inform product decision making. Rater than choosing to implement the improvement that seems best on the basis of ones intuition, one should implement a variety of similar but incompatible test improvements as different versions of the product. Numerous test versions can be put online simultaneously, each being experienced by a different group of randomly assigned users. One subsequently measures viral growth and viral subparameters of each version. Winners are selected and appraised for their merits and losers scrutinized for their faults. The cycle of optimization may then be repeated by making variations to the best performing versions, taking into account the lessons of previous tests. Such lessons may be stored in a database allowing for automatic access and interpretation.
- In the following paragraphs, details behind viral optimization are further illuminated. The viral loop can generally be broken down into a number of modules. Starting from an invitation e-mail one measures the probability with which a user responds to the site to register. In some cases, the registration process involves multiple steps, all of which must be completed before the user is ready to invite others. Once a user completes the registration, one measures the number of invitation e-mails generated to others who are not registered. In some cases, one may track attempts to connect with previously registered users, but these will not lead to growth. Principal subparameters of the viral process are listed below.
-
Name Description - Average of x Conversion from invite to registration τx time to respond to an invite y number of invites sent by registered user τy time to generate an invite v number of children per parent τv time to create a child user Other Conversion from e-mail to site Conversion from site visit to registration - All of the viral subparameters may be considered as functions of time, and in the limit of long times. For example, an invite often sits in a recipient's mailbox for several hours before it is read. Thus, the response rate, x, rises over the course of hours and days. However, after about a week, the response rate stabilizes as the majority of people have seen the invite and chosen whether or not to respond. This limit provides a scalar formulation of x.
- All of the viral subparameters and the virality itself can be calculated as functions of time. When looking back at collected data, one takes a beginning date and an ending date. For example, for x, one can divide the number of responses to invitations sent on the beginning day which generated a registration by the ending day by the total number of invitations sent on the beginning day. This gives the time development of x for the beginning day. Note that a discretization interval of one day may just as well be replaced with one hour or one week.
- It may also be useful to bin the data to account for intra-week fluctuations. Rather than considering a beginning day and an ending day, one considers a reference day and interval of days. This interval is analogous to the number of days between the beginning day and the ending day described previously. For x, divide the number of responses to invitations sent in the week prior to the reference day that generated a registration within a number of days relative to the day on which the respective invite was sent that is less than the interval by the total number of invitations sent in the week prior to the reference day. Binning may be done on any time scale, but multiples of weeks are most useful as they smooth out the most significant periodic fluctuations.
- This calculation may be generalized using the notion of events. For x, the beginning event is when the child receives the invite, and the ending event is when the child completes the registration. One can break down the viral process into a number of events, assigning descriptive group identifications to each as they relate to particular users.
FIG. 13 illustrates the events in a simple viral process with a single loop. -
FIG. 13 illustrates aprocess 1300 occurring for a parent and aprocess 1325 occurring for a child.Process 1300 relates to a parent receiving an invite and registering with a viral facility. Atmodule 1310, a parent receives an invite. Atmodule 1320, the parent views the invite. Atmodule 1330, the parent views a registration page. Atmodule 1340, parent registration is completed. Atmodule 1350, an invite is sent to a child responsive to the parent registration. For example, a parent may supply contact information for a potential child member as part of the registration process or at a time thereafter. -
Process 1325 relates to a child receiving an invite as a result of parent registration ofprocess 1300, and registering with the viral facility. Responsive tomodule 1350, at module 1355 a child receives an invite to a viral facility. Atmodule 1365, the invite ofmodule 1355 is viewed. Atmodule 1375, a corresponding registration page is viewed. Atmodule 1385, child registration is completed and the child is enrolled in the viral facility. Correspondingly atmodule 1390, registration of the child is reflected with respect to the parent inprocess 1390. - Accordingly, a parent may be enrolled as a member or user in a viral facility. Following that, the parent may provide contact information for potential additional members (child members). Next, the potential child member(s) are sent invitations, and the potential child member(s) may enroll in the viral facility.
- The process described for computing x may be used to compute the other subparameters, merely by replacing the numerator and denominator of the conversion with the respective events. Some calculations are listed below:
-
Subparameter Numerator Denominator X Registration completed Invite received e-mail open rate Invite viewed Invite received e-mail clickthru Registration page viewed Invite viewed registration Registration completed Registration page conversion viewed Y Invite sent to child Registration completed v: reg. to reg. Child registration completed Registration completed v: invite to invite Invite sent to child Invite received - (The assumption of notation is made that all invites sent are received. Invites that are not received, due to email reliability problems for example, are factored into the response rate.)
- Timescales of subparameters (e.g., τx) may be computed by weighting each term in the numerator by the time difference between beginning and ending events. Timescales are potentially important since a viral loop composed of chained steps with subparameters {qi,τq,i} typically has an exponential growth rate approximated by ((Πqi)−1)/(Σ τq,i).
- The method described for computing the time dependence of subparameters is forward-looking, in that when one calculates statistics with reference to the beginning day, one must wait until the ending day in order to make the measurement. This may be called a begin-referenced conversion. Another useful way to compute conversions is to reference the time-development of a variable to the ending day. In the simple single-day reference model this merely constitutes a reassignment of the reference day from beginning day to ending day. For the binned computation, one weights the average of the begin-referenced conversions for intervals ending in the week prior to the reference day by the denominator of that conversion. The binned end-referenced conversion may also be computed directly by algebraic transformations of this computation.
- Another potentially useful transformation is to compute derivatives of begin-referenced and end-referenced conversions with respect to the interval. This is done by assigning the difference between the ith interval and it i+1th interval to the ith differential conversion. One can also compute a differential binned end-referenced conversion by weighting the average of the differential begin-referenced conversions for intervals ending in the week prior to the reference day by the denominator of that conversion in the original begin-referenced conversion. A form of the cumulative end-referenced conversion may then be recovered by assigning the sum of the 1st interval through the ith interval to the ith interval of the differential computation of the cumulative end-referenced conversion. Algebraic manipulations give alternate steps for computing this quantity.
- In another form of these computations, the basis discretization interval of one day is replaced with a basic discretization interval of one week.
- End-referenced versions can be useful predictors of future performance when stationarity holds. This appears to be generally true of the binned conversion that smoothes out short-term periodicity. Potentially, the differential computation of the cumulative end-referenced conversion provides the greatest predictive power.
- The viral timescale can be computed by numerically solving the fundamental viral relation. For v′(t), one takes the differential end-referenced conversion from parent registration to child registration with a basis of one week. While this measure has been found to be most meaningful in some embodiments, one can also use the differential end-referenced conversion from parent to child with a basis of one day and a binning of one week, or the differential end-referenced conversion from parent to child with a basis of one day and no binning.
- The central reason for studying and analyzing virality is predicting the future course of registrations, and thus business growth. The exponential rate of viral growth, α, is potentially useful in that it gives a useful steady-state picture, but growth becomes more complicated when other marketing efforts inject more users into the viral loop. One can predict future registrations using an autoregressive model with defined injections. That is, suppose there are ri registrations on the ith day, and suppose that days 1, . . . , n have elapsed, so that days n+1, . . . denote the future. If we assume that mechanisms outside the viral loop inject qi users on the ith day, for i>n, then we may predict future registrations as ri=(S ri−j×v′j)+qi, where the sum is taken for j=1, . . . , as far as data is available and i>n.
- This model makes several assumptions. For one, all generations are assumed to be the same. This should be checked by computing the virality vector v′(t) for child users as a function of the number of generations separating them from a “seed” user, one who was introduced from outside the viral loop. Another assumption which must be checked is that there are no correlations between the virality vectors of parent and child. If either of these correlations are found, corresponding adjustments may be introduced into the model.
- Additional modeling may identify slow long-term trends in the virality vector. For example, word-of-mouth may drive brand recognition to increase conversion of an e-mail invite. Another trend might be saturation, in which fewer new people are invited because many have already registered. Such trends may be identified by regression analysis or related time series analysis techniques, and the findings incorporated into the model outlined above.
- Systematic improvement of virality involves, in some embodiments, measuring the effect of various changes to the product on the viral timescale and on the viral subparameters. However, sequential tests are complicated by nuisance variables, such as the day of the week, or the particular part of the country that the web site is hot in, which introduce uncertainty into comparisons. Whenever possible, it is desirable to run multiple versions of the web site concurrently, such that the same nuisance variables enter all test versions.
- One may consider the case of e-mail invite copy in detail. A set of tests might consist of several subject lines, background colors, and sales pitches. For example, if there are four different versions within each test, then there are a total of 64 (i.e., 4×4×4) possible versions. It is possible to generate all possible combinations automatically, and to assign each user to a category using a random number generator or a hash function.
- After collecting data, one may compute the begin-referenced viral subparameters for each test category. The subparameter most directly affected by the e-mail tests is x, the conversion from invite to registration, but a user's experience during the process of being invited might influence her likelihood to invite others. Thus, the subparameter v should be scrutinized as well, and may provide the final figure of merit for a particular version.
- A key consideration in designing tests is the availability of data. It is potentially important to compute standard errors for the conversions. It is standard statistical knowledge that the variance of an estimated mean <x> is estimated as (<x2>−<x>2)/N, where N is the number of data points. While there is no general rule for how much data must be acquired to give statistically significant results, previous experience with the site can serve as a guide. In general, one will get statistically significant results more quickly by dividing the users among fewer tests. A variety of significance tests may be applied to guide final decision making. Standard statistical methods include the t-test, the F test, Scheffé's method, the Tukey method, Duncan's multiple range test, and the Newman-Keuls test among others.
- It is important to always keep in mind that there may be correlations between individual test items, for example, one e-mail body may perform better with a particular subject line. Such correlations also can cross elements being tested. For example, a registration page may perform better when paired with an invite with the same color background. When enough data is available, it may be worthwhile to undertake an analysis of covariance between different items being tested. When the ability to collect data is limited, one may make the (perhaps hopeful) assumption that any correlation effects are small. However, there is no a priori reason to believe that this will be the case. If a measure of covariance indicates that there is a correlation in effect between the elements being tested, it may make sense to apply factor analysis within the concurrent testing paradigm to design and execute an efficient optimization strategy.
- Appendix C—An Exemplary Event Architecture
- The following is an exemplary embodiment of data structures which may be used to measure virality in conjunction with tests of a website or other potentially viral facility.
- Concurrent testing is the primary mechanism for improving viral web sites in this embodiment. The event architecture described presents a uniform standard for recording information relevant to concurrent tests. A shared analysis backend then provides the tools for displaying test results and for informing decisions.
- The following tables may be provided, such as in a single tar file. In one embodiment, all of the tables provided to the shared analysis backend will clear any data previously existing in those tables. In such an embodiment, stored results need not be cleared automatically.
-
-
Test description table: test_desc Table test_desc testid INT A /* unique test identifier */ description VARCHAR(255) /* Text description of test */ - The test_desc table gives a plain-text description of each test.
-
Test category description table: test_cat_desc Table test_cat_desc testid INT /* The test in question */ testcategory INT /* A category identifier, unique within each test */ description VARCHAR(255) /* Text description of test category */ - The test_cat_desc table gives a plain-text description of each category for within each of the tests.
-
Web site step group description table: group_desc Table group_desc eventgroup INT /* A unique process step (group) identifier */ description VARCHAR(255) /* Text description of step */ - The group_desc table relates the eventgroup identifier to a plain-text description of the part of the process that this identifier refers to (e.g., viewed invite, registered, etc.)
-
Computation instruction table: conversion_compute Table conversion_compute testid INT /* Identifier of test for which to compute conversion */ conversion VARCHAR(255) /* Eventgroups to compare in form denominator:numerator */ comptype INT /* Reserved */ description VARCHAR(255) /* Text description of step */ - The conversion_compute table gives a list of computations to be made. The dependent eventgroup is represented by numgroup and the independent eventgroup is represented by denomgroup. The ratio of the two is computed.
-
Event data table: events Table events eventid INT /* A unique event identifier */ dateref DATE /* Timestamp for the event */ - The events table associates discrete events with a date and time. For the purposes of different tests each event may be associated with any number of users and processes.
-
Event assignment data table: event_test_ref Table event_test_ref eventid INT /* Reference to specific event */ userid INT /* Unique identifier relating event to a particular individual */ eventgroup INT /* Eventgroup in the context of user identified by userid */ testid INT /* Identifier of relevant test */ testcategory INT /* Category assignment within referenced test */ - The event_test_ref describes how events relate to particular tests. The userid is sometimes used for grouping responses.
- A sample implementation is provided in order to demonstrate the data format. Suppose only one test, the invite test is used. Then there is only one row in the test description table.
- Contents of file test_desc.csv
- as (testid, description)
- 1,Invite Test—January
- The test categories refer to different variations of the test. In this case, there are four design versions.
- Contents of file test_cat_desc.csv
- as (testid, testcategory, descriptions)
- 1, 1, iBook Girl design
- 1, 2, Beach design—white text
- 1, 3, Laughing People design
- 1, 4, Beach design—black text
- Before building the event table, we have to assign groupid numbers to the different steps in the viral process.
- Contents of file group_desc.csv
- as (eventgroup, description)
- 1, User sent invite
- 2, User received invite
- 3, User completed registration
- 4, User's child completed registration
- It is assumed that a good pseudorandom algorithm or hash function has been used to assign each user to a test category which specifies which sort of invite e-mail they are to receive. If users are not exposed to the test (i.e., they do not receive an invite during the duration of the test), then they are not assigned a category and are excluded from the analysis.
- Whenever an invite goes out, the web site must generate one event and two references to that same event. These both go into event_test_ref with the following forms:
- For the person sending the invitation:
-
eventid: /* identification number of the invitation event */ userid: /* inviting user's userid */ eventgroup: /* 1 */ testid: /* 1 */ testcategory: /* type of e-mail parent received when invited. */ - One must not generate the event reference if the parent never received an invitation, or if the parent received an invitation in the context of a previous test.
- For the person receiving the invitation:
-
eventid: /* identification number of the invitation event */ userid: /* userid of person receiving the invitation */ eventgroup: /* 2 */ testid: /* 1 */ testcategory: /* type of e-mail that child is about to receive. */ - Whenever a user completes the registration process the web site generate one event and up to two references as follows:
- For the person registering:
-
eventid: /* identification number of the registration event */ userid: /* userid of person registering */ eventgroup: /* 3 */ testid: /* 1 */ testcategory: /* type of e-mail invite that this user is responding to. */ - Again, it does not generate the event reference if the person registering never received an invitation in the context of the present test.
- For the parent of the person registering:
-
eventid: /* identification number of the registration event */ userid: /* userid of parent of registering child */ eventgroup: /* 4 */ testid: /* 1 */ testcategory: /* type of e-mail that the parent received when invited. */ - Again, it does generate the event reference if the parent never received an invitation, or if the parent received an invitation in the context of the present test. The tables below provide a flavor of some sample data.
- Contents of file events.csv
- as (eventid, dateref)
- 1, 2004-02-12 10:58:14
- 2, 2004-02-12 19:45:07
- 3, 2004-02-12 19:45:50
- 4, 2004-02-12 00:00:00
- 5, 2004-02-12 16:22:36
- 6, 2004-02-12 22:11:20
- 7, 2004-02-12 22:12:02
- 8, 2004-02-12 00:00:00
- 9, 2004-02-12 21:26:35
- 10, 2004-02-13 08:02:30
- Contents of file events_test_ref.csv
- as (eventid, userid, eventgroup, testid, testcateogry)
- 1, 984, 2, 1, 3
- 2, 985, 2, 1, 2
- 3, 986, 2, 1, 1
- 4, 984, 3, 1, 3
- 5, 984, 1, 1, 3
- 6, 984, 1, 1, 3
- 6, 987, 2, 1, 4
- 7, 984, 1, 1, 3
- 7, 988, 2, 1, 2
- 8, 986, 3, 1, 1
- 9, 987, 3, 1, 4
- 9, 984, 4, 1, 3
- 10, 987, 1, 1, 4
- 10, 989, 2, 1, 1
- The last thing that needs to be provided is a list of the conversions that we are interested in calculating.
- Contents of file conversion_compute.csv
- as (testid, conversion, comptype, description)
- 1, 2:3, 0, X—Conversion from invitation to registration
- 1, 3:1, 0, Y—Number of invites sent per registered
- 1, 2:1, 0, V—Number of subsequent invites generated from initial invite
- 1, 3:4, 0, V—Number of children generated by registering user.
- On the first line one measures the conversion from invite to registration by looking at a conversion on a per-user basis between
eventgroups - While the event data format often provides a very comprehensive set of information in a format that is particularly accessible for evaluating the results of concurrent tests, another format is better for making long-term projections of viral growth.
- The basic inv_reg table records invites, registrations, and connections between existing users where appropriate. The table format is as below:
-
Table inv_reg iid INT AUTO_INCREMENT NOT NULL PRIMARY KEY /* A unique row identifier */ tid INT NOT NULL /* Identifier representing the target (i.e., child) user id or e-mail addresses */ pid INT /* Identifier representing a parent registered account. (NULL when target user registers uninvited) */ date_inv DATETIME /* Date user invited (NULL when target user registers uninvited) */ date_reg DATETIME /* Date registered (NULL if the target user has not registered or did not register in response to the invite referenced in this row) */ - Rows may represent any of the following:
- An invitation (date_inv not null, date_reg null if unregistred, pid not null)
- A registration from outside network (date_inv null, date_reg not null, pid null)
- A link initiated or formed to a registered user (date_inv not null, date_reg null, pid not null)
- For any given tid, there should be only one row in which date_reg is not NULL, so that the response to the invite is credited to only one parent. A consistent but arbitrary rule should be applied to the case where a user was invited multiple times before registering. Some options are to track the e-mail which was followed through to registration, crediting the first invitation, or crediting the last invitation.
- When updating the inv_reg table the website application may either furnish all rows, or only those that are updated. In the latter case the iid column is used to as a unique primary key which is used to replace updated entries.
- From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. For example, the disclosed methods and apparatuses have been described primarily in terms of use with websites, while facilities of many different forms may be managed in the same manner. In some instances, reference has been made to characteristics likely to be present in various or some embodiments, but these characteristics are also not necessarily limiting on the spirit and scope of the invention. In the illustrations and description, structures have been provided which may be formed or assembled in other ways within the spirit and scope of the invention.
- In particular, the separate modules of the various block diagrams represent functional modules of methods or apparatuses and are not necessarily indicative of physical or logical separations or of an order of operation inherent in the spirit and scope of the present invention. Similarly, methods have been illustrated and described as linear processes, but such methods may have operations reordered or implemented in parallel within the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
Claims (35)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/026,970 US20110178851A1 (en) | 2004-03-10 | 2011-02-14 | Enhancing virally-marketed facilities |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55240604P | 2004-03-10 | 2004-03-10 | |
US11/000,707 US7974868B2 (en) | 2004-03-10 | 2004-11-30 | Enhancing virally-marketed facilities |
US13/026,970 US20110178851A1 (en) | 2004-03-10 | 2011-02-14 | Enhancing virally-marketed facilities |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/000,707 Continuation US7974868B2 (en) | 2004-03-10 | 2004-11-30 | Enhancing virally-marketed facilities |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110178851A1 true US20110178851A1 (en) | 2011-07-21 |
Family
ID=34829580
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/000,707 Active 2029-02-16 US7974868B2 (en) | 2004-03-10 | 2004-11-30 | Enhancing virally-marketed facilities |
US13/026,970 Abandoned US20110178851A1 (en) | 2004-03-10 | 2011-02-14 | Enhancing virally-marketed facilities |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/000,707 Active 2029-02-16 US7974868B2 (en) | 2004-03-10 | 2004-11-30 | Enhancing virally-marketed facilities |
Country Status (2)
Country | Link |
---|---|
US (2) | US7974868B2 (en) |
EP (2) | EP1574979A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241580A1 (en) * | 2009-03-19 | 2010-09-23 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US8510651B1 (en) * | 2011-10-18 | 2013-08-13 | Amazon Technologies, Inc | Page editing and trial of network site |
USRE44905E1 (en) | 2006-08-16 | 2014-05-20 | Tagged, Inc. | User created tags for online social networking |
US20140180676A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Named entity variations for multimodal understanding systems |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974868B2 (en) * | 2004-03-10 | 2011-07-05 | Tagged, Inc. | Enhancing virally-marketed facilities |
US7353034B2 (en) | 2005-04-04 | 2008-04-01 | X One, Inc. | Location sharing and tracking using mobile phones or other wireless devices |
US8560385B2 (en) | 2005-09-02 | 2013-10-15 | Bees & Pollen Ltd. | Advertising and incentives over a social network |
US20070282675A1 (en) * | 2006-05-30 | 2007-12-06 | Kivin Varghese | Methods and systems for user-produced advertising content |
US20080052147A1 (en) * | 2006-07-18 | 2008-02-28 | Eran Reshef | System and method for influencing public opinion |
US11232475B2 (en) | 2006-09-12 | 2022-01-25 | Selligent, Inc. | Systems and methods for influencing marketing campaigns |
US8140376B2 (en) * | 2006-09-12 | 2012-03-20 | Strongmail Systems, Inc. | System and method for optimization of viral marketing efforts |
US10489747B2 (en) * | 2008-10-03 | 2019-11-26 | Leaf Group Ltd. | System and methods to facilitate social media |
US20110029516A1 (en) * | 2009-07-30 | 2011-02-03 | Microsoft Corporation | Web-Used Pattern Insight Platform |
US9413557B2 (en) * | 2010-06-18 | 2016-08-09 | Microsoft Technology Licensing, Llc | Pricing in social advertising |
US8843394B2 (en) * | 2010-06-18 | 2014-09-23 | Microsoft Corporation | Mapping identifiers |
US9324093B2 (en) * | 2010-10-28 | 2016-04-26 | Yahoo! Inc. | Measuring the effects of social sharing on online content and advertising |
US20120116871A1 (en) * | 2010-11-05 | 2012-05-10 | Google Inc. | Social overlays on ads |
CA2823208C (en) | 2010-12-28 | 2019-03-05 | Google Inc. | Targeting based on social updates |
US20130030868A1 (en) * | 2011-07-25 | 2013-01-31 | Cbs Interactive, Inc. | Scheduled Split Testing |
US9021110B2 (en) | 2011-11-02 | 2015-04-28 | Cbs Interactive, Inc. | Consistent association of a user ID with a user |
US8880629B1 (en) | 2012-06-18 | 2014-11-04 | Kabam, Inc. | Dynamically providing system communications tailored to individual users responsive to trigger events in virtual spaces |
US8661043B1 (en) * | 2012-08-14 | 2014-02-25 | Microsoft Corporation | Distributed feature selection in social networks |
US9491038B2 (en) * | 2013-02-21 | 2016-11-08 | Microsoft Technology Licensing, Llc | Content virality determination and visualization |
US9098387B1 (en) | 2013-02-22 | 2015-08-04 | Kabam, Inc. | System and method for providing a customized user experience based on a spend frequency of a user |
US9779424B1 (en) * | 2013-03-15 | 2017-10-03 | Groupon, Inc. | Generic message injection system |
US9756370B2 (en) | 2015-06-01 | 2017-09-05 | At&T Intellectual Property I, L.P. | Predicting content popularity |
Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112181A (en) * | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6149441A (en) * | 1998-11-06 | 2000-11-21 | Technology For Connecticut, Inc. | Computer-based educational system |
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
US20010020231A1 (en) * | 2000-04-24 | 2001-09-06 | Desktopdollars.Com | Marketing System and Method |
US6306033B1 (en) * | 1999-03-23 | 2001-10-23 | Square Co., Ltd. | Video game item's value being adjusted by using another item's value |
US20020042733A1 (en) * | 2000-10-11 | 2002-04-11 | Lesandrini Jay William | Enhancements to business research over internet |
US6381635B1 (en) * | 1998-11-19 | 2002-04-30 | Ncr Corporation | Method for displaying multiple performance measurements of a web site using a platform independent program |
US20020103698A1 (en) * | 2000-10-31 | 2002-08-01 | Christian Cantrell | System and method for enabling user control of online advertising campaigns |
US20030115333A1 (en) * | 2001-07-06 | 2003-06-19 | Tal Cohen | System and method for analyzing system visitor activities |
US20030208578A1 (en) * | 2002-05-01 | 2003-11-06 | Steven Taraborelli | Web marketing method and system for increasing volume of quality visitor traffic on a web site |
US20040003038A1 (en) * | 2002-06-27 | 2004-01-01 | Microsoft Corporation | Live content processing for online presentation |
US20040093266A1 (en) * | 2002-11-12 | 2004-05-13 | Dohring Doug Carl | Method of mutually enhancing retail sales and user traffic on a web site |
US20040119760A1 (en) * | 2002-12-19 | 2004-06-24 | Grossman Joel K. | Contact user interface |
US20050021750A1 (en) * | 2003-06-16 | 2005-01-27 | Friendster Inc., A California Corporation | System, method and apparatus for connecting users in an online computer system based on their relationships within social networks |
US20050160001A1 (en) * | 2004-01-21 | 2005-07-21 | Don Lapre | Method for advertising internet web sites |
US20050216338A1 (en) * | 2004-03-10 | 2005-09-29 | Greg Tseng | Enhancing virally-marketed facilities |
US6963874B2 (en) * | 2002-01-09 | 2005-11-08 | Digital River, Inc. | Web-site performance analysis system and method utilizing web-site traversal counters and histograms |
US20060121990A1 (en) * | 2004-12-08 | 2006-06-08 | Microsoft Corporation | System and method for social matching of game players on-line |
US20060242554A1 (en) * | 2005-04-25 | 2006-10-26 | Gather, Inc. | User-driven media system in a computer network |
US7149977B2 (en) * | 2002-08-28 | 2006-12-12 | Microsoft Corporation | Virtual calling card system and method |
US20060282328A1 (en) * | 2005-06-13 | 2006-12-14 | Gather Inc. | Computer method and apparatus for targeting advertising |
US7234117B2 (en) * | 2002-08-28 | 2007-06-19 | Microsoft Corporation | System and method for shared integrated online social interaction |
US20080052203A1 (en) * | 2006-08-25 | 2008-02-28 | David Beyer | Design and management of an online environment that serves hierarchical community networks |
US20080098087A1 (en) * | 2006-10-24 | 2008-04-24 | Fabfemme Inc. | Integrated electronic invitation process |
US20080098313A1 (en) * | 2006-10-23 | 2008-04-24 | Instabuddy Llc | System and method for developing and managing group social networks |
US20080140650A1 (en) * | 2006-11-29 | 2008-06-12 | David Stackpole | Dynamic geosocial networking |
US20090192861A1 (en) * | 2008-01-30 | 2009-07-30 | Hirotaka Suzuki | Client Apparatus, Server Apparatus, Meeting Arrangement System, and Meeting Arrangement Method |
US20090241035A1 (en) * | 2006-08-16 | 2009-09-24 | Tagged, Inc. | User created tags for online social networking |
US20100088246A1 (en) * | 2008-10-02 | 2010-04-08 | Lim Michael Z | System for, and method of, managing a social network |
US7761386B2 (en) * | 2003-06-15 | 2010-07-20 | Mordechai Teicher | Method and apparatus for arranging social meetings |
US7769699B2 (en) * | 2003-06-15 | 2010-08-03 | Mordechai Teicher | Apparatus for managing social games |
US20100198836A1 (en) * | 2009-01-30 | 2010-08-05 | Yahoo! Inc. | Systems and methods for calculating a just-in-time reputation score |
US20100241580A1 (en) * | 2009-03-19 | 2010-09-23 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1303904B (en) * | 1955-02-28 | |||
US2855626A (en) * | 1955-11-30 | 1958-10-14 | Sealtite Insulation Mfg Corp | Apparatus for manufacturing mineral wool |
FR1258263A (en) * | 1960-02-25 | 1961-04-14 | Saint Gobain | Process and devices for the manufacture of wicks or threads, from thermoplastic materials such as glass |
NL262165A (en) * | 1960-03-19 | |||
US3174182A (en) * | 1962-06-22 | 1965-03-23 | Edward W O Shaughnessy | Spinning arrangement for spinning fibers from molten plastic or the like |
US3346356A (en) * | 1965-04-09 | 1967-10-10 | Johns Manville | Apparatus for the manufacture of fibrous material |
US3372011A (en) * | 1965-06-07 | 1968-03-05 | United States Gypsum Co | Apparatus for forming fibers |
FR1588880A (en) * | 1968-09-06 | 1970-03-16 | ||
US3547610A (en) * | 1969-10-20 | 1970-12-15 | Owens Corning Fiberglass Corp | Environmental control device for a molten glass fiberizer |
FR2112074B1 (en) * | 1970-09-18 | 1975-01-10 | Saint Gobain | |
US4046539A (en) * | 1974-05-28 | 1977-09-06 | Owens-Corning Fiberglas Corporation | Method and apparatus for producing glass fibers |
US4359444A (en) * | 1979-07-12 | 1982-11-16 | Owens-Corning Fiberglas Corporation | Method for forming filaments |
FR2510909A1 (en) * | 1981-08-06 | 1983-02-11 | Saint Gobain Isover | METHOD AND DEVICES FOR IMPROVING THE DISTRIBUTION ON A FUEL RECEIVING MEMBER VEHICLED BY A GASEOUS CURRENT |
US4601742A (en) * | 1985-04-22 | 1986-07-22 | Owens-Corning Fiberglas Corporation | Blower for mineral fiberizer |
US4627868A (en) * | 1985-08-19 | 1986-12-09 | Owens-Corning Fiberglas Corporation | Method and apparatus for producing mineral fibers |
US7249097B2 (en) | 1999-06-18 | 2007-07-24 | Echarge Corporation | Method for ordering goods, services, and content over an internetwork using a virtual payment account |
US7366759B2 (en) | 2001-02-22 | 2008-04-29 | Parity Communications, Inc. | Method and system for characterizing relationships in social networks |
US7249123B2 (en) | 2002-10-31 | 2007-07-24 | International Business Machines Corporation | System and method for building social networks based on activity around shared virtual objects |
US7269590B2 (en) | 2004-01-29 | 2007-09-11 | Yahoo! Inc. | Method and system for customizing views of information associated with a social network user |
US7433876B2 (en) | 2004-02-23 | 2008-10-07 | Radar Networks, Inc. | Semantic web portal and platform |
US7359894B1 (en) | 2004-06-30 | 2008-04-15 | Google Inc. | Methods and systems for requesting and providing information in a social network |
US7373606B2 (en) | 2005-05-26 | 2008-05-13 | International Business Machines Corporation | Method for visualizing weblog social network communities |
KR100643480B1 (en) | 2005-06-25 | 2006-11-10 | (주)엑셀렌테크놀로지 | Individual matching system |
US8688742B2 (en) | 2006-05-31 | 2014-04-01 | Red Hat, Inc. | Open overlay for social networks and online services |
JP2007328723A (en) | 2006-06-09 | 2007-12-20 | Fujifilm Corp | Information providing device and information providing method |
-
2004
- 2004-11-30 US US11/000,707 patent/US7974868B2/en active Active
-
2005
- 2005-03-10 EP EP05005267A patent/EP1574979A1/en not_active Ceased
- 2005-03-10 EP EP10183430A patent/EP2270731A1/en not_active Withdrawn
-
2011
- 2011-02-14 US US13/026,970 patent/US20110178851A1/en not_active Abandoned
Patent Citations (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
US6112181A (en) * | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6149441A (en) * | 1998-11-06 | 2000-11-21 | Technology For Connecticut, Inc. | Computer-based educational system |
US6381635B1 (en) * | 1998-11-19 | 2002-04-30 | Ncr Corporation | Method for displaying multiple performance measurements of a web site using a platform independent program |
US6306033B1 (en) * | 1999-03-23 | 2001-10-23 | Square Co., Ltd. | Video game item's value being adjusted by using another item's value |
US20010020231A1 (en) * | 2000-04-24 | 2001-09-06 | Desktopdollars.Com | Marketing System and Method |
US20020042733A1 (en) * | 2000-10-11 | 2002-04-11 | Lesandrini Jay William | Enhancements to business research over internet |
US20020103698A1 (en) * | 2000-10-31 | 2002-08-01 | Christian Cantrell | System and method for enabling user control of online advertising campaigns |
US20030115333A1 (en) * | 2001-07-06 | 2003-06-19 | Tal Cohen | System and method for analyzing system visitor activities |
US6963874B2 (en) * | 2002-01-09 | 2005-11-08 | Digital River, Inc. | Web-site performance analysis system and method utilizing web-site traversal counters and histograms |
US20030208578A1 (en) * | 2002-05-01 | 2003-11-06 | Steven Taraborelli | Web marketing method and system for increasing volume of quality visitor traffic on a web site |
US20040003038A1 (en) * | 2002-06-27 | 2004-01-01 | Microsoft Corporation | Live content processing for online presentation |
US7234117B2 (en) * | 2002-08-28 | 2007-06-19 | Microsoft Corporation | System and method for shared integrated online social interaction |
US7149977B2 (en) * | 2002-08-28 | 2006-12-12 | Microsoft Corporation | Virtual calling card system and method |
US20040093266A1 (en) * | 2002-11-12 | 2004-05-13 | Dohring Doug Carl | Method of mutually enhancing retail sales and user traffic on a web site |
US20040119760A1 (en) * | 2002-12-19 | 2004-06-24 | Grossman Joel K. | Contact user interface |
US7769699B2 (en) * | 2003-06-15 | 2010-08-03 | Mordechai Teicher | Apparatus for managing social games |
US7761386B2 (en) * | 2003-06-15 | 2010-07-20 | Mordechai Teicher | Method and apparatus for arranging social meetings |
US7069308B2 (en) * | 2003-06-16 | 2006-06-27 | Friendster, Inc. | System, method and apparatus for connecting users in an online computer system based on their relationships within social networks |
US20050235062A1 (en) * | 2003-06-16 | 2005-10-20 | Friendster, Inc. | Method of inducing content uploads in a social network |
US7117254B2 (en) * | 2003-06-16 | 2006-10-03 | Friendster, Inc. | Method of inducing content uploads in a social network |
US20050021750A1 (en) * | 2003-06-16 | 2005-01-27 | Friendster Inc., A California Corporation | System, method and apparatus for connecting users in an online computer system based on their relationships within social networks |
US20050160001A1 (en) * | 2004-01-21 | 2005-07-21 | Don Lapre | Method for advertising internet web sites |
US7974868B2 (en) * | 2004-03-10 | 2011-07-05 | Tagged, Inc. | Enhancing virally-marketed facilities |
US20050216338A1 (en) * | 2004-03-10 | 2005-09-29 | Greg Tseng | Enhancing virally-marketed facilities |
US20060121990A1 (en) * | 2004-12-08 | 2006-06-08 | Microsoft Corporation | System and method for social matching of game players on-line |
US20060242554A1 (en) * | 2005-04-25 | 2006-10-26 | Gather, Inc. | User-driven media system in a computer network |
US20060282328A1 (en) * | 2005-06-13 | 2006-12-14 | Gather Inc. | Computer method and apparatus for targeting advertising |
US20090241035A1 (en) * | 2006-08-16 | 2009-09-24 | Tagged, Inc. | User created tags for online social networking |
US20080052203A1 (en) * | 2006-08-25 | 2008-02-28 | David Beyer | Design and management of an online environment that serves hierarchical community networks |
US20080098313A1 (en) * | 2006-10-23 | 2008-04-24 | Instabuddy Llc | System and method for developing and managing group social networks |
US20080098087A1 (en) * | 2006-10-24 | 2008-04-24 | Fabfemme Inc. | Integrated electronic invitation process |
US20080140650A1 (en) * | 2006-11-29 | 2008-06-12 | David Stackpole | Dynamic geosocial networking |
US20090192861A1 (en) * | 2008-01-30 | 2009-07-30 | Hirotaka Suzuki | Client Apparatus, Server Apparatus, Meeting Arrangement System, and Meeting Arrangement Method |
US20100088246A1 (en) * | 2008-10-02 | 2010-04-08 | Lim Michael Z | System for, and method of, managing a social network |
US20100198836A1 (en) * | 2009-01-30 | 2010-08-05 | Yahoo! Inc. | Systems and methods for calculating a just-in-time reputation score |
US20100241580A1 (en) * | 2009-03-19 | 2010-09-23 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US20110225102A1 (en) * | 2009-03-19 | 2011-09-15 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE44905E1 (en) | 2006-08-16 | 2014-05-20 | Tagged, Inc. | User created tags for online social networking |
US20100241580A1 (en) * | 2009-03-19 | 2010-09-23 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US20110225102A1 (en) * | 2009-03-19 | 2011-09-15 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US8756163B2 (en) | 2009-03-19 | 2014-06-17 | Tagged, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US11055634B2 (en) | 2009-03-19 | 2021-07-06 | Ifwe Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US11790281B2 (en) | 2009-03-19 | 2023-10-17 | Ifwe, Inc. | System and method of selecting a relevant user for introduction to a user in an online environment |
US8510651B1 (en) * | 2011-10-18 | 2013-08-13 | Amazon Technologies, Inc | Page editing and trial of network site |
US20140180676A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Named entity variations for multimodal understanding systems |
US9916301B2 (en) * | 2012-12-21 | 2018-03-13 | Microsoft Technology Licensing, Llc | Named entity variations for multimodal understanding systems |
Also Published As
Publication number | Publication date |
---|---|
EP2270731A1 (en) | 2011-01-05 |
US7974868B2 (en) | 2011-07-05 |
EP1574979A1 (en) | 2005-09-14 |
US20050216338A1 (en) | 2005-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110178851A1 (en) | Enhancing virally-marketed facilities | |
CA2322470C (en) | Method and apparatus for automating the conduct of surveys over a network system | |
Ho et al. | Timing of adaptive web personalization and its effects on online consumer behavior | |
Cheney et al. | Organizational characteristics and information systems: an exploratory investigation | |
US6993495B2 (en) | Dynamically assigning a survey to a respondent | |
Wittink et al. | Forecasting with conjoint analysis | |
US7080027B2 (en) | Method and system for analyzing the effectiveness of marketing strategies | |
US20020147625A1 (en) | Method and system for managing business referrals | |
US20080208644A1 (en) | Apparatus and Method for Measuring Service Performance | |
JP2010520556A (en) | System and method for updating a predictive model | |
Telang et al. | A mixture model for Internet search-engine visits | |
US20100241530A1 (en) | Interactive job chart | |
US11704705B2 (en) | Systems and methods for an intelligent sourcing engine for study participants | |
Caldas et al. | Land-use choices: the case of conservation reserve program (CRP) re-enrollment in Kansas, USA | |
Valverde et al. | ITIL-based IT service support process reengineering | |
US20230368226A1 (en) | Systems and methods for improved user experience participant selection | |
Lang et al. | Establishing an Extendable Benchmarking Framework for E-Fulfillment. | |
WO2001025910A9 (en) | System and method for collaborative product development | |
WO2000031666A1 (en) | Computer network based system and method for collecting and reporting data | |
JP2001356988A (en) | Electronic mail device, electronic mail system and electronic mail communication method allowed to be used for the device and system | |
Zawojska et al. | Effects of Varying the Location of Perceived Consequentiality Elicitation in a Discrete Choice Experiment Survey | |
Negahban | Utilization of enterprise resource planning tools by small to medium size construction organizations: A decision-making model | |
Adi Prakoso et al. | The Usage of Agile Adoption Framework to Assess Scrum Process and Recommend Improvements | |
US20240177204A1 (en) | Systems and methods for attribute characterization of usability testing participants | |
JP2005182261A (en) | Direct mail management method and direct mail management device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TAGGED, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JUMPSTART TECHNOLOGIES LLC;REEL/FRAME:026063/0797 Effective date: 20050331 Owner name: JUMPSTART TECHNOLOGIES LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TSENG, GREG;SCHLEIER-SMITH, JOHANN;REEL/FRAME:026063/0770 Effective date: 20050304 Owner name: TAGGED, INC., CALIFORNIA Free format text: CONVERSION;ASSIGNOR:TAGGED, LLC;REEL/FRAME:026072/0648 Effective date: 20051216 |
|
AS | Assignment |
Owner name: IFWE INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:TAGGED, INC.;REEL/FRAME:034097/0741 Effective date: 20141015 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |