KR101525262B1 - 크로스 채널 최적화 시스템 및 방법 - Google Patents

크로스 채널 최적화 시스템 및 방법 Download PDF

Info

Publication number
KR101525262B1
KR101525262B1 KR1020097014714A KR20097014714A KR101525262B1 KR 101525262 B1 KR101525262 B1 KR 101525262B1 KR 1020097014714 A KR1020097014714 A KR 1020097014714A KR 20097014714 A KR20097014714 A KR 20097014714A KR 101525262 B1 KR101525262 B1 KR 101525262B1
Authority
KR
South Korea
Prior art keywords
content
users
data
systems
experiment
Prior art date
Application number
KR1020097014714A
Other languages
English (en)
Other versions
KR20090125749A (ko
Inventor
히카루 필립스
Original Assignee
액센츄어 글로벌 서비시즈 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 액센츄어 글로벌 서비시즈 리미티드 filed Critical 액센츄어 글로벌 서비시즈 리미티드
Publication of KR20090125749A publication Critical patent/KR20090125749A/ko
Application granted granted Critical
Publication of KR101525262B1 publication Critical patent/KR101525262B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

본 발명은 전체적으로 복수의 외부 컨텐트 시스템들에 걸쳐서 상기 외부 컨텐트 시스템들의 사용자에 대하여 실험들의 수행 및/또는 디지털 컨텐트의 최적화를 제공하는 크로스 채널 최적화 시스템, 방법, 및 그에 관한 소프트웨어에 관한 것이다.

Description

크로스 채널 최적화 시스템 및 방법{CROSS CHANNEL OPTIMIZATION SYSTEMS AND METHODS}
본 발명은 전체적으로 실험의 분야와 관계가 있고, 보다 상세하게는, 인터넷과 같은, 디지털 네트워크 내에서 사용자들에 대한 컨텐트의 전달의 실험 및 최적화와 관계가 있다.
마케팅 전략들, 제안들, 광고들 및 오퍼들에 관한 테스트에 의해 기업들은 그들의 캠페인들 및 고객 관리 절차들을 최적화할 수 있다. 예를 들면, 온라인 소매상은 온라인 광고에 있어서 상이한 표제 및 혜택 공지를 테스트할 수 있다. 광고주는 상이한 발행자에 의하여 제공되는 상이한 광고 위치에 걸쳐서 상이한 광고를 배치시키는 것을 테스트할 수 있다. 은행은, 고객의 계좌 잔액들에 대한 변화들에 기초하여 금융 서비스들을 교차-판매하기 위하여, 다이렉트 메일 및 아웃바운드 텔레마케팅에 있어서 상이한 접촉 및 오퍼 전략을 테스트할 수 있다. 통신 회사는 인터넷을 통해 기존 고객들에 대하여 그리고 그들의 고객들의 휴대 전화들에 대하여 서비스들의 상이한 오퍼 및 묶음을 테스트할 수 있다. 점점, 기업들은 검색 엔진들, 배너 광고, 문맥 광고, 상호 작용적인 TV를 포함하는 다양한 매체들에 걸쳐서 광고를 하고 있고, 그들 자신의 웹 사이트로부터 거래들을 완료하기도 한 다. 이들 채널들에 걸친 흐름이 예상컨대 매끄러울 수 있고 상이한 링크에 대한 단순 클릭에 의하여 구동될 수 있다고는 해도, 기업들로서는 이들 상이한 시스템에 걸쳐서 최적의 캠페인 요소들을 결정하는 것은 어려운 일이다.
본 출원은 2006년 12월 15일자로 출원된 미국 임시 출원 제 60/870,217호에 기한 우선권 및 그에 따른 이익을 요구하며, 이로써 상기 미국 임시 출원의 내용은 모든 목적을 위하여 여기에 전부 기술되어 있는 것처럼 참조로서 병합된다.
본 발명은 전체적으로 복수의 외부 컨텐트 시스템들에 걸쳐서 상기 외부 컨텐트 시스템들의 사용자에 대하여 실험들의 수행 및/또는 디지털 컨텐트의 최적화를 제공하는 크로스 채널 최적화 시스템, 방법, 및 그에 관한 소프트웨어에 관한 것이다.
보다 상세하게는, 본 발명은, 예를 들면, 다양한 채널들(웹 사이트, 상호 작용적인 TV 방송국들, 배너들, 이메일, 다이렉트 메일, 아웃바운드 전화 콜들, 상점 안에 설치된 선전들)에 걸쳐서 다양한 컨텐트 요소들을 관리하는 것에 관한 프로세스를 자동화하고, 이들 채널들에 걸쳐서 통합된 방법으로 실험들을 수행하고, 이들 채널들에 걸쳐서 기업 성과를 최대화하기 위한 최적의 규칙들을 결정하고, 궁극적으로 채널들에 대하여 최적인 규칙들을 “발행”함으로써, 종래 기술의 난제들을 다루고 있다. 본 발명은 전체적으로 상업적인 기대를 겨냥한 광고, 선전 및 마케팅의 문맥에서 설명되었으나, 이러한 분야에 제한되는 것은 아니며, 디지털 컨텐트를 제공 받는 모든 사람에 대한 컨텐트 전달을 최적화하는 데에 이용될 수 있다. 이하에서 “사용자”라는 용어는 상업적이거나 비상업적인 환경에서 디지털 컨텐트를 제공 받는 모든 사람을 가리킨다.
본 발명은, 디지털 네트워크에 의하여 상호 연결되는 상이한 클래스의 외부 컨텐트 시스템들에 걸쳐서 실험들을 조정하기 위하여, 2005년 8월 23일에 등록된 미국 특허 제6,934,748호인 “Automated On-Line Experimentation to Measure Users Behavior to Treatment for A Set of Content Elements”을 확장하는데, 상기 미국 특허의 내용은 모든 목적을 위하여 여기에 전부 기술되어 있는 것처럼 참조로서 병합된다. 상이한 타입의 외부 컨텐트 시스템들은 웹 사이트들, 포탈들, 광고 서버들, 광고 네트워크들, 비디오 서버들, CRM 시스템들, 기업 정보 시스템들, 웹 분석 플랫폼들, 컨텐트 관리 시스템들 및 검색 엔진 시스템을 포함한다. 이들 외부 컨텐트 시스템들은 디지털 컨텐트, 광고들 및 데이터를 유지하거나 액세스하고, 인터넷 및 다른 디지털 네트워크들을 통하여 이것을 사용자들에게 전달한다,
일 실시예에 따르면, 본 발명은 사용자들과 복수의 외부 컨텐트 시스템들 사이의 상호 작용 세션들 동안에 디지털 데이터 네트워크를 통하여 상기 사용자들에게 전달되는 컨텐트의 조직적인 변화를 조정하기 위한 컴퓨터 시스템으로서: 상기 시스템에 저장되는 규칙들의 적어도 하나의 집합들로서: 외부 컨텐트 시스템의 사용자들에 대한 제공을 위한, 지각할 수 있게-표현 가능한 디지털 처리들로의 컨텐트의 상기 조직적인 변화; 각 외부 컨텐트 시스템에 걸쳐서 상기 다양한 처리들이 사용자들에게 표현될 방법; 시스템들에 걸쳐서 실험이 추적될 방법; 및 사용자들에게의 상기 변화들의 상기 전달에 대한 규칙들의 적어도 하나의 집합들; 및 규칙들의 상기 집합들 중 적어도 하나를, 상기 디지털 네트워크를 통하여 상기 외부 컨텐트 시스템들에 전해질 수 있고 상기 외부 컨텐트 시스템들에 의해 실행될 수 있는 특정 프로그램 명령들로서 전달할 수 있는 프로그래밍된 규칙 생성기를 포함하는 컴퓨터 시스템에 관한 것이다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 컨텐트 요소들의 각 처리가 제공된 횟수 및/또는 처리를 제공 받았을 때 사용자들이 행한 것에 대한 데이터를 수집하는 데이터 대조기를 더 포함할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 복수의 상이한 플러그-인들(plug-ins)을 통하여 상기 외부 컨텐트 시스템들과 통신할 수 있고, 상기 각 플러그-인들은 규칙들의 적어도 하나의 집합들을 외부 컨텐트 시스템에 의하여 실행될 수 있는 형식으로 번역한다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 실험 중 사용자들의 샘플링에 기초하여 데이터를 수신하고, 어떤 사용자들이 실험 컨텐트를 수신하도록 지정될지 및 어떤 것이 실험 대조군으로서 이용될지를 결정하도록 구성될 수 있다. 이 그리고 다른 실시예에 따르면, 사용자들에게의 상기 처리들의 상기 전달을 지배하는 상기 규칙들은 상황 특정 규칙들일 수 있고, 상기 상황 특정 규칙들은 실험 규칙들, 예상 규칙들 또는 사용자-정의 규칙들을 포함한다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 개별 사용자들에게 상기 상이한 변화들을 전달하기 위하여 통계학적인 샘플링 절차들을 실행할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 상기 변화들이 사용자들의 행동에 영향을 미치는 정도를 식별하는 모델 엔진을 포함할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템의 상기 모델 엔진은 변화들에 반응하여 기록된 행위들에 기초하여 관측된 사용자 행동에 대한 추상적인 기술들(descriptions)을 제공하는 적어도 하나의 행동 모델들을 생성할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 모델 엔진은 변화들에 반응하여 사용자들에 의해 행하여질 장래의 행위들의 가능도를 예상할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 모델 엔진은 기설정된 성과에 최적인 변화들을 결정하기 위하여 상기 변화들에 반응하여 사용자들에 의해 행하여질 장래의 행위들의 상기 예상된 가능도를 이용할 수 있다. 이 그리고 다른 실시예에 따르면, 상기 모델 엔진은 추천된 처리를 전달할 수 있다.
다른 실시예에 따르면, 본 발명은 컴퓨터 시스템에 관한 것으로서 상기 시스템은: 외부 컨텐트 시스템들의 사용자들에 대한 제공을 위하여 지각할 수 있게-표현 가능한 디지털 컨텐트 요소들의 집합을 처리들로 조직적으로 변화시키는 것을 포함하는 실험을 수행하고; 사용자들에 대한 처리들을 제어, 관리, 생성 또는 전달하기 위하여 상이한 클래스의 외부 컨텐트 시스템들에 데이터를 전달하도록 구성되고, 상기 데이터는 시스템의 각 클래스에 대하여 특정된다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 상기 처리들이 상이한 클래스의 외부 컨텐트 시스템들에 관하여 표현될 방법을 결정하도록 구성될 수 있다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 외부 컨텐트 시스템들에 걸쳐서 실험이 추적될 방법을 결정하도록 구성될 수 있다. 이 그리고 다른 실시예에 따르면, 상기 컴퓨터 시스템은 디지털 데이터 네트워크를 통하여 외부 컨텐트 시스템들의 클래스의 특정 파라미터들에 따라 외부 컨텐트 시스템에 실험 규칙들을 전달하도록 구성될 수 있다.
다른 실시예에 따르면, 본 발명은 자동화된 방법에 관한 것으로서 상기 방법은: 외부 컨텐트 시스템들의 사용자들에 대한 제공을 위하여 컨텐트 요소들의 집합을 지각할 수 있게-표현 가능한 디지털 처리들로 조직적으로 변화시키는 단계; 및 디지털 데이터 네트워크를 통하여 외부 컨텐트 시스템들의 클래스의 특정 파라미터들에 따라 상이한 클래스에 속하는 복수의 상이한 외부 컨텐트 시스템들에 처리들을 전달하는 단계를 포함한다.
다른 실시예에 따르면, 본 발명은 자동화된 방법에 관한 것으로서 상기 방법은: 지각할 수 있게-표현 가능한 디지털 컨텐트 요소들의 집합을 포함하는 처리를 제공 받게 되는 사용자들이 상기 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 생성하는 단계로서, 상기 예상들은 상기 집합에 속하는 컨텐트 요소들에 대한 사용자 행동을 시험한 적어도 하나의 실험들로부터 수집된 데이터로부터 생성되고 상기 실험들은 상이한 클래스의 외부 컨텐트 시스템들에 걸쳐 실행되는 단계; 및 상기 제공된 컨텐트에 반응하여 원하는 사용자 행동이 발생할 확률을 증가시키기 위하여 상기 예상들에 따라 사용자들에게 처리들을 전달하는 단계를 포함한다.
다른 실시예에 따르면, 본 발명은 컨텐트의 전달을 위한 자동화된 시스템에 관한 것으로서 상기 시스템은: 데이터 네트워크를 통하여 사용자들에 대한 처리들의 구성 및 전달을 지배하는 실험의 설계 규칙들에 따라 자동적으로 생성된 이산 디지털 컨텐트 요소들을 포함하는 지각할 수 있게-표현 가능한 디지털 처리들을 이용하여 수행되는 실험들로부터 수집된 데이터에 기초하여 행동의 모델을 생성하기 위한 수단으로서, 상기 실험들은 상이한 클래스의 외부 컨텐트 시스템들에 걸쳐 실행되는 수단; 및 사용자가 특정 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 생성하기 위하여 상기 모델을 이용하기 위한 수단을 포함한다.
다른 실시예에 따르면, 본 발명은 컨텐트의 전달을 위한 자동화된 방법에 관한 것으로서, 상기 방법은 데이터 네트워크를 통하여 사용자들에 대한 변화들의 구성 및 전달을 지배하는 실험의 설계 규칙들에 따라 자동적으로 생성된 이산 컨텐트 요소들을 포함하는 지각할 수 있게-표현 가능한 디지털 처리들을 이용하여 수행되는 실험들로부터 수집된 데이터에 기초하여 행동의 모델을 생성하는 단계로서, 상기 실험들은 상이한 클래스의 외부 컨텐트 시스템들에 걸쳐 실행되는 단계; 사용자가 특정 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 생성하기 위하여 상기 모델을 이용하는 단계; 및 데이터 네트워크를 통하여 외부 컨텐트 시스템에: 예상에 따라 사용자에 대한 지각할 수 있게-표현 가능한 이산 디지털 컨텐트 처리를 전달하고/하거나; 상기 외부 시스템으로 하여금 예상에 따라 사용자에 대한 지각할 수 있게-표현 가능한 디지털 컨텐트 처리를 생성하도록 하는 실행 가능한 명령들을 전달하는 단계를 포함한다.
다른 실시예에 따르면, 본 발명은 기계 판독 가능한 매체에 관한 것으로서 상기 매체는: 데이터 네트워크를 통하여 사용자들에 대한 변화들의 구성 및 전달을 지배하는 실험의 설계 규칙들에 따라 자동적으로 생성된 이산 컨텐트 요소들을 포함하는 지각할 수 있게-표현 가능한 디지털 처리들을 이용하여 수행되는 실험들로부터 수집된 데이터에 기초하여 행동의 모델을 생성하는 단계로서, 상기 실험들은 상이한 클래스의 외부 컨텐트 시스템들에 걸쳐 실행되는 단계; 사용자가 특정 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 생성하기 위하여 상기 모델을 이용하는 단계; 및 데이터 네트워크를 통하여 외부 컨텐트 시스템에: 예상에 따라 사용자에 대한 지각할 수 있게-표현 가능한 이산 디지털 컨텐트 처리를 전달하고/하거나; 상기 외부 시스템으로 하여금 예상에 따라 사용자에 대한 지각할 수 있게-표현 가능한 디지털 컨텐트 처리를 생성하도록 하는 실행 가능한 명령들을 전달하는 단계를 수행하기 위한 명령들의 집합을 포함한다.
앞서 언급된 것이 본 발명의 실시예들 및 특징들의 빠짐없는 리스트는 아니다. 당업계에서 숙련된 사람들은 도면들과 함께 하기의 상세한 설명으로부터 다른 실시예들 및 특징들을 인식할 수 있을 것이다. “발명(또는 발명의 주제)”이라는 용어는 이 문서가 단지 하나의 발명 개념만을 설명하는 것이라는 의미로 해석되어서는 아니 된다. 그것은 여기에 개시된 다양한 발명 개념들에 적용될 수 있는 편의상의 용어이고, 그 중 일부는 여기에 첨부된 청구항들에서 나타내어진다.
본 발명은 전체적으로 “크로스 채널 최적화 시스템”(CCOS) 500에 관한 것인데, 이의 실시예들 또는 특징들은 도 12-16에 도시되어 있고, 이는 복수의 외부 컨텐트 시스템들에 걸쳐서 상기 외부 컨텐트 시스템들의 사용자에 대하여 실험들의 수행 및/또는 디지털 컨텐트의 최적화를 제공한다.
도 12에 개략적으로 도시된 본 발명의 일 실시예에 따르면, 자동화된 CCOS 시스템은, 이하에서 “플러그-인들”(plug-ins)이라고 지칭될 수 있는, 애플리케이션 인터페이스들 514을 통하여 다양한 외부 컨텐트 시스템들과 연결되는 실험 엔진 510, 데이터 대조기 511, 모델링 엔진 512 및 규칙 생성기(rules generator) 513를 포함한다. 이들 외부 컨텐트 시스템들(ECS) 503은 웹 사이트, 인터넷 광고 서버 시스템, 컨텐트 전달 엔진, 광고 네트워크 시스템, 광고 경매 시스템, 휴대 전화 컨텐트 시스템, 디지털 비디오 서버, 콜 센터 애플리케이션, 디지털 머리글(lead) 생성 시스템, 회원 마케팅 시스템, 서비스 애플리케이션과 같은 소프트웨어, 또는 사용자들에 대한 컨텐트의 전달을 제어하는 모든 다른 시스템일 수 있다. “플러그-인”이라는 용어의 사용이 플러그-인이 상주하는 어떤 특정 하드웨어 위치를 암시하는 것은 아니다.
플러그-인들의 어떤 특정 기능들은: 특정 제약들의 관점에서 규칙 생성기로부터의 명령들을 각 ECS에 의하여 이용 가능한 원시 명령들로 번역하고; 특정 ECS에 적용 가능한 조건들을 관리 또는 구현하는 것을 포함할 수 있다.
실험 엔진의 일 기능은, 시스템 관리자가, 테스트될 원하는 디지털 컨텐트 요소들의 전체 집합으로부터 적당한 실험 설계를 선택하는 것을 결정하거나 가능하게 하는 것이다. 실험 엔진의 다른 기능은 컨텐트 요소들에 관련된 모든 캠페인 특정된 컨텐트를 관리하는 것이다. 실험 엔진은 각 시스템에 걸쳐서 상이한 컨텐트 요소가 어떻게 결합되어야 하는지를 결정하는 실험 규칙들의 특정 집합을 생성한다. 컨텐트 요소들은, 예를 들면, 최종 사용자에 대하여 관리 및 전달되는 특정 데이터, 텍스트, 그래픽스 또는 정보일 수 있다. 또한, 컨텐트 요소들은, 컨텐트가 어떤 사용자에게 전달되는 것을 결정하기 위하여, ECS들의 어떤 결합에 의해 이용되는 추상적인 명령들일 수도 있다. 또한 실험 엔진은 추적 코드들 또는 사용자 식별 번호들의 고유(unique) 집합을 생성하는데, 그로 인해 각 시스템은 각 시스템에 의하여 전달될 최적의 컨텐트 요소들을 결정하는 것을 가능하게 하기 위하여 사용자들에 관한 정보를 규칙 생성기에게 반환할 수 있다.
데이터 대조기는 컨텐트 요소들의 각 조합(처리)이 제공된 횟수 및 처리를 제공하였을 때 사용자들이 했던 행동의 측면에서 각 ECS로부터 데이터를 수집한다. 그리고 나서 데이터 대조기는 모델링 엔진에 의한 분석에 적합한 통합된 데이터 집합을 제공하기 위하여 이들 데이터 소스들을 결합한다. 데이터 대조기의 어떤 특정 기능들은: 외부 컨텐트 시스템들로부터 자동적으로 정보를 액세스 및 수집하고; 시간, 날짜, 데이터의 출처 및/또는 다른 이용 가능한 사용자 데이터의 측면에서 이들 데이터 집합들에 추가 정보를 더하고; 실험 엔진에 의하여 정의되는 추적 코드들 또는 사용자 식별 번호들에 따라 데이터를 매칭함으로써 이들 데이터 집합들을 단일 데이터 파일에 대조하는 것을 포함할 수 있다.
모델링 엔진은 대조된 데이터를 분석하고 사용자 행동에 대한 각 컨텐트 요소로부터의 독립적이고 상호-관련된 효과들을 결정한다. 모델링 엔진의 어떤 특정 기능들은: 원하는 사용자 행동을 유도함에 있어서 컨텐트 요소들 성과에 대한 포괄적인 보고들을 제공하고; 모든 캠페인에 대한 포괄적인 보고들을 제공하고; 이들 데이터 집합들을 단일 데이터 파일에 대조한다. 예를 들면, 시스템은, 광고들에 있어서 메시지 및 이미지의 어떤 조합이 사용자들에게 제공되었는지에 기대어, 사용자들의 성향이 특정 제품들을 구입하는 데에 미치는 상대적인 효과를 결정할 수 있다. 다른 예로는 상이한 요금 및 보상 오퍼를 제공하는 것의 사용자 신용 카드 신청들에 대한 효과를 측정함으로써 그것들을 제공하는 것의 상대적인 이익을 결정하는 은행을 포함할 수 있다. 다른 예에 있어서, 통신 회사는 상이한 통화 요금을 제공하는 것의 사용량 및 통신 오퍼들에 대한 재계약에 대한 효과를 정량화할 수 있다.
규칙 생성기는 제공되어야 하는 컨텐트 요소들에 관한 규칙들을 플러그-인들을 통하여 각 시스템에 전달한다. 이들 규칙들은 실험 엔진에 의하여 또는 모델링 엔진으로부터 최적의 규칙들로서 작동될 수 있다. 규칙 생성기의 어떤 특정 기능들은: ECS들에 의해 제공되는 컨텐트 요소들의 조합에 관한 명령들을 스케쥴링된 또는 실시간 모드에서 플러그-인들에 전달하는 것을 포함할 수 있다. 실시간 모드의 경우에, 어떤 ECS가 명령을 요청하고 있는지, 어떤 컨텐트 요소들이 이전에 제공되어 왔는지, 및 모든 다른 이용 가능한 문맥 및 사용자 정보에 기초하여, 명령들은 조건부일 수 있다.
본 발명의 기술적 이점은, 처리를 제공하는 것에 대하여 상이한 제약 하에 놓여 있을 수 있는, 외부 컨텐트 시스템들의 집합에 걸쳐서 조정된 온-라인 실험들을 수행하는 자동화된 시스템을 제공하는 것을 포함한다. 실험들을 조정함으로써, 각 컨텐트 요소의 효과가 교란되는 것이 방지될 수 있다. 바꾸어 말하면, 시스템은 독립적인 컨텐트 요소들의 각각의 제공을 우연히 서로 관련시켜 분석을 방해할 확률을 줄이고, 이에 의해 각 요소의 효과가 평가된다. 이는, 다른 모든 컨텐트 요소들이 일정하게 유지되고 있는 동안에 각 컨텐트 요소의 효과들에 대한 추정을 가능하게 하는 통계학적인 실험 설계들을 이용하는 것을 통하여 행하여지거나 실험의 설계에 의하여 결정되는 특정 처리 변화들의 전달을 통하여 제어된다.
CCOS와 관련 있는 발명의 내용은, 도 12-15에서 설명되고 여기에 기술된 바와 같이, 미국 특허 제6,934,748호에 기술된 도 1-12의 선행 기술 시스템의 다음의 문맥에 따라 구현될 수 있다.
명세서의 명명법으로 우선 돌아가면, 뒤따르는 상세한 설명은 주로, 범용 컴퓨터와 연계된 중앙 처리 장치(CPU) 또는 프로세서, 프로세서를 위한 메모리 저장 장치, 및 연결된 픽셀-지향의 표시 장치들과 같은, 종래의 컴퓨터 구성요소들에 의하여 수행되는 연산들의 프로세스들 및 상징적인 표현들의 측면에서 기술된다. 이들 연산들은 프로세서에 의한 데이터 비트들의 조작 및 하나 이상의 메모리 저장 장치들 내에 상주하는 데이터 구조들 안의 이들 비트들의 유지를 포함한다. 이러한 데이터 구조들은: 컴퓨터 메모리 안에 저장된 데이터 비트들의 수집물에 대한 물리적인 조직화를 강제하고 특정 전기적 또는 자기적 요소들을 나타낸다. 이들 상징적인 표현들은 다른 당업자들에게 가르침들과 발견들을 가장 효율적으로 전달하기 위하여 컴퓨터 프로그래밍 및 컴퓨터 구조 분야의 당업자들에 의하여 이용되는 수단들이다.
이 논의의 목적상, 프로세스, 방법, 루틴, 또는 서브-루틴은 원하는 결과로 이끄는 컴퓨터-실행 단계들의 순서인 것으로 일반적으로 간주된다. 이들 단계들은 일반적으로 물리적인 양들의 조작들을 필요로 한다. 통상적으로, 반드시 그런 것은 아닐지라도, 이들 양들은 저장, 전송, 병합, 비교, 또는 그 밖에 조작될 수 있는 전기적, 자기적, 또는 광학적 신호들의 형태를 가진다. 당업자가 이들 신호들을 비트들, 값들, 요소들, 기호들, 문자들, 텍스트, 용어들, 숫자들, 기록들, 파일들 등으로 지칭하는 것은 전통적인 것이다. 그렇지만, 이들 및 어떤 다른 용어들은 컴퓨터 연산들을 위해 적당한 물리적인 양들과 연계되어야 한다는 점, 및 이들 용어들은 단지 컴퓨터의 연산 도중의 그리고 컴퓨터 내에 존재하는 물리적 양들에 적용되는 종래의 라벨들이라는 점은 명심되어야 한다.
또한 컴퓨터 내에서의 조작들은 종종 인간 연산자에 의하여 수행되는 수동 연산들과 연계되는 추가, 비교, 이동 등과 같은 용어들로 지칭됨이 이해되어야 한다. 발명에 있어서, 인간 연산자의 불개입은 필요할 수 있고, 또는 심지어 바람직할 수도 있음이 이해되어야 한다. 여기서 기술된 연산들은 컴퓨터 또는 컴퓨터들과 상호 작용하는 사용자 또는 인간 연산자와 협동하여 수행되는 기계 연산들이다.
게다가, 여기에 기술된 프로그램들, 프로세스들, 방법들 등은 발명의 구현을 예시하는 것이지, 어떤 특정 컴퓨터, 장치 또는 컴퓨터 언어에 관계되거나 한정되는 것은 아니다. 오히려, 다양한 타입의 범용 컴퓨팅 기기들 또는 장치들이 여기에 기술된 가르침들에 따라 구조화된 프로그램들과 함께 이용될 수 있다. 유사하게, 읽기-전용 메모리(ROM)와 같은 비휘발성 메모리에 저장된 구조화된 논리 또는 프로그램들을 갖춘 전용 컴퓨터 시스템들로써, 여기에 기술된 방법 단계들을 수행하도록 특수화된 장치를 구축하는 것이 유리하다고 판명될 수도 있다.
컨텐트 관리를 위한 환경
도 1은 단일 컨텐트 시스템 10 및 통신 관리 시스템 12을 포함하는 환경을 나타낸다. 전반적으로, 여기에 보다 자세하게 기술된 바와 같이, 하나 이상의 컨텐트 시스템들 10 및 하나 이상의 통신 관리 시스템들 12은 하나 이상의 사용자들 16에 대한 컨텐트 15의 제공을 관리하기 위하여 협동한다. 뒤따르는 논의는, 전체적으로 단일 컨텐트 시스템의 문맥에 한정되기는 하나, 여기에서의 가르침에 기초하여, 복수의 외부 컨텐트 시스템들(ECS들)이 존재하는 곳에서 이용할 수 있도록 적응될 수 있을 것이다.
컨텐트 시스템 10 및 통신 관리 시스템 12은 여기에 기술된 기능을 수행하기 위하여 각각 소프트웨어 및/또는 하드웨어의 적절한 결합을 포함할 수 있다.
시스템들 10 및 12이 사용자들 16에 대한 컨텐트 15의 제공자 14에 의하여 유지, 관리, 및/또는 작동될 수 있는 것으로 생각된다. 이러한 컨텐트 제공자 14는 컨텐트가 전달될 수 있는 통로가 되는 포탈 또는 모든 다른 웹 사이트를 운영하거나 유지하는 존재일 수 있다. 예를 들면, 컨텐트 제공자 14는 상품, 온라인 뉴스 서비스 등의 온라인 소매상일 수 있다. 각 사용자 16는, 예를 들면, 정보를 조회하기 위하여, 그리고 어쩌면, 상업적인 거래를 완료하기 위하여, 컨텐트 제공자 14에 의하여 운영되는 웹 사이트를 방문할 수 있다. 사용자들 16은 인간 혹은 가상의 것일 수 있는, 개인들, 조직들, 또는 그들의 대리인들을 포함할 수 있다.
컨텐트 시스템 10은 컨텐트 15를 위한 저장소로서의 구실을 한다. 컨텐트 시스템 10은 컨텐트를 저장하기에 적합한 어떤 시스템의 적어도 일부로서 구현될 수 있다. 예를 들면, 컨텐트 시스템 10은 Interwoven 사의 컨텐트 서버 시스템, 또는 Vignette 사의 STORY 서버 시스템을 포함할 수 있다. 일반적으로, 컨텐트 15는 사용자들 16에게 (시각적으로, 청각적으로, 또는 다른 식으로) 제공 가능한 모든 데이터 또는 정보가 될 수 있다. 따라서, 컨텐트 15는 쓰여진 텍스트, 이미지들, 그래픽스, 애니메이션, 비디오, 음악, 음성 등, 또는 이들의 모든 조합을 포함할 수 있다. 예를 들어, 만약 컨텐트 제공자 14가 상품의 온라인 소매상이라면, 컨텐트 15는 소매상에 의하여 제공되는 다양한 상품들의 이미지들, 각 상품에 대한 문자로 된 설명들 및 가격표들, 온라인 주문에 관한 자세한 정보, 사용자의 주목을 끌기 위한 그래픽스 또는 애니메이션 등을 포함할 수 있다. 유사하게, 만약 컨텐트 제공자 14가 웹 포탈이면, 컨텐트 15는 다양한 관심 분야들에 대한 문자로 된 목록들 또는 디렉토리들, (상호 작용하는 또는 상호 작용하지 않는) 아이콘들, 상품들의 이미지들, 다른 웹 사이트들로의 하이퍼링크들, 배너 광고들 등을 포함할 수 있다. 만약 컨텐트 제공자 14가 온라인 뉴스 서비스이면, 컨텐트 15는 다양한 뉴스 기사에 대한 문자로 된 정보, 기사들의 적어도 일부에 수반되는 사진들 및/또는 삽화들, 최신 뉴스들에 대한 비디오 및/또는 오디오 클립들, 다양한 지역들에서의 날씨 보도들에 대한 목록들, 이들 지역들에 대한 지도들 등을 포함할 수 있다. 컨텐트 시스템 10으로부터 비롯되는 컨텐트 15는 모든 다양한 목적들 또는 응용들, 예를 들면, 제품 개발, 홍보, 고객 서비스, 광고, 전자 상거래 등을 위하여 제공될 수 있다.
디지털 형태로 저장될 수 있는 컨텐트 15는 기본적인 구성요소들로 분해되거나 감축될 수 있다. 기본적인 구성요소는, 예를 들면, 텍스트 파일, 이미지 파일, 오디오 파일, 비디오 파일 등일 수 있다. 이들 기본적인 구성요소들은, 사용자들 16에게 컨텐트 15를 제공하기 위하여, 다수의 상이한 방법 또는 구조로 결합 및/또는 포맷팅될 수 있다.
컨텐트 15의 각 개별적인 결합 및/또는 포맷팅은 컨텐트 구조 또는 처리를 구성한다. 컨텐트 구조는, 예를 들면, 주어진 순간에서의 웹 페이지의 특정 구현일 수 있다. 보다 명확하게는, 주어진 시간에 있어서, 웹 페이지는 화면 상의 특정 위치에 위치하는 특정 텍스트, 아이콘들, 이미지들, 및/또는 비디오, 특정 시각적인 배경 음영 또는 색, 화면을 나누기 위한 특정 경계들, 특정 오디오(음악 또는 말) 등을 포함할 수 있다.
컨텐트 15가 구조화되는 방법은 컨텐트에 대한 사용자의 행동 또는 반응에 영향을 미치거나 강한 영향을 줄 수 있다. 예를 들면, 사용자 16는 중립적인 배경 색(예를 들면, 회색)을 가지는 웹 페이지에 대하여 긍정적으로 반응할 수 있고, 보다 과감한 배경 색(예를 들면, 자홍색)을 가지는 웹 페이지에 대하여 부정적으로 반응할 수 있다. 사용자의 반응은 특정 원하는 목표 또는 성과에 관련되어 있을 수 있다. 성과는, 전체적으로, 컨텐트 제공자 14가 영향을 미치거나 관리하고자 하는 웹 사이트에서의 사용자에 의한 모든 행동과 관련 있을 수 있다. 이 행동은 사용자에 의한 웹 사이트의 “클릭-쓰루”(click-throughs), 정보 요청들에 대하여 사용자에 의해 소요된 시간, 사용자에 의하여 조회된 페이지들의 개수 및 성질, 사용자에 의하여 웹 사이트에서 소요된 시간의 길이, 반복 세션들, 웹 사이트들 상에서 제공되는 상품들/서비스들의 구입, 정보의 제출, 등록, 로그인, 개인화, 읽기, 또는 다른 관련된 행동들을 포함할 수 있다. 예를 들면, 상품의 온라인 소매상에 대하여, 하나의 원하는 목표/성과는 거래 또는 판매의 완료일 수 있다. 웹 포탈에 대하여, 원하는 목표/성과는 “흥미로워서 눈을 떼지 못하는 것”(stickness)(즉, 웹 사이트에서 사용자 16가 보낸 시간의 총합, 및 웹 사이트에 대한 반복 방문들의 수)일 수 있다. 이와 같이, 구조화된 컨텐트는 원하는 목표/성과에 대한 그것의 관계의 문맥에 있어서 의의가 있을 수 있다.
다양한 목표들/성과들은 컨텐트 제공자 14에게 중요할 수 있기 때문에, 통신 관리 시스템 12은 궁극적으로 사용자들 16에게 전달 또는 제공되는 컨텐트 15(및 컨텐트 15에 대한 구조들)를 관리하기 위하여 제공될 수 있고, 그로 인하여 원하는 목표들/성과들을 달성하는 방식으로 사용자들 16의 행동에 영향을 미친다. 통신 관리 시스템 12은 여기에 기술된 바와 같이 기존의 컨텐트 시스템 10의 기능성을 보충한다. 일 실시예에 따르면, 통신 관리 시스템 12은 컨텐트 제공자 14의 기존의 컨텐트 시스템과 함께 묶이거나 통합될 수 있는 소프트웨어-기초의 또는 소프트웨어-구동형의 제품으로서 구현될 수 있다. 통신 관리 시스템 12은 컨텐트 15와 원하는 목표들 사이의 연계 또는 연결을 식별함으로써, 그리고 장래에 어떤 구조화된 컨텐트가 사용자들 16에게 전달되어야 하는지에 관하여 피드백을 제공함으로써, 구조화된 컨텐트의 모든 애플리케이션을 향상시킬 수 있다.
이를 이루기 위하여, 통신 관리 시스템 12은, 어떤 주어진 컨텐트 15를 그것의 기본적인 구성요소들로 분해하도록 컨텐트 시스템 10과 협동할 수 있고, 사용자들에게 컨텐트를 제공하기 위하여 하나 이상의 컨텐트 구조들 또는 처리들을 생성할 수 있고, 각 처리에 대한 사용자들의 행동 또는 반응을 테스트하기 위하여 실험들을 설계할 수 있고, 제어되는 실험들에서 적절한 데이터 네트워크를 통하여 하나 이상의 사용자들 16에게 처리들을 전달할 수 있고, 각 실험에 대한 성과들/목표들에 대하여 정보 또는 데이터를 수집할 수 있고, 수집된 정보를 이용하여 예상 모델들을 생성할 수 있고, 그리고 예상 모델들을 이용하여 컨텐트 15의 구조를 수정 또는 커스터마이징할 수 있다.
구조화된 컨텐트의 효율성을 최적화하기 위하여, 컨텐트 제공자 14는 사용자들 16의 행동에 관련하여 연계된 포탈 또는 웹 사이트에 대한 그것의 목표들을 결정하고, 통신의 어떤 요소들이 그러한 행동에 영향을 미치는 것에 관련되어 있거나 그러한 행동에 영향을 미칠 가능성을 가지고 있는지를 결정한다. 예를 들면, 컨텐트 제공자 14는, 통상 포탈 또는 웹 사이트로의 사용자들 16의 재방문들을 증가시키기 위하여, 관련된 컨텐트 15와 사용자 선호도들 사이의 보다 나은 매치(match)를 달성하도록 그것의 통신을 최적화하기를 원할 수 있다. 컨텐트 시스템 10 및 통신 관리 시스템 12은 관련된 기본적인 구성요소들의 식별 및 특정을 용이하게 하고, 컨텐트(예를 들면, 메시지들 및 통신 수단들)에 대한 다양한 대안 구조들의 특정을 용이하게 하고, 구현을 위하여 이들 구조들에 제어 변수들 및 값들을 할당한다. 이와 같이, 컨텐트 시스템 10 및 통신 관리 시스템 12은, 예를 들면, 제품 개발, 홍보, 고객 서비스, 광고 효과, 전자 상거래, 또는 컨텐트 15의 실시간 커스터마이징으로부터 이익을 얻을 수 있는 다른 모든 애플리케이션을 최적화, 강화, 또는 그렇지 않으면 개선하기 위하여, 상호 작용적인 통신의 설계 및 개발에 대한 조직적인 접근법을 구현할 수 있다. 이에 따라 컨텐트 시스템 10 및 통신 관리 시스템 12은 사용자들 16에 대한 컨텐트 15의 전달을 관리하기 위한 시스템을 집합적으로 구현할 수 있다.
컨텐트 시스템 10 및 통신 관리 시스템 12은 적절한 데이터 네트워크 또는 디지털 시스템 - 즉, 디지털 서비스들에 의하여 증대된 시스템 - 과 통합되거나 이에 연결될 수 있다. 여기에 사용된 바와 같이, “연결된”, ”연계된”이라는 용어, 또는 그들의 모든 변형은, 둘 이상의 요소들 사이의, 직접적이거나 또는 비직접적인, 모든 연결 또는 연계를 의미한다; 이러한 연결 또는 연계는 물리적이거나 논리적일 수 있다. 일반적으로, 데이터 네트워크 또는 디지털 시스템은 사용자들 16이 컨텐트 시스템 10 및 통신 관리 시스템 12과 상호 작용할 수 있게 하는 상호 작용적인 채널을 제공 또는 지원할 수 있다. 이러한 데이터 네트워크들 또는 디지털 시스템들의 예들은 전화 콜 센터들, 셀룰라 네트워크들, 페이져 네트워크들, 현금 자동 입출금기(ATM) 네트워크들, 인스턴트 메시징 시스템들, 근거리 네트워크들(LANs), 원거리 네트워크들, 인트라넷들, 엑스트라넷들, 쌍방향 텔레비전 서비스들, 또는, 도시된 바와 같이, 인터넷 18을 포함한다.
인터넷 18은 전세계에 위치하고 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 인터네트워크 패킷 교환/순차 패킷 교환(IPX/SPX), 애플토크, 또는 다른 적절한 프로토콜에 따라 정보를 교환하는 “클라이언트들” 및 ”서버들” 컴퓨터의 상호 연결이다. 인터넷 18은 “월드 와이드 웹”으로 알려진 분산된 애플리케이션을 지원한다. 웹 서버들은 웹 사이트들을 유지하고, 각 웹 사이트는 정보가 조회 가능하게 가공되어 있는 하나 이상의 웹 페이지들을 포함한다. 각 웹 사이트 또는 웹 페이지는 각각의 유니폼 리소스 로케이터(URL)에 의하여 식별될 수 있고, 예를 들면, 하이퍼텍스트 마크업 언어(HTML), 확장 마크업 언어(XML), 또는 표준 범용 마크업 언어(SGML)와 같은, 모든 적절한 언어로 포맷팅된 문서들에 의하여 지원될 수 있다. 클라이언트들은 로컬에서 “웹 브라우져” 프로그램을 실행할 수 있다. 웹 브라우져는 월드 와이드 웹과의 정보 교환을 가능하게 하는 컴퓨터 프로그램이다. Netscape Communications Corp.의 NETSCAPE NAVIGATOR, Microsoft Corporation의 INTERNET EXPLORER, Mozilla Foundation의 Firefox 및 인터넷 18에 대한 편리한 액세스와 내비게이션을 가능하게 하는 다른 것들과 같은 모든 다양한 웹 브라우져가 이용될 수 있다. 정보는, 예를 들면, 하이퍼텍스트 전송 프로토콜(HTTP) 또는 파일 전송 프로토콜(FTP)과 같은, 적절한 프로토콜을 이용하여 웹 서버에서 클라이언트로 전달될 수 있다. 인터넷 18은 사용자들 16과 컨텐트 및 통신 관리 시스템들 10 및 12 사이의 상호 작용적인 통신을 가능하게 한다.
일 실시예에 따르면, 컨텐트 시스템 10 및 통신 관리 시스템 12은 컨텐트 제공자 14가 인터넷 18과 같은 데이터 네트워크를 통하여 사용자들 16에게 전달되는 컨텐트 15를 자동적으로 커스터마이징하는 것을 가능하게 한다. 널리 보급된 인터넷 18의 대중성으로 인하여, 컨텐트 시스템 10 및 통신 관리 시스템 12은 상대적으로 많은 수의 사용자들 16에 닿을 수 있는 능력을 가지며, 그로 인해 커다란 풀에서의 사용자들의 의미 있는 세그먼테이션(segmentation) 및 실험을 가능하게 한다. 이 설명의 나머지 부분은 주로 인터넷 18의 문맥에서의 시스템 및 방법에 초점을 맞추고 있지만, 본 발명은 사용자들의 넓은 단면을 제공하기 위해 상대적으로 많은 수의 사용자들 16에 닿거나 연결될 수 있는 모든 데이터 네트워크에 대하여 폭넓게 적용될 수 있는 것으로 이해되어야 한다. 이러한 데이터 네트워크는, 예를 들면, 웹TV, 쌍방향TV, WAP+ 모바일 서비스들, 또는 모든 다른 상호 작용적인 채널일 수 있다.
컨텐트 시스템 10 및 통신 관리 시스템 12은 사용자들 16을 동적으로 분할하고 개인화 규칙들을 자동적으로 생성하고, 그리고 제품들/서비스들에 대한 웹 페이지들, 오퍼들을 전달함으로써, 또한 원하는 목표들을 달성하기 위한 다른 상호 작용적인 통신으로써, 완전히 자동화된 해결책을 제공할 수 있다. 바꾸어 말하면, 컨텐트 시스템 10 및 통신 관리 시스템 12은 사용자들 16에게 무엇이 중요한지를 결정할 수 있고, 그리고 나서, 예를 들면, 판매 및 이익 증대, 전자 마케팅 효과 개선, 및 특정 업무 지능 애플리케이션들의 강화와 같은, 특정 성과들/목표들을 달성하기 위하여 상호 작용적인 통신들을 최적화하는 데에 이 정보를 사용할 수 있다.
컨텐트 시스템 및 통신 관리 시스템
도 2는 컨텐트 시스템 10 및 통신 관리 시스템 12에 대한 블록도이다. 컨텐트 시스템 10 및 통신 관리 시스템 12은 구조화된 컨텐트의 모든 애플리케이션을 향상시키기 위하여 협동한다. 도시된 바와 같이, 컨텐트 시스템 10은 할당자 모듈 22, 컨텐트 저장소 24, 및 사용자 인터페이스 26를 포함한다. 통신 관리 시스템 12은 실험 엔진 30, 모델 엔진 32, 예상 엔진 34, 관찰 모듈 36, 컨텐트 제공자 인터페이스 38, 및 스크립팅/스케쥴링 엔진 39을 포함한다.
컨텐트 시스템 10에 있어서, 컨텐트 저장소 24는, 예를 들면, 인터넷 18을 통하여 다양한 사용자들 16에게 전달 및 제공될 수 있는 컨텐트 15를 저장하는 기능을 한다. 이러한 컨텐트 15는, 예를 들면, 판매를 위하여 제공되고 있는 상품들 또는 서비스들의 이미지들 및/또는 설명들, 각 상품 또는 서비스에 대한 가격표들, 온라인 주문에 관한 자세한 정보, 다양한 관심 영역들에 대한 목록들, 하나 이상의 웹 사이트들에 대한 링크들, 배너 광고들 등을 포함할 수 있다. 이러한 컨텐트 15의 전부 또는 일부는 디지털 형식으로 유지될 수 있다. 컨텐트 저장소 24는 랜덤 액세스 메모리(RAM), 디스크 저장소, 또는 다른 적절한 휘발성 및/또는 비휘발성 저장 매체와 같은, 임의의 하나 이상의 적절한 저장 매체들로서 구현될 수 있다. 일 실시예에 따르면, 컨텐트 저장소 24는 관계 데이터베이스를 포함할 수 있다.
사용자 인터페이스 26는 컨텐트 저장소 24에 연결된다. 사용자 인터페이스 26는 전체적으로 컨텐트 시스템 10과 하나 이상의 사용자들 16 사이의 인터페이스를 제공 또는 지원하는 기능을 하는데, 각 사용자는 인터넷 18에 연결되는 적절한 클라이언트 컴퓨터를 사용한다. 사용자 인터페이스 26는 사용자들로부터 컨텐트 15에 대한 요청들을 수신할 수 있다. 예시적인 요청은 제품들의 특정 라인을 표시하는 웹 페이지에 대한 요청일 수 있고, 그 웹 페이지에 대하여, 예를 들면, 유니폼 리소스 로케이터(URL)와 같은, 특정 식별자를 특정할 수 있다. 게다가, 웹 페이지 요청은 웹 페이지 상의 특정 하이퍼링크에 대한 “클릭”이라는 사용자의 행위와 관련되어 있을 수 있다. 이러한 요청들에 대응하여, 사용자 인터페이스 26는 컨텐트 15를 전달하거나 제공한다. 사용자 인터페이스 26의 구성요소들의 상호 연결은, 컨텐트의 전달의 책임을 맡고 있는 데이터 네트워크(예를 들면, 인터넷 18)의 기초 아키텍쳐에서 이용될 수 있는 것과 같이, 적절한 통신 허브들, 라우터들, 또는 다른 방법으로 지원될 수 있다.
컨텐트 저장소 24에 연결된, 할당자 모듈 22은, 실행 시, 여기에 기술된 기능을 수행하는 하나 이상의 프로그램들을 포함할 수 있다. 할당자 모듈 22은 전체적으로 다양한 사용자들 16에게 컨텐트 15를 할당하는(즉, 전달되도록 유발시키는) 기능을 한다. 할당은, 예를 들면, 다음에 기초하여 이루어질 수 있다: 사용자들 16에 관한 이용 가능한 정보, 및 어떤 주어진 사용자 16를 실험에 배치하거나 예상들 및 모델들에 따라 컨텐트를 전달할 수 있는, 컨텐트 시스템 10 또는 통신 관리 시스템 12 내의 다른 요소들 또는 모듈들로부터 비롯되는 명령들.
이와 같이, 할당자 모듈 22은 사용자들 16로부터의 컨텐트 15에 대한 요청들에 반응할 수 있다. 각 요청에 대하여, 할당자 모듈 22은 실험의 목적으로 또는 무엇이 원하는 성과/목표를 달성할지에 관한 예상에 기초하여 컨텐트 구조 또는 처리를 할당할 수 있다. 이를 이루기 위하여, 할당자 모듈 22은, (여기에 기술된) 실험 규칙들 및 예상 규칙들과 같은, 상황 특정 규칙들을 적용할 수 있다. 또한, 할당자 모듈 22은, 예를 들면, 어떤 사용자들 16이 제어된 통신(즉, 특정 컨텐트)을 받도록 지정될지를 결정하기 위하여, 웹 사이트 또는 포탈에서의 모든 트래픽의 샘플을 추출할 수 있다. 따라서, 할당자 모듈 22은 개개의 사용자에 따라 표시될 컨텐트 15가 무엇인지에 대한 안내를 컨텐트 시스템 10에 제공한다. 할당자 모듈 22은 통신 관리 시스템 12 내의 관찰 모듈 36과 연결되고 컨텐트 시스템10을 대표하여 거기에 관찰 데이터를 저장할 수 있다.
할당자 모듈 22은 또한 통신 관리 시스템 12과 컨텐트 시스템 10 사이의 인터페이스를 지원하거나 제공한다. 이에 따라, 할당자 모듈 22은 웹 서버 소프트웨어(예를 들면, NETSCAPE, APACHE, 또는 JAVA SERVLET에서 사용 가능함) 및 관리 애플리케이션 소프트웨어(예를 들면, VIGNETTE, SPECTRA, 또는 BROADVISION)와 상호 작용 및 통합할 수 있는 적절한 애플리케이션 프로그램 인터페이스(API)를 포함할 수 있다.
할당자 모듈 22의 기능은 메인-프레임, 파일 서버, 워크스테이션, 또는 적당한 소프트웨어를 실행하고 MS-DOS, Apple Macintosh OS, WINDOWS XP 또는 VISTA, WINDOWS 2000, 0S/2, UNIX, XENIX, GEOS 등과 같은 모든 적절한 운영 체제의 제어 하에서 동작하는 다른 적절한 데이터 프로세싱 설비와 같은, 임의의 적절한 프로세서에 의하여 수행될 수 있다.
통신 관리 시스템 12은 컨텐트 시스템 10과 통신한다. 통신 관리 시스템 12을 참조하면, 실험 엔진 30은 컨텐트 저장소 24 및 할당자 모듈 22(모두 컨텐트 시스템 10 내에 있음)과 연결된다. 실험 엔진 30은 다양한 실험들에 대한 정의들 및 컨텐트 15를 수신할 수 있다. 실험 엔진 30은, 실행 시, 여기에 기술된 기능을 수행하는 하나 이상의 프로그램들을 포함할 수 있다. 실험 엔진 30은 전체적으로, 특정 컨텐트 15 및/또는 그 컨텐트가 포맷팅된 특정 방법(즉, 처리들)에 대한 사용자들 16의 행동 및 반응을 테스트하기 위하여 하나 이상의 실험들의 생성 및 실행을 지원하는 기능을 수행한다. 각 실험에 대하여, 실험 엔진 30은 실험이 진행되는 동안 처리들이 할당되는 방법을 지령하는 규칙들의 집합을 생성할 수 있다. 실험 엔진 30에 의하여 생성되고 실행되는 실험들은, 예를 들면, 완전 배치 실험들 및 완전 배치 실험들의 설계된 부분들(간단하게 “설계된 실험들”이라고도 지칭됨)을 포함할 수 있다.
컨텐트 요소들의 주어진 집합에 대한 완전 배치 실험에서는, 컨텐트 요소들의 모든 가능한 조합이 고려된다. 각 컨텐트 요소는 고찰 및 분석되는 팩터를 구성할 수 있다. 완전 배치 실험은 각 팩터의 효과를 따로 떼어서 추정하는 것을 가능하게 한다. 즉, 완전 배치 실험으로부터 비롯되는 결과들은, 모든 다른 컨텐트 요소로부터 독립하여 관찰된 성과에 대하여 각 컨텐트 요소가 갖는 주 효과에 대한 모든 정보를 포함한다. 또한 완전 배치 실험은 팩터들의 모든 가능한 조합들 사이의 각각의 그리고 모든 상호 작용의 효과를 추정한다.
예를 들어, 두 가지 타입의 컨텐트 요소들: 배너 광고 및 상기 배너 광고 아래에 표시되는 텍스트 메시지가 있는 경우를 생각해 보자. 각 컨텐트 요소는 두 가지 변형을 가질 수 있다. 배너 광고에 있어서, 상기 변형은 정적인 것과 동적인 것일 수 있다. 메시지에 있어서는, 상기 변형은 “click here now”과 “save 20%”일 수 있다. 따라서, 보여질 수 있는 4 가지의 가능한 조합이 있다: (1) “click” 메시지가 있는 정적인 배너 광고, (2) “save” 메시지가 있는 정적인 배너 광고, (3) “click” 메시지가 있는 동적인 배너 광고, 그리고 (4) “save” 메시지가 있는 동적인 배너 광고. 각 요소(즉, 정적, 동적, “click”, 및 ”save”)에 대한 주 효과들뿐만 아니라 각 요소의 모든 가능한 조합들에 대한 상호 작용 효과들이 관찰될 수 있다. 따라서, 모든 가능한 효과들의 전체 공간이 추정될 수 있다. 완전 배치 실험은 컨텐트 구조에 대한 모든 가능한 대안들을 고려하기 때문에, 관찰된 성과들에 관한 매우 완전한 분석을 지원한다.
실험에서의 변수들의 개수는 선형적으로 증가되더라도, 이에 따라 컨텐트 요소들의 조합들의 개수는 지수적으로 증가한다. 즉, 주어진 실험에 다른 컨텐트 요소 또는 변형이 추가될 때, 그 실험을 위한 조합들의 개수는 현저하게 증가할 수 있다. 예를 들면, 각각 3가지 변형을 가지는 4개의 컨텐트 요소들에 대하여, 81가지의 조합들이 가능하다. 각각 4가지 변형들을 가지는 5개의 컨텐트 요소들에 대하여는, 가능한 조합들의 개수가 1024가지이다. 이러한 측면에서, 완전 배치 실험은 실험의 목적에 적합한 것보다 많은 조합들을 만들어 낼 수 있다 - 즉, 웹 사이트에 대한 “방문들”의 주어진 속도에 있어서, 샘플링 조건들을 만족시키기 위하여 필요한 시간이 받아들이기 어려울 정도로 길 수 있다.
설계된 실험들은, 여전히 관심의 대상이 되는 효과들의 측정 및 추정을 가능하게 하면서도, (완전 배치 실험과 비교하여) 실험에 필요한 조합들의 개수를 줄인다. 설계된 실험들은, 모든 다른 효과들을 제어하는 동안, 전형적으로 특정 관심 대상의 효과들의 상대적으로 작은 그룹에 초점을 맞춘다. 설계된 실험들은 특정 사건들 및 그 사건들이 발생하는 조건들을 제어하기 위하여 실험적인 설계를 사용하고, 이에 따라 어떤 관찰된 성과와 관련하여 그러한 사건들의 효과가 명백하게 측정 및 추정될 수 있게 한다. 바꾸어 말하면, 설계된 실험은, 제어될 수 있는 하나 이상의 변수들(예를 들면, 광고의 배경 색, 광고의 화면 배치, 광고의 크기)을 변화시키고 그러한 변화들이 관심 대상의 하나 이상의 성과들에 미치는 효과들을 평가하는, 조직적인 방법이다. 설계된 실험은 변수들의 주 효과들만을 고려할 수 있다. 따라서, 설계된 실험은 실험에 수반되는 정보(예를 들면, 조합들의 개수)를 줄이고, 이에 따라 잠재적으로 샘플링 조건들(예를 들면, 실험에 참여하기 위하여 필요한 최소 사용자 16 수)에 있어서의 상당히 큰 감축을 허용한다.
예를 들면, 각각 4가지 변형을 가지는 5개의 요소들에 있어서, 중요한 상호 작용 효과는 없다고 가정하면, 실험 엔진 30은, 완전 배치 실험에 필요한 1024가지의 조합들이 아니라, 오직 16가지의 조합만을 이용하여 모든 주 효과들(즉, 상호 작용들을 포함하지 않는 효과들)의 측정 및 추정을 가능하게 할 설계된 실험을 생성할 수 있다.
실험 엔진 30은, 다양한 방법으로, 설계된 실험을 생성할 수 있다. 예를 들면, 실험 엔진 30은, 예를 들어, U.S. National Bureau of Standards에 의해 공표된 테이블들과 같은, 다양한 룩-업 테이블들을 병합하거나 포함할 수 있다. 테이블들에 더하여, 설계된 실험들은, 실행 시, 알고리즘의 설계 기준을 만족하는 적당한 테이블들을 생성할 알고리즘들을 이용하여 생성될 수도 있다. 이들 테이블들 및 알고리즘들은 (여기서 기술되는) 행동 모델들에 대한 적당한 제약들을 식별하는 데에 이용될 수 있다. 게다가, 설계된 실험들은 변수 값들에 대한 임의 선택에 의하여, 또는 완전 배치 공간을 통하여 프로그래밍된 검색 알고리즘들에 의하여 생성될 수 있다.
설계된 실험들은 다수의 중요한 기준들을 이용하여 설명될 수 있다. 예를 들면, 그것들이 허락하는 특정 효과들에 의하여 기술될 수 있는 설계들; 팩터들 및 포함되는 팩터 레벨들의 개수 및 각 팩터 내에 동일한 개수의 레벨들이 존재하는지 여부; 목표 성과와 관련하여 산출되는 정보의 양. 실험 엔진 30은 특정 애플리케이션으로 이용할 최상의 설계를 찾거나 산출하기 위하여 이들 방법들의 어느 하나 또는 전부를 사용할 수 있다.
설계된 실험들은 통신 관리 시스템 12이 사용자들 16의 선택들을 유발하는 변수들의 몇몇에 관하여 추론할 수 있게 한다. 이들 설계된 실험들은 임의 유용 이론(RUT)의 이해를 달성하거나 지원할 수 있다. 임의 유용 이론은 어떤 아이템(예를 들면, 배너 광고 또는 웹 페이지)의 사용자에 대한 진가는 관찰될 수 없다고 주장하고, 이는 그것이 사용자의 마음 속에 있는 정신적인 것이기 때문이라고 한다. 즉, 사용자가 특정 결정에 도달하게 하는 사고 프로세스가 항상 획득되거나 관찰될 수는 없다는 것이다. 이러한 측면에서, 설계된 실험들은 통신 관리 시스템 12이, 사용자들이 생각하거나 표현하는 것이 아닌, 그들이 실제로 행동하는 것에 기초하여 사용자 선택들을 유발하는 변수들의 몇몇에 관하여 추론할 수 있게 한다.
일 실시예에 따르면, 실험 엔진 30은 다음에 대한 기능을 제공한다: a) 모든 가능한 조합들을 고려하는 완전 배치 실험들, b) 최소의 가능한 조합들(“주 효과만”)을 고려하는 설계된 실험들, 그리고 c) 모든 2-변수 상호 작용들 또는 선택된 2-변수 상호 작용들을 추정하는 설계된 실험들.
모델 엔진 32은 실험 엔진 30과 통신하고 그것으로부터 다양한 실험들의 정의를 얻을 수 있다. 모델 엔진 32은, 실행 시, 여기에 기술된 기능을 수행하는 하나 이상의 프로그램들을 포함할 수 있다. 각 실험으로부터 산출되는 데이터는 컨텐트 제공자 14에 의하여 설정되는 목표들에 상응하는 성과들을 특정한다. 일단 실험들이 완료되면, 이 데이터는 컨텐트 요소들이 사용자들 16의 행동에 영향을 미치는 정도를 식별하기 위하여 모델 엔진 32으로 전송될 수 있다. 즉, 모델 엔진 32은 인간의 결정들 및 선택들에 대한 하나 이상의 행동 모델들을 생성하기 위하여 다양한 실험들 중에 수집된 결과들 또는 데이터를 이용한다.
전체적으로, 모델은 유사한 특성들을 가진 사용자들의 과거 행동에 대해 행해진 관찰들에 기초하여 사용자들 16이 장래에 할 행동을 예상하는 것을 꾀한다. 행동 모델은, 컨텐트 구조 또는 처리의 어떤 측면들이 특정 성과를 달성할 확률에 영향을 미칠 것인지를 결정하는 데에 이용되는, 섬세하고, 연속적이고, 그리고 이산의 다변량 통계학적 모델을 포함할 수 있다. 상호 작용적인 환경에서 사용자들 16이 행하는 모든 행위들은, 임의 유용 이론에 기초하는 선택 모델들의 형태들을 이용하여, 관찰되거나 모델링될 수 있다. 즉, 사용자들 16의 관찰된 행동 특성들은 설계된 실험들의 결과로서 생기는 선택 모델들에 내재될 수 있다. 모델들은 사용자들이 상이한 자극(예를 들면, 처리들)에 대하여 어떻게 반응하는지에 관하여 사용자들 16의 행동을 모델링할 수 있다. 모델 엔진 32은 이러한 분석을 수행하고 원하는 목표들을 만족시키기 위하여 장래에 사용자들 16에게 어떤 처리들을 제공할 것인지를 제안한다.
행동 모델은, 예를 들면, 특정 배너 광고를 클릭할지 여부, 제공되고 있는 특정 제품을 구입할지 여부 등과 같은, 특정 결정을 내리기 위하여 사용자에 의하여 이용되는 미지의 의사-결정 프로세스의 통계학적 추상일 수 있다. 따라서, 사용자의 의사 결정 프로세스가 관찰될 수 없다고 할지라도, 행동 모델링은 경제 계량학자들 및 심리 계량학자들에 의하여 개발되고 정제된 임의 유용 이론을 이용하여 이들 프로세스들을 통계학적으로 근사화하는 것을 꾀한다. 사용자의 선택 중 설명되지 않은 구성요소는 행동 모델의 예상 출처인 그 사용자의 일탈인 것으로 간주될 수 있다. 사용자 행동 중 설명될 수 없는 요소가 존재한다는 점에 있어서 이것은 “확률적”이다.
따라서 모델 엔진 32에 의하여 생성되는 모델들은 어떤 샘플 또는 세그먼트로부터 임의로 선택된 사용자 16가 다수의 가능한 행동들에 직면할 때 특정 행위 또는 행위들의 조합을 행할 확률을 모델링하고 예상할 수 있다. 이에 따라, 행동 모델들은 사용자 선택들을 고려할 수 있다. 이들 선택 모델들은 사용자에 의하여 내려질 정확한 선택을 예상하는 것이 아니라, 그보다는 어떤 주어진 사용자가 특정 행동을 선택할 확률을 예상한다. 특히, 선택 모델들은, 각각의 실험에서 조작되는 하나 이상의 요소들에 따라 또는 사용자들의 프로파일들에 따라, 사용자들의 선택들 또는 결정들(즉, 그들의 행동)의 확률이 어떻게 변할지를 기술한다. 이에 따라 선택 모델들은 선택들에 대한 옵션들을 기술하는 변수들(예를 들면, 가격들, 할인 수준들, 웹 사이트에서 제공되는 제품들의 색들) 및 사용자들 16을 기술하는 변수들(예를 들면, 시각, 요일, 인터넷 서비스 제공자(ISP), 애플리케이션을 위한 운영 체제)을 고려한다. 사용자들 16을 기술하는 변수들의 산입은, 선택 모델들이 컨텐트, 오퍼들 등을 특정 사용자 프로파일들에 대하여 최적화하는 데에 이용될 수 있도록 한다. 예를 들면, 모델 엔진 32은 사용자들 16의 선택 확률들이 배경 색 및 페이지 배치뿐만 아니라 시각, 요일 및 ISP에 따라 어떻게 변화하는지를 예측하는 모델을 생성해내고, 그리고 나서 예상 엔진 34 및 모델 엔진 32은 목표(예를 들면, 클릭율을 최대화하는 것)를 최적화하기 위하여 어떤 주어진 사용자에게 어떤 색 및 배치 위치가 제공 또는 표시되어야 하는지를 예상할 수 있다. 따라서, 모델은 컨텐트 15의 어떤 집합이 원하는 성과를 달성하는 데에 가장 적합한지를 결정하는 데에 이용될 수 있다.
선택 모델에 대한 일 실시예에 따르면, 사용자들의 의사 결정 프로세스들 중 설명되지 않은 구성요소는 검벨 분포(Gumbel distribution)에 따라 분포된다. 그 분포에 의하면 각 선택의 편차들은 합이 0이 되고, 각 편차는 독립적이며 동일한 분산을 갖는다. 이는 다항 로짓(multinomial logit; MNL) 모델로 알려진 모델을 산출한다. 다중 선택의 상황에 대하여, MNL 모델은 다음과 같이 표현될 수 있다:
Figure 112009042864759-pct00001
위의 방정식에서, V i 및 V j i번째 및 j번째 선택 옵션(행위들, 선택들)의 값들이고, exp는 지수 연산자(즉, eV)이고, 그리고 C는 가능한 행위들 또는 선택들의 집합이다. MNL 모델을 적용함에 있어서, V들은 관심 영역의 변수들의 선형 파라미터(linear-in-the-parameters) 함수들인 것으로 추정된다. 즉, V들은 어떤 예상자 변수들(예를 들면, 광고의 색, 광고의 배치, 관측된 행동의 시각, 사용자의 ISP, 광고 색 및 ISP의 상호 작용 등)의 다중 회귀 유사(multiple-regression-like) 함수들로서 표현된다. 파라미터들은 실험의 성과로서 얻어지는 데이터로부터 각 변수에 대하여 추정된다. 그리고 나서 파라미터들은 특정 사용자 프로파일이 특정 선택 옵션(행위)을 선택할 확률을 예상하기 위하여 MNL 모델에서 이용된다. 대안적으로, 모델의 결과들은, 예를 들면, ISP로서 AOL을 이용하고 수요일 오전 2시와 오전 3시 사이에 웹 사이트와 상호 작용하는 사용자에 대하여 광고 색 및 배치의 어떤 조합이 표시되어야 하는지와 같이, 특정 프로파일을 가진 사용자에게 변수들(즉, 처리)의 어떤 특정 조합이 보여져야 하는지를 결정하기 위하여 이용된다.
모델 엔진 32은, 예를 들면, 사용자들의 클릭 패턴들, 질문들에 대한 응답들, 세션 시간들, 구입들, 등록들, 재방문들, 옵션 선택들 등에서 드러나는 것과 같은, 사용자들 16(예를 들면, 웹 사이트 방문자들)의 선택들에 대한 선택 모델링, 베이지안(Bayesian) 모델링, 또는 다른 유용한 모델링을 위한 기술들을 구현할 수 있다. 일 실시예에 따르면, 모델링은 베이지안 마르코프 체인 몬테 카를로(Bayesian Markov Chain Monte Carlo) 추정 절차들에 관한 기술들을 구현할 수 있다. 모델 엔진 32은, 모델 엔진 32이 관찰 모듈 36로부터 모델링에 필요한 실험 데이터의 그 일부를 추출할 수 있게 하는, “모델 명령”으로 지칭되는, 구조를 이용할 수 있다.
예상 엔진 34은 모델 엔진 32 및 할당자 모듈 22과 통신한다. 예상 엔진 34은, 실행 시, 여기에 기술된 기능을 수행하는 하나 이상의 프로그램들을 포함할 수 있다. 실험 및 모델링으로부터, 예상 엔진 34은 하나 이상의 예상들을 생성하거나 만드는 기능을 한다. 예상은, 하나 이상의 원하는 성과들/목표들을 달성하는 데에 가장 효과적인 방법으로 사용자들 16에게 컨텐트 15를 전달하는 데에 이용되는 모델에 대한 간단한 기술일 수 있다. 예를 들면, 예상은 어떤 특성들을 가지는 사용자 16가, 특정 웹 사이트에 대하여, 키 웹 페이지들에 클릭하여 들어올 것, 그 웹 사이트에서 상품을 구입할 것, 오후 9시와 자정 사이에 방문할 것, 또는 관심의 대상이 되는 임의의 다른 전략적 목표를 예상할 수 있다.
일 실시예에 따르면, 예상 엔진 34은, 모델로부터, 웹 사이트를 방문하는 임의의 주어진 사용자가 모델의 목표와 일치하게 (즉, 컨텐트 제공자 14의 특정 목적 또는 목표와 일치하게) 행동하도록 하는 가장 큰 원인이 될 만한 것으로 예상되는 컨텐트 요소들의 집합을 식별할 수 있다. 다른 실시예에 따르면 예상 엔진 34은 컨텐트 제공자 14가 그러한 식별을 수행할 수 있게 한다.
예상 엔진 34은, 컨텐트 15에 대한 요청들에 대응하여 사용자들 16에게 컨텐트 15를 할당할 때 사용될 수 있는 예상 공변량들을 생성할 수 있다. 즉, 예상 엔진 34은, 어떤 종류의 사용자들에게 특정 컨텐트를 타게팅하고 이에 따라 컨텐트 15의 전달에서의 개인화를 제공하기 위한 예상 규칙들을 생성할 수 있다. 예상 규칙들은 상이한 타입 또는 클래스의 사용자들 16을 특정 컨텐트 15에 매칭시키는 규칙들의 집합일 수 있다. 따라서, 예상 엔진 34은 (관찰된 행동에 대한 추상적 기술을 제공하는) 모델을 원하는 행동의 최적화를 꾀하는 규칙들의 단순한 집합으로 변환한다. 예상 규칙들은 사용자들 16에 대한 컨텐트 15의 전달에 있어서의 적용을 위하여 할당자 모듈 22로 전송된다.
실험 엔진 30, 모델 엔진 32, 및 예상 엔진 34의 각각의 기능은 메인-프레임, 파일 서버, 워크스테이션, 또는 적당한 소프트웨어를 실행하고 MS-DOS, Apple Macintosh OS, WINDOWS XP 또는 VISTA, WINDOWS 2000, 0S/2, UNIX, XENIX, GEOS 등과 같은 모든 적절한 운영 체제의 제어 하에서 동작하는 다른 적절한 데이터 프로세싱 설비와 같은, 임의의 적절한 프로세서에 의하여 수행될 수 있다.
관찰 모듈 36은 (컨텐트 시스템 10 내의) 할당자 모듈 22, 실험 엔진 30, 및 모델 엔진 32과 통신한다. 관찰 모듈 36은 전체적으로 관찰 데이터를 유지 또는 저장하는 기능을 한다. 관찰 데이터는 컨텐트 제공자 14의 웹 사이트를 방문하는 사용자들 16의 관찰된 행동과 관련 있는 정보 또는 데이터일 수 있다. 관찰 데이터는 통신 관리 시스템 12에 의하여 수행되는 각 실험에 대하여 수집될 수 있고, 이에 따라, 실험의 조건들 및 관찰된 성과들에 대한 정보를 포함할 수 있다. 게다가, 관찰 모듈 36 내에 저장되는 관찰 데이터는, 실험 변수들, 공변량들, 및 종속 변수들과 같은 다수의 변수들에 대한 데이터를 포함할 수 있다. 실험 변수들은 컨텐트 그 자체에 관한 것이거나 컨텐트 그 자체를 나타낼 수 있다. 예를 들면, 실험 변수들은 실험에 대한 컨텐트 처리들 및 실험에 소요되는 시간에 관한 것이거나 이들을 특정할 수 있다. 실험 변수들은 제어될 수 있거나 독립 변수들로 간주될 수 있다. 종속 변수들은 성과들에 관한 것이거나 이들을 나타낸다. 예를 들면, 종속 변수들은 처리 할당에 선행 또는 후행하는 사용자들의 관찰된 행동에 관한 것일 수 있다. 종속 변수들은, 전형적으로, 최적화되어야 하는 목적 기능의 구성요소들일 것이다. 설명에 도움이 되는 예로서, 종속 변수들은 처리들의 할당 및 그러한 할당에 대한 성공들 혹은 실패들에 관한 것일 수 있다. 사용자 16가 처리에 대하여 원하는 방법으로 반응하면 처리 할당의 인스턴스는 “성공”인 것으로 간주되고; 사용자 16가 처리에 대하여 원하는 방법으로 반응하지 않으면 처리 할당의 인스턴스는 “실패”인 것으로 간주된다. 공변량들은 사용자들 16에 관한 것이거나 이들을 나타내는 변수들이다. 예를 들면, 공변량들은 최종 사용자의 특성들(예를 들면, 특정 컴퓨터 및 웹 브라우져)에 관한 것이다. 게다가, 공변량들은 사용 특성들(예를 들면, 클릭된 버튼들, 선택된 내비게이션 옵션들, 제출된 정보들, 성립된 구입들 등)에 관한 것일 수 있다. 또한 관찰 데이터는 웹 사이트의 데이터 로그 또는 고객 데이터베이스로부터 이용 가능한 정보를 포함할 수도 있다. 이러한 데이터 및 정보를 이용하여, 통신 관리 시스템 12은 사용자들 16을 이산 그룹들로 분할하거나 사용자들 16의 분포를 특정할 수 있고, 여기서 각 그룹화 및 분포는 행동 성과들의 특정 집합에 의하여 특징지워질 수 있다.
관찰 모듈 36은 랜덤 액세스 메모리(RAM), 디스크 저장소, 또는 다른 적절한 휘발성 및/또는 비휘발성 저장 매체와 같은 임의의 하나 이상의 적절한 저장 매체들로서 구현될 수 있다. 일 실시예에 따르면, 관찰 모듈 36은 관계 데이터베이스를 포함할 수 있다.
컨텐트 제공자 인터페이스 38는 (컨텐트 시스템 10 내의) 컨텐트 저장소 24, 실험 엔진 30, 및 관찰 모듈 36과 통신할 수 있다. 컨텐트 제공자 인터페이스 38는 모델 결과들을 수신하고, 분석, 평가, 선택, 측정, 및 기초 보고들을 시작한다. 컨텐트 제공자 인터페이스 38는 전체적으로 통신 관리 시스템 12과 정보 서비스 관리자와 같은 컨텐트 제공자 14에서의 인간 사용자 사이의 인터페이스를 지원한다. 컨텐트 제공자 인터페이스 38는 관리자 사용자가 질문하고, 시나리오들을 기록 및 테스트할 수 있게 하고, 그리고 결과들을 정량화하기 위해 보고들을 생성 또는 획득할 수 있게 한다.
예를 들면, 컨텐트 제공자 인터페이스 38는 관리자 사용자가 통신 관리 시스템 12에 의하여 수행되는 실험, 모델링, 및 예상에 대한 프로세스들의 설정 및 관리에 있어서 지원할 수 있게 한다. 컨텐트 제공자 인터페이스 38는 컨텐트 저장소 24로 입력할 새로운 컨텐트 15, 및 실험 엔진 30에 전달할 정의들을 수신할 수 있다. 일 실시예에 따르면, 컨텐트 제공자 인터페이스 38는 다양한 실험들에 관한 조건들 및 공간, 조작될 속성들 및 레벨들, 추적되는 개인 데이터를 정의하는 데에 이용될 수 있고, 다양한 실험 설계들의 발생 및 생성을 시작하는 데에 이용될 수 있다. 게다가, 컨텐트 제공자 인터페이스 38는 관리자 사용자가, 관찰 모듈 36로부터 직접 얻어지는 미가공 형식 및 모델 엔진 32으로부터 얻어지는 모델 형식 모두의 데이터를 조회 및 분석할 수 있게 한다.
컨텐트 제공자 인터페이스 38의 기능은, 정보를 획득할 수 있는 키 패드, 터치 스크린, 입력 포트, 포인팅 장치(예를 들면, 마우스), 마이크로폰, 및/또는 다른 장치와 같은 하나 이상의 적절한 입력 장치들, 및 디지털 데이터, 시각 정보, 또는 오디오 정보를 포함하는 정보를 전달하기 위한 컴퓨터 디스플레이, 출력 포트, 스피커, 또는 다른 장치와 같은 하나 이상의 적절한 출력 장치들에 의하여 수행될 수 있다. 일 실시예에 따르면, 컨텐트 제공자 인터페이스 38는 입력, 조회, 및/또는 정보 검색을 용이하게 하는 버튼들, 창들, 풀-다운 메뉴들 등과 같은 다수의 상호 작용적인 장치들을 갖는 적어도 하나의 그래픽 사용자 인터페이스(GUI)을 포함할 수 있거나 이를 표시하는 것이 가능할 수 있다.
스크립팅/스케쥴링 엔진 39은 할당자 모듈 22, 실험 엔진 30, 모델 엔진 32, 예상 엔진 34, 및 컨텐트 제공자 인터페이스 38와 통신할 수 있다. 스크립팅/스케쥴링 엔진 39은, 실행 시, 여기에 기술된 기능을 수행하는 하나 이상의 프로그램들을 포함할 수 있다. 스크립팅/스케쥴링 엔진 39은 대개 통신 관리 시스템 12 및 컨텐트 시스템 10의 전체적인 동작을 관리하는 기능을 한다.
스크립팅/스케쥴링 엔진 39은 할당자 모듈 22, 실험 엔진 30, 모델 엔진 32, 예상 엔진 34, 및 관찰 모듈 36의 행동, 활동, 및/또는 상호 작용을 조정하는 스크립트들의 생성을 제공 또는 지원한다. 따라서, 스크립팅/스케쥴링 엔진 39은 여기에 기술된 실험, 모델링, 및 예상의 전체 프로세스를 자동화할 수 있다. 필수적으로, 각 스크립트는 특정 행위 또는 행위들의 집합을 수행하기 위하여 컨텐트 시스템 10 또는 통신 관리 시스템 12 내의 하나 이상의 요소들을 감독할 수 있다.
예를 들면, 스크립팅/스케쥴링 엔진 39은 사용자들 16의 행동 또는 반응을 측정하기 위하여 수행되는 다양한 실험들의 설정을 지원한다. 각 실험에 대하여, 스크립팅/스케쥴링 엔진 39은 정의들을 생성하거나 공급할 수 있다. 이들 정의들은 실험들을 수행하기 위하여 할당자 모듈 22에 공급될 수 있다. 게다가, 스크립팅/스케쥴링 엔진 39은 실험의 완료를 모니터링할 수 있고, 따라서, 모델 엔진 32이 실험 데이터로부터 모델을 만들거나 생성하도록 감독할 수 있다. 스크립팅/스케쥴링 엔진 39은 그러한 실험들의 결과들을 모델들로, 궁극적으로, 특정 성과들/목표들을 달성하기 위하여 설계되는 예상들로 변환하는 것에 대한 스크립팅을 생성 또는 공급할 수 있다. 스크립팅/스케쥴링 엔진 39은 모델을 만드는 방법에 대한 명령들을 모델 엔진 32에 전달할 수 있다. 이들 명령들은 관찰 모듈 36 내의 데이터 위치들 및 다수의 변수들(예를 들면, 실험 변수들, 공변량들, 및 종속 변수들) 각각의 명칭들, 보다 용이한 모델링을 위한 인코딩에 있어서의 번역들, 연속에서 이산으로의 데이터 형식의 변환들 및 모델 형식, 및 모든 다른 파라미터들을 특정할 수 있다. 스크립팅/스케쥴링 엔진 39은 컨텐트 15에 대한 사용자 요청들을 처리함에 있어서 할당자 모듈 22에 의하여 이용될 수 있도록 모델의 상태에 대한 시간-관계된 해석을 생성할 수 있다. 게다가, 스크립팅/스케쥴링 엔진 39은, 실험을 위하여 아니면 모델들/예상들에 따라, 컨텐트 15를 전달하는 것에 대한 지시들 또는 명령들을 할당자 모듈 22에 제공할 수 있다. 각 스크립트는 기본적인 오차 핸들링 절차들을 포함할 수 있다.
스크립팅/스케쥴링 엔진 39의 기능은, 실험 엔진 30, 모델 엔진 32, 및 예상 엔진 34을 위한 프로세서(들)과 동일하거나 이(들)로부터 분리될 수 있는, 임의의 적당한 프로세서에 의하여 수행될 수 있다.
일반적으로 말하면, 작동 중에, 컨텐트 제공자 인터페이스 38는 컨텐트 제공자 14로부터 실험의 정의들을 수신할 수 있다. 일 실시예에 따르면, 예를 들면, 컨텐트 제공자 14에서의 관리자 사용자는 실험을 설정 및 스케쥴링하는 방법을 결정하기 위하여 과거의 웹 사이트 트래픽과 관계 있는 데이터를 입력하거나 현재의 웹 사이트 트래픽으로부터 샘플을 추출한다. 실험의 정의들을 이용하여, 실험 엔진 30은 특정 컨텐트 15의 집합에 대한 하나 이상의 실험들을 설계한다. 각 실험은 컨텐트에 대한 복수의 컨텐트 구조들 또는 처리들을 포함할 수 있다. 처리들 중 하나는 제어 처리의 역할을 하고, 반면 나머지 처리들은 실험 처리들의 역할을 한다. 각 실험에 대하여, 실험 엔진 30은 실험 중에 처리들이 어떻게 전달되는지를 지시하는 실험 규칙들의 별개의 집합을 생성할 수 있다. 이들 실험 규칙들은 할당자 모듈 22에 전달된다.
할당자 모듈 22은 사용자들 16로부터의 컨텐트에 대한 요청들에 대응하여 다양한 사용자들 16에게 상이한 처리를 할당한다. 이 할당은 실험 엔진 30에 의하여 설계된 실험들에 대한 규칙들에 따라 이루어진다. 실험 중, 통신 관리 시스템 12은 각 처리에 대한 사용자들의 행동을 관찰하고 이들 관찰들에 대한 데이터를 관찰 모듈 36 내에 수집 또는 저장한다. 이는 실험 변수들, 공변량들, 및 독립 변수들에 대한 데이터를 포함한다.
관찰 데이터를 사용하여, 모델 엔진 32은 수행된 각 실험에 대한 하나 이상의 모델들을 생성한다. 이들 모델들은 사용자들 16에 의한 목표가 되는 행동들의 발생과 제어되는 컨텐트 변수들의 집합과 사용자들의 방문들에 관한 자세한 사항들 사이의 관계를 포착할 수 있다.
실험 및 모델링으로부터, 통신 관리 시스템12은 사용자들 16에게 전달되는 컨텐트 15의 처리들을 수정하거나 커스터마이징할 수 있다. 특히, 예상 엔진 34은, 하나 이상의 원하는 성과들/목표들을 달성하는 데에 가장 효과적인 방법으로 사용자들 16에게 컨텐트를 전달하기 위하여 이용되는 하나 이상의 예상들을 생성한다. 일 실시예에 따르면, 예상 엔진 34은 최적의 컨텐트 구조 또는 처리를 실험 및 모델링의 결과들로부터 자동적으로 검색하고, 사용자들 16에 대한 전달을 위해 그것을 추천한다. 대안적인 실시예에 따르면, 예상 엔진 34은 컨텐트 제공자 14에서의 인간 사용자(예를 들면, 정보 시스템 관리자)가 사용자들 16에 대한 전달을 위해 복수의 최적의 컨텐트 구조들 또는 처리들을 특정할 수 있게 한다. 예상 엔진 34은 컨텐트 시스템 10 내의 할당자 모듈 22에 전달될 수 있는 예상 규칙들의 집합을 생성한다.
실험, 모델링, 및 예상의 프로세스들의 각각은 반복될 수 있다. 사용자들 16에게 전달될 컨텐트 15를 가지고 연속적으로 실험함으로써, 컨텐트 시스템10 및 통신 관리 시스템 12은 원하는 성과들/목표들에 대한 통신의 상이한 속성의 효과들을 조직적으로 분리한다. (여기에 기술된 것과 같이) 이러한 연속적인 실험에 기초하여, 세그먼트들 또는 개별 사용자들 16을 모델링함으로써, 컨텐트 시스템10 및 통신 관리 시스템 12은 원하는 성과들/목표들을 달성하거나 증대시키기 위하여 맞춤 통신을 제공하기 위한 규칙들을 자동적으로 정확하게 생성 및 정의할 수 있다.
이에 따라, 컨텐트 시스템10 및 통신 관리 시스템 12은, 제품 개발, 홍보, 고객 서비스, 광고 효과, 전자 상거래, 또는 컨텐트 15의 실시간 대량 커스터마이징으로부터 이익을 얻을 수 있는 다른 모든 응용을 최적화하거나, 향상시키거나, 또는 그렇지 않으면 개선하기 위하여, 상호 작용적인 통신의 설계 및 개발에 대한 조직적인 접근법을 구현한다.
실험 엔진
도 3은 실험 엔진 30의 블록도이다. 실험 엔진 30은 특정 컨텐트 15 및/또는 그 컨텐트가 포맷팅된 특정 방법(즉, 처리들)에 대한 사용자들 16의 행동 및 반응을 테스트하기 위하여 전체적으로 하나 이상의 실험들의 생성 및 실행을 지원한다. 일 실시예에 따르면, 실험 엔진 30은 컨텐트 제공자 14에서의 관리자 사용자가 상호 작용적인 컨텐트 실험들에 특히 적합한 다양한 가능한 설계된 실험들로부터 설계된 실험을 자동적으로 선택 및 구현할 수 있게 한다. 도시된 바와 같이, 실험 엔진 30은 실험 데이터 저장소 40 및 실험 관리자 오브젝트 42를 포함한다.
실험 관리자 오브젝트 42는 전체적으로 다양한 실험들의 실행을 제어하거나 관리하는 기능을 한다. 실험 관리자 오브젝트 42는 설계된 실험들의 설정을 가능하게 한다. 예를 들면, 실험 관리자 오브젝트 42는 관심의 대상이 되는 적어도 하나의 성과들/목표들에 대한 효과에 관하여 평가되거나 고려될 수 있는 하나 이상의 실험 변수들의 특정을 지원한다. 이러한 실험 변수들은, 예를 들면, 배경 색, 웹 페이지에서의 위치, 또는 특별한 할인이 될 수 있다. 게다가, 각 실험 변수에 대하여, 실험 관리자 오브젝트 42는 하나 이상의 레벨들의 특정을 지원한다. 예를 들면, 배경 색이라는 실험 변수에 대하여, 레벨들은 “파랑”, ”핑크”, ”노랑” 및 ”초록”을 포함할 수 있다. 웹 페이지에서의 위치라는 실험 변수에 대하여, 레벨들은 “상단 가운데”, “오른쪽 하단”, “왼쪽 아래”, 및 “오른쪽 중간”을 포함할 수 있다. 특별 할인이라는 실험 변수에 대하여, 레벨들은 “10% 할인”, “15% 할인”, “20% 할인”, “25% 할인”, “30% 할인”, “35% 할인”, 및 “40% 할인” 등을 포함할 수 있다. 상기로부터, 실험 변수들은 본래부터 이산적(예를 들면, 배경 색)이거나 본래부터 연속적(예를 들면, 특별 할인)일 수 있음이 보여질 수 있다. 일 실시예에 따르면, 변수들 및 관련된 레벨들은 관리자 사용자에 의하여 선택될 수 있다.
일단 실험 변수들 및 레벨들이 선택되면, 실험 관리자 오브젝트 42는 컨텐트 15의 상이한 조합 또는 값을 특정할 수 있다. 실험 관리자 오브젝트 42는 각 실험에 대하여 전달될 컨텐트 구조들 또는 처리들을 생성할 수 있고, 전달에 대한 조건들(예를 들면, 누구에게, 언제)을 결정할 수 있다. 이를 이루기 위해서, 여기에 기술된 실험 관리자 오브젝트 42는 실험 엔진 기능(예를 들면, 테이블들, 검색 알고리즘들 등)의 어느 하나 또는 전부를 이용할 수 있다. 이들 처리들에 걸쳐서, 각 실험 변수에 대한 레벨들은 조직적으로 변화된다.
컨텐트 15의 주어진 집합에 대한 모든 가능한 컨텐트 구조들 또는 처리들의 집합으로부터, 실험을 위한 부분 집합이 선택될 수 있다. 보다 구체적으로는, 실험 관리자 오브젝트 42는 원하는 목표들 또는 성과들을 최적으로 어드레싱하는 특정 방법으로 모든 가능한 처리들의 집합으로부터 그것들의 샘플을 선택할 수 있다. 이는 통신 관리 시스템 12이 많은 수의 그리고 다른 가능한 경우보다 복잡한 컨텐트 이슈들을 조사할 수 있게 하고, 동시에 또한 시스템(따라서 관리자 사용자)이 컨텐트의 어떤 요소가 사용자 행동에 대하여 어떤 효과를 가졌는지를 알 것임을 보증하고, 이에 따라 시스템이 어떤 처리가 사이트 방문자들에 대한 장래의 전달에 최적인지를 알 것임을 보증한다. 선택된 부분 집합의 각 처리는 “제어” 컨텐트 구조인 것으로 간주될 수 있다. 제어는 처리들에 있어서의 실험 변수들에 대한 상이한 레벨이 통신 관리 시스템 12 또는 관리자 사용자의 제어 하에 있다는 것 또는 통신 관리 시스템 12 또는 관리자 사용자에 의해 특정될 수 있다는 것을 의미한다.
또한 실험 관리자 오브젝트 42는 통계학적인 샘플링 절차들을 정의하거나 구현할 수 있다. 이들 통계학적 샘플링 절차들은, 컨텐트 제공자 14에 의하여 유지되는 웹 사이트를 방문하는 모든 사용자들 16로부터, 제어 컨텐트 구조들 또는 처리들을 수신할 다수를 선택하는 데에 이용된다. 이 선택은 사용자-프로파일링(예를 들면, 모든 사용자들을 포함하는, 세그먼트를 포함할 수 있는 세그먼테이션)의 조합 및/또는 통계학적으로 유효한 임의 선택 기술들을 이용하여 이루어질 수 있다. 일 실시예에 따르면, 실험 관리자 오브젝트 42는 컨텐트 제공자 14에서의 관리자 사용자가 제어 처리들을 수신할 사용자들 16의 특정 타겟 집단을, 명확하게 아니면 불명확하게, 특정할 수 있게 한다. 예를 들면, 실험 관리자 오브젝트 42는 사용자 관리자가 전체 웹 사이트 트래픽의 한 부분을 선택할 수 있게 할 수 있고, 그리고 나서 전체 트래픽의 이 부분에 적용될 수 있는 실험을 설계 및 구현할 수 있게 할 수 있다. 실험 관리자 오브젝트 42로부터 이용 가능한 샘플링 절차들을 이용하여, 관리자 사용자는 특정 샘플들에 대한 쿼터(quota) 또는 사용자들의 특정 집단들로부터의 샘플링에 대한 쿼터를 설정할 수 있고, 여기서 각 집단은 어떤 공통 특성들(예를 들면, ISP, 이용 시각 등)을 가질 수 있다.
또한 실험 관리자 오브젝트 42는, 예를 들면, 관리자 사용자로부터의 입력에 기초하여, 각 실험이 언제 그리고 얼마 동안 실행될 것인지를 특정할 수 있다.
실험 관리자 오브젝트 42는 주어진 시각에 진행 중인 실험들 및 각 실험에 참여하는 사용자들 16을 추적할 수 있다. 또한 실험 관리자 오브젝트 42는, 스크립팅/스케쥴링 엔진 39을 통하여, 통신 관리 시스템 12 또는 컨텐트 시스템 10 내의 다른 엔진들 또는 요소들로 하여금 실험이 진행되고 있을 때 각 실험에 관한 데이터 및 정보를 수집하도록 감독할 수 있다. 예를 들면, 실험 관리자 오브젝트 42는 할당자 모듈 22로 하여금 다양한 실험들에 대한 관찰 데이터를 수집하고 이러한 데이터를 관찰 모듈 36 내에 저장하도록 감독할 수 있다. 따라서 어떤 실험들이 종료되었는지, 어떤 실험들이 진행 중인지, 및 실험의 공간 중 어떤 부분들이 실험을 위하여 남아 있는지를 결정하는 것이 가능하다. 게다가, 각 실험에 대하여, 실험 관리자 오브젝트 42는 실험의 과정 중에 처리들이 어떻게 할당되어야 하는지에 대하여 할당자 모듈 22에 지시하는 규칙들의 집합을 생성할 수 있다.
일 실시예에 따르면, 실험 관리자 오브젝트 42는 통신 관리 시스템 12 및 컨텐트 시스템 10의 다양한 구성요소들 또는 모듈들 사이에서 전달될 수 있는 인터페이스 오브젝트들의 집합으로 구현되거나 이를 포함할 수 있다.
실험 데이터 저장소 40는 실험 관리자 오브젝트 42와 통신한다. 실험 데이터 저장소 40는 실험 데이터 44를 저장하는 기능을 한다. 실험 데이터 44는 전체적으로 실험 엔진 30에 의하여 생성 및 수행되는 실험들에 관한 데이터 및 정보를 포함한다. 이것은 과거의(과거에 속하는) 실험들 및 현재 진행 중인 실험들 모두에 대한 데이터/정보를 포함한다. 각 실험에 대하여, 실험 데이터 44는, 예를 들면, 실험을 정의하는 정의들 및 파라미터들, 실험 중에 이용되는 컨텐트 15, 실험에 대하여 특정되는 변수들, 각 실험 변수에 대한 레벨들, 실험 중에 고려되는 컨텐트 구조들 또는 처리들, 각 실험에 대하여 추적되고 있는 목표 행동, 각 실험에 대한 실험 규칙들, 및 실험에 참여하는 것으로 할당된 사용자들 16에 대한 정의 또는 인식 패턴을 특정할 수 있다.
또한 실험 데이터 44는 실험들을 설정하는 데에 이용되는 데이터를 특정하거나 포함할 수 있다. 일 실시예에 따르면, 이러한 데이터는 하나 이상의 테이블들을 포함할 수 있다. 각 테이블은 개별 실험 설계와 연계될 수 있다. 이들 테이블들은, 컨텐트 제공자 14에 대하여 구체적으로 설계된 실험들을 생성하기 위하여, 예를 들면, (컨텐트 제공자 14에서의 관리자 사용자와 선택적으로 협동하는) 실험 관리자 오브젝트 42에 의하여 입력된 데이터 및 정보로 “채워질” 수 있다. 또한 실험 데이터 저장소 40는 컨텐트 시스템 10의 실험할 수 있는 능력과 관련된 정보를 저장한다.
실험 데이터 저장소 40는 랜덤 액세스 메모리(RAM), 디스크 저장소, 또는 다른 적절한 휘발성 및/또는 비휘발성 저장 매체와 같은, 임의의 하나 이상의 적절한 저장 매체들로서 구현될 수 있다. 일 실시예에 따르면, 실험 데이터 저장소 40는 관계 데이터베이스를 포함할 수 있다.
실험 엔진 30을 사용하여, 통신 관리 시스템 12은, 컨텐트 15의 주어진 집합에 대한 모든 가능한 컨텐트 구조들 또는 처리들의 집합으로부터, 원하는 목표 또는 성과를 최적으로 어드레싱하기 위하여 실험에서 사용한 샘플을 선택할 수 있다. 이는, 컨텐트 시스템 10과 협동하는 통신 관리 시스템 12이 많은 수일 뿐만 아니라 다른 가능한 경우보다 복잡한 컨텐트 이슈들을 조사할 수 있게 한다. 따라서 통신 관리 시스템 12은 어떤 컨텐트 구조 또는 처리가 사용자들 16에 대하여 어떤 효과를 미쳤는지, 그래서 어떤 컨텐트가 다른 사용자들에 대한 장래의 전달에 최적인지를 결정할 수 있다.
모델 엔진
도 4는 모델 엔진 32의 블록도이다. 모델 엔진 32은 전체적으로 실험 중에 모이는 데이터로부터 행동 모델들을 생성하거나 만드는 기능을 한다. 도시된 바와 같이, 모델 엔진 32은 데이터 조회 리더 48, 모델 생성기 50, 데이터 조회 관리자 오브젝트 52, 모델 출력 오브젝트 54, 및 모델 데이터 저장소 56를 포함한다.
관찰 모듈 36과 통신할 수 있는 데이터 조회 리더 48는 전체적으로 실험 중에 수집되는 관찰 데이터를 검색하거나 읽는 기능을 한다. 이러한 관찰 데이터는 실험 중에 다양한 사용자들 16에게 전달되는 처리들 및 각 전달에 대한 성과와 관련된 데이터를 포함할 수 있다. 다양한 처리들에 대한 사용자들 16의 적어도 일부 반응들(예를 들면, 사용자는 궁극적으로 특정 처리에 있어서 제공된 제품을 구입할 수 있다)은 관찰될 수 있고, 따라서, 목표 행동으로 간주될 수 있다.
데이터 조회 리더 48와 통신하는 모델 생성기 50는 관찰 데이터를 수신한다. 모델 생성기 50는 관찰 데이터를 통계학적으로 분석될 수 있는 포맷으로 변환한다. 관찰 데이터를 이용하여, 모델 생성기 50는 하나 이상의 행동 모델들을 생성한다. 이들 행동 모델들은 목표 행동들의 발생, 제어된 컨텐트 변수들(예를 들면, 배너 광고의 배치 또는 배경 색)의 집합, 및 컨텐트를 전달 받은 사용자들 16의 관계를 획득할 수 있다. 선택 모델들은, 그들이 임의의 수의 변수들에 대한 레벨들이 실험에서 조작됨에 따라 사용자들의 선택들 또는 결정들(즉, 그들의 행동)의 확률이 어떻게 변화할지를 기술한다는 점에서, 행동에 관한 것이다. 모델들은 관찰되지 않는 값들에 대한 삽입 및/또는 실험 중 관리되지 않는 처리들에 관한 예상들을 수반하는 상황들에 있어서 유용하다. 일 실시예에 따르면, 모델 생성기 50는 하나 이상의 컨틴전시(contingency) 테이블들을 생성할 수 있다. 컨틴전시 테이블들은 모델의 한 형태이다. 각 컨틴전시 테이블은 적은 수의 정의된 성과들을 갖는 상황들에 있어서 유용한 보고일 수 있다. 컨틴전시 테이블들은 복잡한 형태의 모델들이 성공할지를 체크하는 데에 이용될 수 있다. 컨틴전시 테이블을 분석함으로써, 통신 관리 시스템 12은 복잡한 모델들이 추정 단계를 실패하는 원인이 될 데이터를 식별할 수 있다. 컨틴전시 테이블들은 매우 완전하고도 비교적 빠른 형태의 모델링이다.
모델 생성기 50는 선택 모델링, 베이지안 모델링, 신경망들, 결정 트리들, 또는 다른 연관된 모델링 알고리즘들로 구현될 수 있다. 모델링을 위한 이들 알고리즘들 중 적어도 일부는, 예를 들면, 다양한 학습 간행물들 또는 상업적으로 이용 가능한 소프트웨어에서, 공공연하게 이용할 수 있다. 일 실시예에 따르면, 모델 생성기 50는 MATLAB 라이브러리들 및 오브젝트 코드 컴파일러로 구현될 수 있다.
모델 데이터 저장소 56는 모델 생성기 50와 통신한다. 모델 데이터 저장소 56는 모델 데이터 58를 저장 및 유지하는 기능을 한다. 모델 데이터 58는 여기에 기술된 모델들을 생성, 기술, 정의, 및 구현하기 위한 임의의 정보 및 데이터일 수 있다. 각 모델에 있어서, 모델 데이터 58는, 예를 들면, 모델에 대한 식별자, 모델 하에서 유효한 선택 옵션들을 기술하는 변수들(예를 들면, 가격들, 할인 수준들, 배경 색들), 사용자들 16을 기술하는 변수들(예를 들면, 사용자가 상호 작용한 시각, 사용자가 상호 작용한 요일, 사용자를 위한 인터넷 서비스 제공자(ISP), 사용자의 컴퓨터의 운영 체제 등), 하나 이상의 레거시(legacy) 시스템들의 컨텐트들, 인구 통계학 정보 등을 특정할 수 있다.
모델 데이터 저장소 56는 랜덤 액세스 메모리(RAM), 디스크 저장소, 또는 다른 적절한 휘발성 및/또는 비휘발성 저장 매체와 같은 임의의 하나 이상의 적절한 저장 매체들로 구현될 수 있다. 일 실시예에 따르면, 모델 데이터 저장소 56는 관계 데이터베이스를 포함할 수 있다.
데이터 조회 관리자 오브젝트 52는 모델 데이터 저장소 56 및 데이터 조회 리더 48와 통신한다. 데이터 조회 관리자 오브젝트 52는 전체적으로 데이터 조회 리더 48에 의한 해석을 위하여 데이터 조회 리더 48를 통해 컨텐트 제공자 14에서의 인간 사용자(예를 들면, 정보 시스템 관리자)에게 다양한 모델들을 출력하는 기능을 한다. 일 실시예에 따르면, 데이터 조회 관리자 오브젝트 52는 통신 관리 시스템 12 및 컨텐트 시스템 10의 다양한 구성요소들 또는 모듈들 사이에서 전달될 수 있는 인터페이스 오브젝트들의 집합으로 구현되거나 이를 포함할 수 있다.
일 실시예에 따르면, 컨텐트 제공자 14는 모델 데이터 저장소 56로 병합될 수 있는 개별적인 데이터베이스들 내에 사용자 정보를 저장할 수 있다. 예를 들면, 컨텐트 제공자 14에 의하여 지원되는 온라인 뱅킹 애플리케이션은 사용자의 인터넷 세션들뿐만 아니라 금융 기관의 회사 데이터베이스로부터 데이터를 끌어 모을 수 있다. 이러한 경우, 데이터 조회 관리자 오브젝트 52는 회사 데이터베이스를 모델 데이터 저장소 56에 연결시킬 것이다.
모델 출력 오브젝트 54는 모델 데이터 저장소 56와 통신한다. 모델 출력 오브젝트 54는 예상들로서의 변환 또는 사용을 위해 예상 엔진 34에 다양한 모델들을 출력하는 기능을 한다. 일 실시예에 따르면, 모델 출력 오브젝트 54는 통신 관리 시스템 12 및 컨텐트 시스템 10의 다양한 구성요소들 또는 모듈들 사이에서 전달될 수 있는 인터페이스 오브젝트들의 집합으로 구현되거나 이를 포함할 수 있다.
예상 엔진
도 5는 예상 엔진 34의 블록도이다. 예상 엔진 34은 전체적으로 행동 모델들을 이용하여 예상들을 생성하거나 만드는 기능을 한다. 도시된 바와 같이, 예상 엔진 34은 예상 생성기 62, 예상 출력 오브젝트 64, 및 예상 데이터 저장소 66를 포함한다.
예상 생성기 62는, 예를 들면, 다양한 사용자들 16이 특정 컨텐트에 대하여 어떻게 반응할지를 예상하는 하나 이상의 예상들을 생성하는 기능을 한다. 이들 예상들은 대량 커스터마이징 프로세스인 것으로 간주될 수 있다. 예상들은, 통계학적으로 뚜렷한 예상 규칙들을 생성하기 위하여, 모델 내에서 구체화된 바와 같이 사용자들 16의 드러난(관찰된) 선호도를 이용한다. 예상 생성기 62는, 원하는 목표들/성과들(예를 들면, 제품의 판매)을 달성하기 위해 컨텐트 15를 특정 사용들 16에 타게팅하고 이에 따라 컨텐트 15의 전달을 최적화하기 위한 규칙들을 개발하기 위하여, 모델 엔진 32 및 컨텐트 제공자 인터페이스 38로부터 입력을 수신할 수 있다. 이는 모델 엔진 32에 의하여 출력된 다양한 모델들을 변환함으로써 이루어질 수 있다.
일 실시예에 따르면, 예상 생성기 62는 개인화 프로세스를 구현할 수 있다. 상호 작용적인 통신의 영역에서, 개인화 프로세스는 사용자들 16의 확언된 또는 암시된 선호도를 기초로 하여 컨텐트 15가 사용자들 16에 대하여 타게팅되거나 전달되도록 하는 프로세스일 수 있다. 예시적인 개인화 프로세스는 사용자들 16을 프로파일링하거나 분할하는 데에 사용되는 데이터 마이닝 기술들을 포함할 수 있다. 분할은 사용자들 16을 다양한 이산 그룹들 또는 세그먼트들로 분류, 구분, 또는 분리하는 것을 가리킨다. 각 그룹화 또는 분할은 유사한 행동 특성들을 가진 사용자들의 특정 또는 분포일 수 있다. 주어진 세그먼트 내의 사용자들 16의 행동은 보다 동질적인 경향이 있고, 반면에 세그먼트들 간의 사용자들 16의 행동은 덜 동질적인 경향이 있다. 세그먼트들은 아무도 없는 것(집단 획일적인 시장)에서부터 고유한 개인들까지 아우른다.
사용자들 16의 세그먼트들은, 사용자들 16의 사이트에 관계된 행동에서 관찰되는 바와 같이 컨텐트 15에 대하여 고유한 방법들로 반응하게 되는 특정 사용자들 16에 대하여 식별된 정보에 기초하는 모델링 프로세스에서 결정될 수 있다. 분할을 구현하기 위하여, 각 세그먼트에 대한 정보를 정의하는 것은 사용자 상호 작용들에 대하여 추적된다. 이는 분할 규칙들을 이용하여 이루어질 수 있다. 분할 규칙들의 개별적인 집합은 사용자들 16의 각 세그먼트에 대하여 프로그래밍되거나 제공될 수 있다. 이들 규칙들은 사용자들 16에게 컨텐트 15를 전달하기 위한 세부 항목들을 특정할 수 있다. 예를 들면, 각 세그먼트에 있어서, 규칙들의 개별 집합은 어떤 컨텐트 15가 어떤 시각에 전달되어야 하는지를 특정할 수 있다. 대안적으로, 컨텐트 제공자 14에서의 관리자 사용자는 선험적으로 기정의된 세그먼트들을 선택할 수 있다.
예상 생성기 62는 모델 엔진 32에 의하여 생성된 예상 모델들을, 예상들로 알려진, 최적화된 규칙 집합들로 변환한다. 즉, 예상 생성기 62는 최적화 프로세스를 수행할 수 있는데, 최적화 프로세스는 컨텐트 시스템 10 및/또는 통신 관리 시스템 12으로부터 성공적이지 못한 컨텐트 조합들 또는 처리들에 관한 정보를 제거하고, 이에 따라 사용될 만한 컨텐트 조합들 또는 처리들에 대한 정보만 남긴다. 이러한 유용하지 않은 데이터를 제거함으로써, 예상 생성기 62는 결과적인 실시간 프로세싱 속도를 증대시킨다. 예상 생성기 62에 의하여 작동되는 어떤 주어진 모델에 있어서, 규칙 집합으로의 변환은 모델을 컨텐트 시스템에 의하여 이해될 수 있는 용어들로 다시 맵핑하기 위하여 행해진다. 사용자들 16의 다양한 서브-집단들에 대한 별개의 모델들을 이 프로세스 내에 받아 들이는 것 및/또는 모델들 내에서의 사용자들의 행동의 차이점들을 만드는 개인 사용자들의 특성들을 포함하는 것이 가능하다.
이와 같이, 예상 생성기 62의 기술들 및 기능은 사용자들 16의 수많은 개인적인 특성들뿐만 아니라, 행동들의 차이점들을 만들기 위하여 특성들이 결합할 수 있는 상이한 방법의 산입 및 분석을 가능하게 한다. 예를 들면, 시각은, 웹 사이트에 클릭하여 들어오는 것에 대한 다양한 사용자들 16의 성향의 차이점들과 연계될 수 있고, 모든 다른 팩터들도 마찬가지이다. 게다가, 시각은 오퍼 가격 또는 페이지 상의 위치와 같은 속성들에 대한 사용자들의 민감도에 있어서의 차이점들과 연계될 수 있다.
예상 생성기 62는 관리자 사용자로부터, 예를 들면, 컨텐트 전달의 조사 및 최적화를 위하여 특정 세그먼트들을 특정하기 위하여, 입력을 수신할 수 있다. 컨텐트 제공자 인터페이스 39를 통하여, 관리자 사용자는 데이터, 필드들, 및 관찰 모듈 36에서 이용 가능한 변수들에 기초하여 식별 규칙들을 특정하거나 컨텐트 제공자 자신의 고객들(사용자들) 또는 사이트 데이터베이스들로부터 식별 규칙들을 특정할 수 있다.
예상 데이터 저장소 66는 예상 생성기 62와 통신한다. 예상 데이터 저장소 66는 전체적으로 예상 데이터를 저장 및 유지하는 기능을 한다. 예상 데이터 68는 여기에 기술된 예상들을 생성, 기술, 정의, 및 구현하기 위한 임의의 정보 및 데이터일 수 있다. 각 예상에 대하여, 예상 데이터 68는, 예를 들면, 예상에 대한 식별자, 예상에 대한 규칙들의 집합, 사용자들 16의 클래스를 기술하는 정의들, 및 각 클래스에 가장 적합한 컨텐트 15를 특정할 수 있다.
예상 데이터 저장소 66는 랜덤 액세스 메모리(RAM), 디스크 저장소, 또는 다른 적절한 휘발성 및/또는 비휘발성 저장 매체와 같은 임의의 하나 이상의 적절한 저장 매체들로 구현될 수 있다. 일 실시예에 따르면, 예상 데이터 저장소 56는 관계 데이터베이스를 포함할 수 있다.
예상 출력 오브젝트 64는 예상 데이터 저장소 66 및 (모델 엔진 32의) 데이터 조회 리더 48와 통신한다. 예상 출력 오브젝트 64는 사용자들 16에 대한 컨텐트 15의 전달 중 적용하기 위하여 컨텐트 시스템 10에 다양한 예상 규칙들을 출력할 수 있다. 일 실시예에 따르면, 예상 출력 오브젝트 64는 통신 관리 시스템 12 및 컨텐트 시스템 10의 다양한 구성요소들 또는 모듈들 사이에서 전달될 수 있는 인터페이스 오브젝트들의 집합으로 구현되거나 이를 포함할 수 있다.
광범위한 컨텐트 또는 많은 양의 사용자 데이터를 수반하는 일부 애플리케이션들에 있어서, 예상 규칙들의 집합의 크기는 인간 사용자(예를 들면, 관리자 사용자)에 의해 검토될 수 있는 것보다 더 클 수 있다. 인간의 실행 가능한 검토를 가능하게 하기 위하여, 예상 엔진 34은 감축된 규칙 집합을 생성하기 위한 하나 이상의 규칙-감축 알고리즘들을 병합하거나 포함할 수 있다. 따라서, 원하는 때에, 관리자 사용자는 감축된 규칙 집합을 요청하기 위하여 예상 엔진 34과 상호 작용할 수 있다.
규칙-감축 프로세스를 위한 일 예시적인 구현에 따르면, 사용자들 16은 그들의 특성들 및 최적의 컨텐트에 있어서의 유사점들 및 차이점들에 따라 함께 검색되고 클러스터링된다. 이들 클러스터링된 그룹들은 예상들을 구현하기 위한 세그먼트들로서 기능한다. 규칙-감축 프로세스를 위한 다른 예시적인 구현에 따르면, 세그먼트들은 모델링 프로세스 중에 동시에 검색된다. 또 다른 예시적인 구현에 따르면, 비용 기능들은 모델이 알맞게 적은 수의 별개의 예상 규칙들을 생산하도록 강요하는 데에 사용된다.
관찰 모듈
도 6은 관찰 모듈 36의 블록도이다. 도시된 바와 같이, 관찰 모듈 36은 관찰 데이터 저장소 74 및 관찰 액세스 오브젝트 76를 포함한다.
관찰 데이터 저장소 74는 전체적으로 관찰 데이터 78를 유지 및 저장하는 기능을 한다. 관찰 데이터 78는 컨텐트 제공자 14의 웹 사이트를 방문하는 사용자들 16의 관찰된 행동과 관련한 데이터 또는 정보일 수 있다. 따라서, 관찰 데이터 78는, 예를 들면, 웹 사이트를 방문하는 사용자들 16, 각 사용자에 대한 인터넷 프로토콜(IP) 주소, 컨텐트 15가 각 사용자에게 전달되는 것의 제약이 되는 실험 조건들, 각 방문의 관찰된 성과들 또는 결과들, 하나 이상의 실험 변수들, 하나 이상의 예상 공변량들, 하나 이상의 종속 변수들, 각 방문에 대한 시간 스탬프, 및 분석 중 이용될 수 있는 다른 유용한 데이터를 특정할 수 있다. 관찰 데이터 78의 적어도 일 부분은 관찰들을 위한 미가공 정보 및 기초 통계들을 구성할 수 있다. 관찰 데이터 78는 사용자(예를 들면, 방문자), 처리, 세션, 및 사용자 프로파일에 의한 결과들을 조회 및 모델링하는 데에 적당한 구조들로서 유지될 수 있다. 관찰 데이터 78는 통신 관리 시스템 12 및 컨텐트 시스템 10이 웹 사이트에 되돌아오는 사용자(예를 들면, 이러한 사용자는 동일한 IP 주소로부터 되돌아오는 것으로 가정함)에게 동일한 처리를 전달할 수 있게 할 수 있다. 관찰 데이터 저장소 74는 컨텐트 제공자 사용자 인터페이스를 통하여 관리자 사용자에게 관찰 데이터 78를 공급할 수 있다.
관찰 액세스 오브젝트 76는 관찰 데이터 저장소 74와 통신한다. 관찰 액세스 오브젝트 76는 전체적으로 관찰 데이터 78(의 저장 또는 검색)에 대한 액세스를 제공하는 기능을 한다. 관찰 액세스 오브젝트 76는 모델링에 바로 적당한 형태로 관찰 데이터 78를 모델 엔진 32에 전송할 수 있다. 전달 프로세스는 데이터 “병리학”(예를 들면, 분실 데이터, 구조의 종속성들 등)을 위하여 관찰 데이터 78를 체크하는 것 및 데이터를 모델 준비 형태(예를 들면, 범주화 및 효과들 코딩)로 변환하는 것을 수반할 수 있다. 일 실시예에 따르면, 관찰 액세스 오브젝트 76는 통신 관리 시스템 12 및 컨텐트 시스템 10의 다양한 구성요소들 또는 모듈들 사이에서 전달될 수 있는 인터페이스 오브젝트들의 집합으로 구현되거나 이를 포함할 수 있다.
어떤 경우에는, 컨텐트 제공자 14는 관찰 데이터 저장소 74 내의 다른 데이터와 결합될 수 있는 별개의 데이터베이스들 내에 사용자 정보를 저장할 수 있다. 예를 들면, 컨텐트 제공자 14에 의하여 지원되는 온라인 뱅킹 애플리케이션은 사용자의 인터넷 세션뿐만 아니라 금융 기관의 회사 데이터베이스로부터 데이터를 끌어 모을 수 있다. 이러한 경우, 관찰 액세스 오브젝트 76는 회사 데이터베이스를 관찰 데이터 저장소 74에 연결시킬 것이다.
스크립팅/스케쥴링 엔진
도 7은 스크립팅/스케쥴링 엔진 39의 블록도이다. 앞서 기술된 바와 같이, 스크립팅/스케쥴링 엔진 39은 전체적으로 통신 관리 시스템 12 및 컨텐트 시스템 10 내의 다른 요소들의 동작을 조정 및 자동화하는 기능을 한다. 도시된 바와 같이, 스크립팅/스케쥴링 엔진 39은 이벤트 대기열 80, 타이머 82, 스크립트 해석기 84, 및 스크립트 데이터 저장소 86를 포함한다.
스크립트 해석기 84는 전체적으로 통신 관리 시스템 12 및 컨텐트 시스템 10 내의 다른 엔진들 및 모듈들(예를 들면, 할당자 모듈 22, 실험 엔진 30, 모델 엔진 32, 예상 엔진 34, 또는 관찰 모듈 36)에 대한 명령들 또는 지시들을 제공하는 다양한 스크립트들을 실행하는 기능을 한다. 이들 스크립트들은 다양한 이벤트들에 대응하여 통신 관리 시스템 12 및 컨텐트 시스템 10에서 행하여지는 어떤 행동을 시작하거나 유발시킬 수 있다. 각 스크립트는 시스템 10 및 12의 동작을 조정하기 위하여 시스템 10 및 12 내의 다른 엔진들 및 모듈들에 대하여 내려지는 명령들의 순서 또는 연속을 특정할 수 있다.
이벤트는, 예를 들면, 통신 관리 시스템 12 또는 컨텐트 시스템 10 내의 다양한 모듈들 또는 엔진들 중 하나에 의한 어떤 태스크(task)의 완료일 수 있다. 이러한 각 이벤트의 통지는 스크립팅/스케쥴링 엔진 39에 관련된 모듈 또는 엔진에 의하여 전달될 수 있다. 또한 이벤트는 기설정된 시각(예를 들면, 오전 8시)의 발생 또는 기설정된 시간의 경과(예를 들면, 2시간)과 관계 있을 수 있다. 타이머 82는 시간을 추적하고 시간-관계된 각 이벤트에 대한 정보를 생성한다.
스크립트 해석기 84와 통신하는 이벤트 대기열 80은 스크립팅/스케쥴링 엔진 39이 통지 받거나 내부적으로 생성되는 각 이벤트에 대한 정보를 수신 및 저장한다. 이벤트 대기열 80은 하나 이상의 이벤트들을 핸들링하기 위한 대기열을 구현한다. 이들 이벤트들은 다양한 스크립트들로 특정될 수 있고 스크립트 해석기 84에 의한 명령들의 발행을 유발시키는 데에 소용이 될 수 있다. 바꾸어 말하면, 각 이벤트에 대하여, 스크립트 해석기 84는 특정 스크립트에 따라 통신 관리 시스템 12 및 컨텐트 시스템 10에서 행하여지는 어떤 행동을 시작하거나 유발시킬 수 있다.
예를 들면, 이벤트는 실험 엔진 30에 의한 실험의 완료일 수 있고, 이 경우, 스크립트 해석기 84는 바람직하게 실험의 결과들을 사용하여 개별 모델의 생성을 시작할 수 있다. 따라서, 진단 정보와 함께, 다양한 모듈들 및 엔진들에 의하여 산출되는 데이터를 이용하여, 스크립트 해석기 84는 모듈들 또는 엔진들이 그들 각각의 태스크들을 성공적으로 완료했는지 여부를 결정하고 개별 명령들을 내림으로써 적당한 행위를 시작할 수 있다.
스크립트 해석기 84와 통신하는 스크립트 데이터 저장소 86는 전체적으로 스크립트 데이터 88를 유지 또는 저장하는 기능을 한다. 스크립트 데이터 88는 스크립트 해석기 84에 의하여 생성 및 실행되는 다양한 스크립트들과 관계 있는 데이터 또는 정보일 수 있다. 따라서, 각 스크립트에 대하여, 스크립트 데이터 88는, 예를 들면, 스크립트에 대한 식별자, 스크립트의 일부인 명령들, 명령들이 내려져야 하는 순서, 명령들의 발행을 유발시켜야 하는 이벤트들, 명령들이 내려지는 모듈들 또는 엔진들 등을 특정할 수 있다.
컨텐트 관리를 위한 방법
도 8은 사용자들에게 전달되는 컨텐트의 관리를 위한 예시적인 방법 100이다. 방법 100은 컨텐트 시스템 10과 협동하는 통신 관리 시스템 12의 동작의 다양한 면들에 대응될 수 있다.
방법 100은, 컨텐트 시스템10과 협동하는 통신 관리 시스템 12이 실험의 공간 및 실험을 정의하는 단계 102 및 104부터 시작한다. 일 실시예에 따르면, 실험 엔진 30은 실험들 및 대응하는 실험의 공간에 대한 다양한 정의들을 생성할 수 있다. 이들 정의들은 실험들의 주제가 될 컨텐트 15의 특정 집합, 컨텐트 15가 배열되는 하나 이상의 처리들, 각 실험이 수행될 시간 구간, 처리들이 전달된 사용자들 16의 제어 그룹들, 컨텐트 처리들의 전달을 지배하는 실험 규칙들, 모니터링되어야 하는 사용자들 16의 행동, 바람직하게 달성되는 목표들/성과들 등을 특정할 수 있다. 일 실시예에 따르면, 컨텐트 제공자 14에서의 관리자 사용자는 실험들을 설계하기 위하여 통신 관리 시스템 12과 상호 작용할 수 있다.
단계 106에서, 실험 엔진 30은 사용자들 16의 개별 제어 그룹들에 특정 처리들을 전달하기 위하여 새로운 실험들을 스케쥴링한다. 단계 108에서, 할당자 모듈 22과 함께 작동하는 실험 엔진 30은 정의된 실험들을 수행하고 사용자들의 관찰된 행동과 관계 있는 데이터를 수집한다. 일 실시예에 따르면, 할당자 모듈 22은 특정 제어 그룹들에 대하여 다양한 처리들을 전달하기 위하여 실험 규칙들을 적용할 수 있다. 이는 컨텐트 15에 대한 사용자 요청들에 대응하여 행하여 질 수 있다. 할당자 모듈은 사용자들의 관찰된 행동에 관한 세부 항목들을, 최적화될 목표들 또는 다른 것들에 관련된 것과 같이, 관찰 모듈 36 내에 저장할 수 있다.
단계 110에서, 모델 엔진 32은 관찰된 행동에 대하여 수집된 데이터/정보를 이용하여 모델을 생성한다. 모델은 컨텐트 요소들이 사용자들의 행동 또는 선택들에 영향을 미치는 정도를 반영할 수 있다. 특히, 행동 모델은, 컨텐트 구조 또는 처리의 어떤 면들이 특정 성과의 달성 확률에 영향을 미치는지를 결정하는 데에 이용될 수 있는, 섬세하고, 연속적이고, 그리고 이산의 다변량의 통계학적 모델을 포함할 수 있다.
단계 112에서, 예상 엔진 34은 예상을 생성하거나 만들 수 있다. 이러한 예상은 원하는 성과들/목표들을 달성하기에 가장 효과적인 방법으로 사용자들 16에게 컨텐트 15를 전달하는 데에 이용되는 모델에 대한 간단한 설명일 수 있다. 예상은, 특정 종류의 사용자들에 대하여 특정 컨텐트를 타게팅하는 예상 규칙들의 집합으로 부분적으로 구현될 수 있다. 단계 114에서, 통신 관리 시스템 12은, 원하는 경우, 컨텐트 제공자 14에서의 관리자 사용자가 예상을 커스터마이징할 수 있게 한다.
단계 116에서, 통신 관리 시스템 12은 예상을 실행하고 데이터를 수집하기 위하여 컨텐트 시스템 10과 협동한다. 특히, 할당자 모듈 22은 사용자들 16에 의한 요청들에 대응하여 컨텐트 15를 전달하기 위해 예상 규칙들을 적용할 수 있다. 이는 어떤 기준(예를 들면, 시각, 클릭 트레일)에 따라 다양한 사용자들 16에게 특정 처리들을 전달하는 것으로 귀착된다. 개별 처리들에 대한 사용자들 16의 행동과 관계 있는 데이터가 수집된다. 단계 118에서, 모델 엔진 32 및 예상 엔진 34은 예상 국면 중 처리들의 전달의 결과들을 분석하기 위하여 협동할 수 있다.
단계 120에서, 통신 관리 시스템 12은 관찰된 결과들이 만족스러운지 여부를 결정한다. 즉, 통신 관리 시스템 12은 사용자들 16이 전달된 컨텐트 처리들에 대하여 원하는 방식으로 반응하였는지를 결정하고, 따라서, 원하는 성과들 또는 목표들을 달성한다. 관찰된 결과들이 만족스럽지 않으면, 단계 122에서 모델 엔진 32은 모델링 파라미터들, 타입 등을 변경하고, 다음에 방법 100은 새로운 모델이 생성되는 단계 110으로 돌아간다. 방법 100은 단계 120에서 예상의 결과들이 만족스러운 것으로 결정될 때까지 단계 110에서 122까지를 반복한다. 그 시점에서, 방법 100은 종료한다.
실험을 정의하기 위한 방법
도 9는 구조화된 컨텐트에 대한 실험을 정의하기 위한 예시적인 방법 200의 흐름도이다. 방법 200은 통신 관리 시스템 12의 실험 엔진 30의 동작의 다양한 면들에 대응할 수 있다.
방법 200은 컨텐트 시스템 100과 협동하는 통신 관리 시스템 12에 의하여 실행되는 각 실험에 대하여 수행될 수 있다. 각 실험은 컨텐트 시스템 10 내에 저장될 수 있는 컨텐트 15의 특정 집합에 초점을 맞추거나 집중할 수 있다. 컨텐트 15의 어떤 집합은, 예를 들면, 쓰여진 텍스트, 이미지들, 그래픽스, 애니메이션, 비디오, 음악, 음성 등 포함할 수 있다. 컨텐트의 기본적인 구성요소들은 텍스트 파일, 이미지 파일, 오디오 파일, 비디오 파일 등일 수 있다.
방법 200은, 현재의 실험에 있어서, 실험 엔진 30이 사용자의 행동에 대하여 원하는 목표들/성과들을 식별하는 단계 202에서 시작한다. 이러한 성과들 또는 목표들은, 예를 들면, 판매 및 이익 증대, 전자 마케팅 효과 개선, 및 특정 업무 지능 애플리케이션들의 강화일 수 있다. 일 실시예에 따르면, 원하는 목표들/성과들은, 컨텐트 제공자 인터페이스 38를 통하여, 컨텐트 제공자 14의 관리자 사용자에 의하여 식별되거나 선택될 수 있다. 단계 204에서, 실험 엔진 30은 컨텐트 15의 특정 집합의 어떤 기본적인 구성요소들이 원하는 목표들/성과들과 관련된 사용자 행동에 잠재적으로 영향을 미치는지를 식별한다. 이는 설계된 실험의 일부일 수 있다.
단계 206에서, 실험 엔진 30은 기본적인 구성요소들의 다양한 조합들을 이용하여 다수의 대안 컨텐트 구조들 또는 처리들을 생성한다. 각 컨텐트 구조 또는 처리는, 예를 들면, 웹 페이지의 특정 구현일 수 있다. 이들 대안 컨텐트 구조들은, 통신 관리 시스템 12의 제어 하의 하나 이상의 실험 변수들에 대한 기본적인 구성요소들에 있어서, 변할 수 있다. 이들 변수들은, 예를 들면, 배경 색, 화면 배치, 컨텐트의 크기 등일 수 있다. 각 변수에 대하여 상이한 값 또는 레벨이 이용 가능할 수 있다. 예를 들면, 배경 색의 변수에 대하여, 상이한 레벨은 빨강, 파랑, 회색, 및 검정일 수 있다. 화면 배치의 변수에 대하여, 상이한 레벨은 상단 가운데, 오른쪽 하단, 왼쪽 아래 등일 수 있다. 다양한 처리들이, 여기에 기술된 바와 같이, 컨텐트에 대한 동일한 요청에 대응하여 대안적으로 전달될 수 있다.
단계 208에서, 실험 엔진 30은 실험들의 구현을 위하여 제어 변수들 및 레벨들을 지정한다. 이는 현재 실험의 컨텐트 15의 특정 집합에 대한 다수의 대안 컨텐트 구조들 또는 처리들을 낳는다. 예를 들면, 일 처리에 있어서, 배너 광고가 노란 색의 배경 색을 가질 수 있고 화면의 상단 오른쪽 구석에 위치될 수 있지만, 반면에 다른 처리에 있어서, 배너 광고는 파란 색의 배경 색을 가지고 화면에 중간 왼쪽 부분에 위치될 수 있다. 컨텐트 15에 대한 이들 대안 처리들은 실험 중에 사용자들 16에게 전달될 수 있다. 그 후에 방법 200은 종료한다.
실험 수행 및 데이터 수집을 위한 방법
도 10은 실험을 수행하고 추적 가능한 성과들/목표들에 대한 데이터를 수집하기 위한 예시적인 방법 300의 흐름도이다. 방법 300은 컨텐트 시스템 10과 협동하는 통신 관리 시스템 12의 실험 엔진 30의 동작의 다양한 면들에 대응할 수 있다.
방법 300은 실험 엔진 30 및 스크립팅/스케쥴링 엔진 39이 현재 실험 중 사용자들 16에 대한 전달을 위하여 하나 이상의 컨텐트 구조들 또는 처리들을 선택하는 단계 302에서 시작한다. 각 처리는 웹 페이지 상에 제공되는 컨텐트 15에 대한 특정 포맷일 수 있다. 예를 들면, 웹 페이지의 컨텐트에 대한 일 처리는, 각 기사의 사진들이 화면의 왼쪽 편의 위에서 아래로 표시되고 각 사진들의 오른 편 옆에 수반하는 설명들이 제공되는 파란 색 배경을 포함할 수 있다. 컨텐트에 대한 다른 처리는 각 기사의 사진들이 화면의 상단의 왼쪽에서 오른쪽으로 표시되고 화면의 하단에서 각 사진 밑에 수반하는 설명들이 제공되는 빨간 색 배경을 포함할 수 있다.
이들 처리들은 컨텐트에 대한 동일한 요청에 응답하여 대안적으로 전달될 수 있다. 예시적인 요청은 제품들의 특정 라인(예를 들면, 의복의 몇몇 품목들)을 표시하는 웹 페이지에 대한 요청일 수 있다. 이러한 웹 페이지 요청은, 예를 들면, 유니폼 리소스 로케이터(URL)와 같은, 웹 페이지에 대한 특정 식별자를 특정할 수 있다. 게다가, 웹 페이지 요청은 웹 페이지 상의 특정 하이퍼링크에 대한 사용자의 클릭 행위와 관련될 수 있다.
단계 304에서, 통신 관리 시스템 12은 선택된 처리들을 수신할 사용자들 16의 특정 타겟 집단 또는 세그먼트를 특정한다. 일 실시예에 따르면, 관리자 사용자는 사이트 사용자들의 특정 타겟 집단을 명백하게 특정할 수 있다. 예를 들면, 타겟 집단은 평일 오후 4시에서 오후 10시 사이에 특정 웹 페이지에 액세스하는 사용자들일 수 있다. 단계 306에서, 할당자 모듈 22은 타겟 집단으로부터 사용자들 16의 하나 이상의 제어 그룹들을 선택하기 위하여 통계학적으로 샘플을 추출한다. 예를 들면, 일 실시예에 따르면, 통계학적 샘플링 절차들은 모든 사이트 방문자들로부터 여기에 기술된 제어 처리들을 수신할 프로파일-매칭되는 임의의 샘플을 선택하는 데에 이용된다. 각 제어 그룹은 컨텐트 제공자 14로부터 컨텐트를 요청하는 하나 이상의 사용자들 16을 포함할 수 있다. 각 제어 그룹은 컨텐트에 대한 동일한 요청들에 응답하여 실험 중 상이한 처리를 수신할 수 있다. 단계 308에서, 통신 관리 시스템 12은 구현을 위하여 제어 변수들 및 값들/레벨들을 지정하고, 그것에 의하여 어떤 처리가 각 제어 그룹에 전달될 것인지를 특정한다.
단계 310에서, 할당자 모듈 22은, 사용자 인터페이스 26를 통하여, 각 제어 그룹에 개별 처리들을 할당하거나 전달한다. (예를 들면, 동일한 하이퍼링크를 클릭하거나 동일한 URL을 특정함으로써) 컨텐트 제공자 14의 웹 사이트에 대한 동일한 요청들을 만드는 다양한 사용자들 16은 실험 중 상이한 처리를 전달 받을 수 있다. 위에서 기술된 예를 참조하여, 의복의 라인에 관한 정보를 요청하는 첫 번째 제어 그룹은 파란 색 배경 및 수직적으로 배치되는 사진들로 된 처리를 수신할 수 있고, 반면 동일한 정보를 요청하는 두 번째 제어 그룹은 빨간 색 배경 및 수평적으로 배치되는 사진들로 된 처리를 수신할 수 있다. 할당자 모듈 22은 제어 처리들 및 개별 제어 그룹들에 대한 전달에 대한 정보를 관찰 모듈 36 내에 저장 또는 기록할 수 있다.
단계 312에서, 컨텐트 시스템 10과 협동하는 통신 관리 시스템 12은 다양한 처리들을 수신하는 사용자들 16의 사이트-관계된 행동을 추적한다. 이러한 행동은 사용자들이 상이한 처리를 얼마나 호의적으로 혹은 비호의적으로 조회했는지에 대한 척도가 될 수 있다. 바로 앞의 예를 가지고 계속하여 말하면, 첫 번째 제어 그룹 내의 40 퍼센트의 사용자들은 파란 색 배경 및 수직적으로 배치되는 사진들을 포함하는 처리를 제공하였을 때 실제로 의복의 한 아이템을 구입할 수 있지만, 반면 두 번째 제어 그룹 내에서는 단지 15 퍼센트의 사용자들만이 빨간 색 배경 및 수평적으로 배치되는 사진들을 포함하는 처리를 제공하였을 때 의복의 한 아이템을 구매할 수도 있다. 통신 관리 시스템 12은 이러한 사용자 행동과 관계 있는 정보 및 데이터를 기록한다. 이러한 정보 또는 데이터는 원하는 목표들/성과들과 연계되는 종속 변수 정보를 포함할 수 있다. 이러한 정보의 모든 것은 관찰 데이터 78로서 관찰 모듈 36 내에 저장될 수 있다.
일 실시예에 따르면, 사용자 행동은 다양한 상태들로 범주화될 수 있다. 이들 상태들은, 예를 들면, 상품을 구입하기로 하는 결정, 상품을 구입하지 않기로 하는 결정, 특정 웹 페이지에 남아 있기로 하는 결정, 다른 웹 페이지로 이동하기로 하는 결정 등일 수 있다. 상이한 제어 그룹에 걸쳐서, 통신 관리 시스템 12은 처리의 차이점들이 상태의 변화들에 어떻게 영향을 미치는지를 식별하기 위하여 다양한 처리들에 대한 사용자 행동의 상태의 각 변화를 기록할 수 있다. 그리고 나서 방법 300은 종료한다.
모델링 및 예상을 위한 방법
도 11은 모델링 및 예상을 위한 예시적인 방법 400이다. 방법 400은 통신 관리 시스템 12의 모델 엔진 32 및 예상 엔진 34의 동작의 다양한 면들에 대응할 수 있다.
방법 400은 모델 엔진 32이 관찰 모듈 36로부터 실험 엔진 30에 의해 부분적으로 수행되는 실험들 중에 산출되는 관찰 데이터를 검색하는 단계 402에서 시작한다. 이러한 관찰 데이터는 컨텐트 제공자 14의 웹 사이트를 방문하는 사용자들 16의 관찰된 행동과 관계 있는 데이터 또는 정보를 포함한다. 다른 것들 중에, 관찰 데이터는, 예를 들면, 컨텐트 제공자 14의 웹 사이트를 방문하는 사용자들 16, 컨텐트 15가 각 사용자에게 전달되는 것을 제약하는 실험의 조건들, 각 방문의 관찰된 성과들 또는 결과들, 및 각 방문 중 관찰되는 행동과 관계 있는 하나 이상의 종속 변수들을 특정할 수 있다.
단계 404에서, 모델 엔진 32은 컨텐트 15의 어떤 면들(타입 및 포맷)이 성과들의 확률에 영향을 미치는지를 결정하기 위하여 다변량의 통계학적 모델링 기술들(예를 들면, 베이지안 마르코프 체인 몬테 카를로(Bayesian Markov Chain Monte Carlo) 추정 절차들)을 이용하여 관찰 데이터를 분석한다. 이를 이루기 위하여, 모델 엔진 32은 실험 중 관찰된 행동과 관계 있는 다양한 종속 변수들을 분석하거나 고려할 수 있다. 모델 엔진 32은 하나 이상의 예상 공변량들을 생성할 수 있다.
단계 406에서, 분석의 결과들을 이용하여, 모델 엔진 32은, 예상 엔진 34과 협동하여, 어떤 컨텐트 구조 또는 처리가 어떤 원하는 성과 또는 목표를 달성하기에 가장 적합한지를 결정한다. 특히, 모델 엔진 32 및 예상 엔진 34은, 예를 들면, 다양한 사용자들 16이 특정 컨텐트에 대하여 어떻게 반응할 것인지에 대한 예상을 생성한다. 이는 모델을 예상 규칙들의 집합으로 변환함으로써 행하여질 수 있다. 예상 규칙들은 원하는 목표들/성과들(예를 들면, 제품의 판매)을 달성하기 위하여 컨텐트 15를 특정 사용자들 16에 대하여 타케팅하고, 이에 따라 컨텐트 15의 전달을 최적화한다. 그리고 나서 방법 400은 종료한다.
발명의 실시예들에 따른 시스템 및 방법은 컨텐트(타입 및 포맷)와 다양한 원하는 성과들/목표들 사이의 관계들을 조직적으로 결정하기 위하여 실험의 설계들을 이용한다. 실험들은 인터넷 또는 다른 적절한 데이터 네트워크를 통하여 실행될 수 있고, 그럼으로써 보다 현실적이고 대표적인 단면을 제공하기 위해 사용자들의 폭넓은 집단에 닿게 된다. 실험의 많은 작업은 자동화되고, 이에 따라 수동적인 설정 및 분석에 대한 필요를 줄이게 된다.
명세서의 명명법으로 우선 돌아가면, 뒤따르는 상세한 설명은 주로, 범용 컴퓨터와 연계된 중앙 처리 장치(CPU) 또는 프로세서, 프로세서를 위한 메모리 저장 장치, 및 연결된 픽셀-지향의 표시 장치들과 같은, 종래의 컴퓨터 구성요소들에 의하여 수행되는 연산들의 프로세스들 및 상징적인 표현들의 측면에서 기술된다. 이들 연산들은 프로세서에 의한 데이터 비트들의 조작 및 하나 이상의 메모리 저장 장치들 내에 상주하는 데이터 구조들 안의 이들 비트들의 유지를 포함한다. 이러한 데이터 구조들은 컴퓨터 메모리 안에 저장된 데이터 비트들의 수집물에 대한 물리적인 조직화를 강제하고 특정 전기적 또는 자기적 요소들을 나타낸다. 이들 상징적인 표현들은 다른 당업자들에게 가르침들과 발견들을 가장 효율적으로 전달하기 위하여 컴퓨터 프로그래밍 및 컴퓨터 구조 분야의 당업자들에 의하여 이용되는 수단들이다.
이 논의의 목적상, 프로세스, 방법, 루틴, 또는 서브-루틴은 원하는 결과로 이끄는 컴퓨터-실행 단계들의 순서인 것으로 일반적으로 간주된다. 이들 단계들은 일반적으로 물리적인 양들의 조작들을 필요로 한다. 통상적으로, 반드시 그런 것은 아닐지라도, 이들 양들은 저장, 전송, 병합, 비교, 또는 그 밖에 조작될 수 있는 전기적, 자기적, 또는 광학적 신호들의 형태를 가진다. 당업자가 이들 신호들을 비트들, 값들, 요소들, 기호들, 문자들, 텍스트, 용어들, 숫자들, 기록들, 파일들 등으로 지칭하는 것은 전통적인 것이다. 그렇지만, 이들 및 어떤 다른 용어들은 컴퓨터 연산들을 위해 적당한 물리적인 양들과 연계되어야 한다는 점, 및 이들 용어들은 단지 컴퓨터의 연산 도중의 그리고 컴퓨터 내에 존재하는 물리적 양들에 적용되는 종래의 라벨들이라는 점은 명심되어야 한다.
또한 컴퓨터 내에서의 조작들은 종종 인간 연산자에 의하여 수행되는 수동 연산들과 연계되는 추가, 비교, 이동 등과 같은 용어들로 지칭됨이 이해되어야 한다. 발명에 있어서, 인간 연산자의 불개입은 필요할 수 있고, 또는 심지어 바람직할 수도 있음이 이해되어야 한다. 여기서 기술된 연산들은 컴퓨터 또는 컴퓨터들과 상호 작용하는 사용자 또는 인간 연산자와 협동하여 수행되는 기계 연산들이다.
게다가, 여기에 기술된 프로그램들, 프로세스들, 방법들 등은 발명의 구현을 예시하는 것이지, 어떤 특정 컴퓨터, 장치 또는 컴퓨터 언어에 관계되거나 한정되는 것은 아니다. 오히려, 다양한 타입의 범용 컴퓨팅 기기들 또는 장치들이 여기에 기술된 가르침들에 따라 구조화된 프로그램들과 함께 이용될 수 있다. 유사하게, 읽기-전용 메모리(ROM)와 같은 비휘발성 메모리에 저장된 구조화된 논리 또는 프로그램들을 갖춘 전용 컴퓨터 시스템들로써, 여기에 기술된 방법 단계들을 수행하도록 특수화된 장치를 구축하는 것이 유리하다고 판명될 수도 있다.
크로스 채널 최적화
도 13은 사용자들 501에게 상이한 컨텐트를 전달하기 위하여 외부 컨텐트 시스템들(ECSs) 503이 CCOS 500와 통신하는 환경을 나타낸다. 사용자들 501은 인터넷 또는 상호 작용적인 텔레비전 네트워크와 같은 디지털 네트워크 502를 통하여 ECS 503와 상호 작용한다.
전체적으로, ECS 503는 웹 서버 또는 컨텐트 관리 시스템과 같은 컨텐트 시스템 505 및 상이한 기능적인 능력을 추가하고 사용자들 500의 컨텐트 시스템 505과의 상호 작용들에 관한 데이터를 포착할 수 있는 백-엔드 506로 구성된다. 컨텐트 시스템 505 및 백 엔드 506는 여기에 기술된 기능을 수행하기 위한 소프트웨어 및/또는 하드웨어의 적절한 조합을 각각 포함할 수 있다.
ECS 503는 사용자들 501에게 컨텐트 507를 직접적으로 제공하거나, 다른 웹 사이트들에 광고를 폭넓게 제공할 수 있는 검색 엔진들의 경우와 같이, 다른 ECS들에게 컨텐트 507를 제공함으로써 간접적으로 제공할 수 있다.
일 실시예에 따르면, CCOS 500은 플러그-인들 514을 통하여 ECS 503와 통신한다. 플러그-인들은 규칙 생성기 513로부터의 데이터를 ECS에 대하여 동작 가능한 포맷으로 번역하고, 또한 ECS로부터 데이터를 수집하고 이 데이터를 데이터 대조기 511에 반환한다. 예를 들면, 번역은 .NET, PHP, JSP, 자바스크립트에 대한 특정 명령들, 및 다른 스크립팅, 통신 또는 프로그래밍 명령들의 형식일 수 있다.
도 13은 플러그-인 A가 ECS A에 연결되고, 반면 플러그-인 B가 ECS B에 연결되는 것을 가리킨다. 추가적인 또는 상이한 ECS는 그들의 기능들 또는 동작들에 있어서의 차이점들에 따라 공통의 플러그-인들을 공유하거나 전용 플러그-인들을 필요로 할 수 있다. 예를 들면, 어떤 ECS는 플러그-인들이 각 방문자가 수신하는 컨텐트를 결정하는 실시간 응답을 제공하도록 하는 메커니즘을 이용할 수 있다. 다른 예를 들면, 플러그-인들은 사용자 집단들에 걸쳐서 이들 사용자들에게 제공될 컨텐트 요소들에 대하여 집합적인 명령들만을 제공할 수 있다.
도 14는 디지털 형태로 저장될 수 있는 컨텐트 507의 어떤 집합이 컨텐트 요소들의 집합으로 분해되거나 감축될 수 있음을 나타낸다. 기본적인 컨텐트 구성요소는, 예를 들면, 텍스트, 이미지, 오디오, 비디오 등일 수 있다. 이들 기본적인 구성요소들은 사용자들 501에 대한 컨텐트 507 제공을 위하여 다수의 상이한 방법 또는 구조로 조합, 배열, 치환, 및/또는 포맷팅 등이 될 수 있다. 컨텐트 요소들의 각각의 고유한 조합은 처리로 지칭될 수 있다.
궁극적으로, CCOS는 상이한 사용자 501에 대하여 어떤 처리들이 제공되어야 하는지를 결정한다. 처리들 515-518은 두 개의 속성들(직사각형 및 정사각형(square))의 두 개의 레벨들(줄무늬 및 음영)로 제공될 수 있는 상이한 조합을 나타낸다.
도 15는 CCOS 500 안의 기능들의 내부 흐름을 나타낸다. 실험 엔진 510은 CCOS 500과 인터페이싱되는 ECS 503 상에 제공될 컨텐트 요소들에 걸쳐 적용하는 데에 적절한 실험의 설계를 결정한다.
컨텐트 관리를 위한 방법
도 16은 사용자들에게 전달되는 컨텐트를 관리하기 위한 예시적인 방법 600이다. 방법 600은 ECS 503와 협동하는 CCOS 500의 동작의 다양한 면들에 대응할 수 있다.
방법 600은 플러그-인들 514이 상이한 ECS 503와 연결되도록 설치되거나 구성되는 단계 602에서 시작한다. 각 ECS는 실험들을 핸들링하는 것 또는 처리들을 제공하는 것에 대한 제약들에 관한 그것 자신의 집합을 갖는다는 점에서 상이할 수 있다. 예를 들면, 일 시스템은 다른 시스템의 모든 범위에 대한 실험들을 실행할 수 없을 수 있고, 예를 들면, 단지 다른 시스템에 대하여 상대적으로 제한된 수의 순열, 또는 컨텐트 요소들의 계승 설계들(factorial designs)만이 가능하다. 따라서, ECS 503에 의하여 관리되는 상이한 컨텐트 요소를 제어하고 ECS 503로부터 데이터를 수집하기 위해 플러그-인들 514은 파라미터화되거나 커스터마이징될 수 있다.
단계 604에서, 실험 엔진은 ECS 503에 걸쳐서 나타날 속성들 또는 레벨들의 집합을 정의하는 데에 이용된다. 일 실시예에 따르면, 실험 엔진 530은 실험들에 대한 다양한 정의들을 생성할 수 있다. 이들 정의들은 실험들의 주제가 될 컨텐트 요소의 특정 집합, 컨텐트 507가 배열되는 하나 이상의 처리들, 각 실험이 수행될 시간, 처리들을 전달 받을 사용자들 501의 그룹들, 처리들의 전달을 지배하는 실험 규칙들을 특정할 수 있다.
일 가능한 실시예에 따르면, CCOS 500의 관리자 사용자는 실험들을 설계하기 위하여 시스템과 상호 작용할 수 있다.
다른 가능한 실시예에 따르면, 실험의 설계는 속성들과 레벨들뿐만 아니라 사용자와 문맥 변수들의 혼동을 모두 방지하도록 정의될 것이다. 실험 엔진 510은 시스템 작동기나 플러그-인들로부터의 정보에 기초하여 각 관련된 ECS가 묶음 모드로 작동했는지 혹은 실시간 모드로 작동했는지 여부를 결정할 것이다. 묶음 모드의 그러한 작동에 대하여, 실험 엔진 510은 속성들 및 레벨들의 적당한 집합을 결정하고 ECS 503의 어떤 주어진 제약들에 대하여 최적화된 실험의 설계를 지정할 것이다. 예를 들면, 상이한 타입의 부분적인 계승 설계들은, 필요한 경우, 어떤 ECS 503에 대한 광고 변화들의 수를 감축하기 위하여 이용될 것이다. 실험을 수행할 때 ECS들 사이의 조정이 요구되는 곳에서, 실험 엔진 510은 또한, 플러그-인들 514과 협력하여, 한 ECS 503에 묶음 모드로 추가적인 정보를 제공하여 상기 ECS 503가 다른 ECS들 503에 정보를 전할 수 있도록 할 것인데, 상기 정보는, 예를 들면, 모든 이전에 제공된 속성들 또는 레벨들, 사용자 501, 또는 문맥 데이터를 포함한다.
실시간 모드로 동작하는 ECS들 503에 대해서, 실험 엔진 510은 규칙 생성기 513가 적당한 처리들을 전달하도록 구성할 뿐만 아니라, CCOS 500의 제어 하에서 다른 ECS 503에 의하여 어떤 ECS 503에 전해지는 사용자 데이터 또는 문맥 데이터를 해석하는 방법에 대한 명령을 제공하도록 구성할 수 있다.
단계 606에서, 규칙 생성기 513는 사용자들 501의 개별 그룹들에 특정 처리들을 전달하기 위해 실험들을 스케쥴링한다.
단계 608에서, 규칙 생성기 511와 협력하여 동작하는 데이터 대조기 511는 정의된 실험들을 수행하고 사용자들의 관찰된 행동과 관계 있는 데이터를 수집한다. 데이터 대조기 511는 ECS 503의 추적 능력들과 함께 그것의 실시간 추적 능력들의 모든 조합을 이용할 것이다. 데이터 대조기 511는 이들 데이터 소스들을 각 레벨이 제공된 횟수, 그것이 제공된 곳, 그것이 제공된 자, 과거의 사용자 501 데이터, 사용자의 상호 작용 횟수 또는 사용자에 관한 정보와 같은 문맥 데이터, 및 순차적인 사용자 501 행동을 포함시킬 수 있는 단일 데이터 집합으로 결합한다.
단계 610에서, 모델링 엔진 521는 데이터 대조기 511로부터 수집된 데이터/정보를 이용하여 모델을 생성한다. 모델은 컨텐트 요소들이 사용자들 501의 행동 또는 선택들에 영향을 미치는 정도를 반영할 수 있다. 행동 모델은, 예를 들면, 특정 성과를 달성할 확률에 대한 컨텐트 요소들의 효과를 정량화하는 데에 이용될 수 있는 연속의 또는 이산의 다변량 통계학적 모델로 구성될 수 있다. 모델링 엔진 512은 테스트되는 속성들, 사용자 및 문맥 데이터의 모든 것으로부터 예상되는 성과들과 관계 있는 예상들의 집합을 생성한다. 이들 예상들은 ECS 503에 의하여 추적되는 다수의 사용자 행동들에 걸쳐서 만들어질 수 있으므로, 각 성과에 대하여 상대적인 값 또는 가중치가 알려지면, 예상들 역시 성과들의 모든 조합에 대하여 만들어질 수 있다. 이러한 예상은 사용자 행동의 값을 최대화하기 위하여 사용자들에게 제공되어야 하는 컨텐트 요소들에 대한 간단한 기술일 수 있다. 예상은 특정 종류의 사용자들에 대하여 특정 컨텐트를 타게팅하는 규칙 생성기 513에 의하여 구현될 수 있다. 단계 612에서, CCOS 500는 선택적으로, 만들어진 어떤 변화에 대하여 예상되는 성과를 계산하는 동안에 관리자 사용자가, 원하는 경우, 최적의 규칙들을 커스터마이징할 수 있게 한다.
단계 614에서, 규칙 생성기 513는 예상을 구현하기 위하여 플러그-인들 514을 통해 ECS 503와 협동한다. 이는 어떤 기준(예를 들면, 시각, 클릭 트레일)에 따라 다양한 사용자들 501에게 특정 처리들을 전달하는 결과를 낳는다. 개별 처리들에 대한 사용자들 501의 행동과 관계 있는 데이터는 역시 데이터 대조기 511에 의하여 수집될 수 있다.
앞서 언급한 방법 단계들이 모두 묶음으로 수행될 필요는 없다. 어떤 것은 예를 들면 특정 하드웨어 시스템 하에서 먼저 수행될 것이다. 그리고 어떤 것은, 첫 번째 시스템으로부터 데이터를 이용할 수 있는 다른 하드웨어 시스템 하에서 나중에 수행될 것이다.
본 기술 분야에서 숙련된 사람은 본 발명의 본질을 설명하기 위하여 기술 및 설명된 부분들 및 행위들의 상세한 항목들, 재료들, 및 배열들에 있어서 다양한 수정들 및 변형들이 가능함과 이러한 수정들 및 변형들은 거기에 포함된 가르침들 및 특허청구범위의 사상 및 범위로부터 벗어난 것이 아님을 인식할 수 있을 것이다.
본 발명의 특정 실시예들이 보여지고 설명되었음에도 불구하고, 보다 넓은 측면에서 본 발명으로부터 벗어나지 않은 채 변경들 또는 수정들이 가능할 것임은 본 기술 분야에서 숙련된 사람들에게 명백할 것이고, 따라서, 첨부된 청구항들은 그것들의 범위 내에 본 발명의 진정한 범위 내에 포함되는 모든 그러한 변경들 또는 수정들을 포함한다고 할 것이다.
하기의 도면들은, 선행 기술을 나타내는 것으로 지적되지 않은 이상, 본 발명에 따른 실시예들을 나타낸다.
도 1은, 선행 기술에 따른, 컨텐트 시스템 및 통신 관리 시스템을 포함하는 환경을 나타낸다;
도 2는, 선행 기술에 따른, 컨텐트 시스템 및 통신 관리 시스템에 대한 블록도이다;
도 3은, 선행 기술에 따른, 실험 엔진에 대한 블록도이다;
도 4는, 선행 기술에 따른, 모델 엔진에 대한 블록도이다;
도 5는, 선행 기술에 따른, 예상 엔진에 대한 블록도이다;
도 6은, 선행 기술에 따른, 관찰 모듈에 대한 블록도이다;
도 7은, 선행 기술에 따른, 스크립팅/스케쥴링 엔진의 블록도이다;
도 8은, 선행 기술에 따른, 사용자들에게 전달되는 컨텐트를 관리하는 예시 적인 방법의 흐름도이다;
도 9는, 선행 기술에 따른, 본 발명의 일 실시예에 따른, 구조화된 컨텐트에 대한 실험을 정의하기 위한 예시적인 방법의 흐름도이다;
도 10은, 선행 기술에 따른, 실험을 수행하고 추적 가능한 성과들/목표들에 대한 데이터를 수집하기 위한 예시적인 방법의 흐름도이다; 그리고
도 11은, 선행 기술에 따른, 모델링 및 예상을 위한 예시적인 방법의 흐름도이다.
도 12는 크로스-채널 최적화에 관한 대표적인 시스템도이다.
도 13은 크로스-채널 최적화에 관한 다른 대표적인 시스템도이다.
도 14는 본 발명에서의 이용을 위한 처리 변화들에 관한 예시적인 표현이다.
도 15는 크로스-채널 최적화에 관한 다른 대표적인 시스템도이다.
도 16은 크로스-채널 최적화에 관한 방법 단계들의 흐름도이다.

Claims (20)

  1. 컨텐트의 조직적인 변화를 조정하기 위한 컴퓨터 시스템으로서,
    상기 컨텐트는 상기 컴퓨터 시스템의 외부에 있는 복수의 외부 컨텐트 시스템들과 사용자들 사이의 상호 작용 세션들 동안에 디지털 데이터 네트워크를 통하여 상기 사용자들에게 전달되고,
    상기 컴퓨터 시스템은,
    프로세서;
    상기 복수의 외부 컨텐트 시스템들이 상기 사용자들에 관한 정보를 규칙 생성기에게 반환하게 하기 위한 추적 코드들의 고유 집합을 생성하도록 상기 프로세서에 의해 실행되는 실험 엔진 - 상기 규칙 생성기는 상기 반환된 정보를 수신하여 상기 복수의 외부 컨텐트 시스템들 각각에 의해 전달될 최적의 컨텐트 요소를 결정함 - ;
    외부 컨텐트 시스템의 사용자들에게 제공하기 위한, 지각할 수 있게-표현 가능한(perceptibly-renderable) 디지털 처리들 내에 컨텐트의 조직적인 변화를 제공하고, 각 외부 컨텐트 시스템에 걸쳐서 상기 처리들이 사용자들에게 표현될 방법을 결정하며, 시스템들에 걸쳐서 실험이 추적될 방법을 결정하고, 상기 컨텐트의 변화를 갖는 상기 처리들을 상기 사용자들에게 전달하기 위한 규칙들의 하나 이상의 집합 - 상기 규칙 생성기는 상기 규칙들의 집합 중 하나 이상을 상기 디지털 네트워크를 통하여 상기 복수의 외부 컨텐트 시스템들에게 특정 프로그램 명령들로서 전달하고 상기 반환된 정보를 수신하도록 상기 프로세서에 의해 실행됨 - ;
    각각의 처리가 제공된 횟수 및 처리를 제공받았을 때 사용자들이 행한 것 중 적어도 하나에 대한 데이터를 상기 복수의 외부 컨텐트 시스템들로부터 자동적으로 액세스하고 실시간으로 수집하며, 상기 실험 엔진에 의해 생성된 상기 추적 코드들의 고유 집합에 따라 상기 수집된 데이터를 매칭함으로써 상기 수집된 데이터와 상기 데이터의 소스를 포함하는 추가 정보를 상기 프로세서에 의한 처리를 위한 단일 데이터 파일로 결합하는 데이터 대조기; 및
    상기 컴퓨터 시스템이 상기 복수의 외부 컨텐트 시스템들과 통신하게 하기 위한 복수의 플러그-인들(plug-ins) - 상기 복수의 플러그-인들은 상기 규칙들의 하나 이상의 집합을 상기 복수의 외부 컨텐트 시스템들 중 서로 다른 것들에 의해 실행될 수 있는 형식으로 번역함 -
    을 포함하는 컴퓨터 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 시스템은 실험 중 상기 사용자들의 샘플링에 기초하여 데이터를 수신하고, 어떤 사용자들이 실험 컨텐트를 수신하도록 지정될지 및 어떤 사용자들이 실험 대조군으로서 이용될지를 결정하는 컴퓨터 시스템.
  5. 제1항에 있어서,
    사용자들에 대한 상기 처리들의 전달을 지배하는 상기 규칙들은 상황 특정 규칙들이고, 상기 상황 특정 규칙들은 실험 규칙들, 예상 규칙들 및 사용자-정의 규칙들 중 적어도 하나를 포함하는 컴퓨터 시스템.
  6. 제1항에 있어서,
    상기 컴퓨터 시스템은 개별 사용자들에게 컨텐트의 변화를 갖는 상기 처리들을 전달하기 위하여 통계학적인 샘플링 절차들을 구현하는 컴퓨터 시스템.
  7. 제1항에 있어서,
    상기 프로세서는 상기 컨텐트의 변화가 사용자들의 행동에 영향을 미치는 정도를 식별하기 위하여 모델 엔진을 구현하는 컴퓨터 시스템.
  8. 제7항에 있어서,
    상기 모델 엔진은 처리의 상기 컨텐트의 변화에 반응하여 기록된 행위들에 기초하여 관측된 사용자 행동에 대한 추상적인 기술들(descriptions)을 제공하기 위하여 하나 이상의 행동 모델을 생성하는 컴퓨터 시스템.
  9. 제7항에 있어서,
    상기 모델 엔진은 상기 컨텐트의 변화에 반응하여 사용자들에 의해 행하여질 장래의 행위들의 가능도를 예상하는 컴퓨터 시스템.
  10. 제9항에 있어서,
    상기 모델 엔진은 컨텐트의 변화에 반응하여 사용자들에 의해 행하여질 장래의 행위들의 상기 예상된 가능도를 이용하여 기설정된 성과에 최적인 컨텐트의 변화를 결정하는 컴퓨터 시스템.
  11. 제7항에 있어서,
    상기 컴퓨터 시스템은 상기 모델 엔진으로부터 추천된 처리를 전달하는 컴퓨터 시스템.
  12. 컴퓨터 시스템으로서,
    실험을 수행하는 프로세서;
    지각할 수 있게-표현 가능한 디지털 컨텐트 요소들의 집합을 조직적으로 변화시켜 상이한 클래스들을 갖는 복수의 외부 컨텐트 시스템들의 사용자들에게 제공하기 위한 처리들의 집합을 포함하는 적어도 하나의 실험을 생성하고, 상기 복수의 외부 컨텐트 시스템들이 상기 사용자들에 관한 정보를 규칙 생성기에게 반환하게 하기 위한 추적 코드들의 고유 집합을 생성하도록 상기 프로세서에 의해 실행되는 실험 엔진 - 상기 규칙 생성기는 상기 반환된 정보를 수신하여 상기 복수의 외부 컨텐트 시스템들 각각에 의해 전달될 최적의 컨텐트 요소를 결정하고, 상기 규칙 생성기는 상기 처리들을 사용자들에게 전달하기 위한 상기 적어도 하나의 실험을 포함하는 출력을 생성하고 상기 반환된 정보를 수신하도록 상기 프로세서에 의해 실행됨 - ;
    각각의 처리가 제공된 횟수 및 처리를 제공받았을 때 사용자들이 행한 것 중 적어도 하나에 대한 데이터를 상기 복수의 외부 컨텐트 시스템들로부터 자동적으로 액세스하고 실시간으로 수집하며, 상기 실험 엔진에 의해 생성된 상기 추적 코드들의 고유 집합에 따라 상기 수집된 데이터를 매칭함으로써 상기 수집된 데이터와 상기 데이터의 소스를 포함하는 추가 정보를 상기 프로세서에 의한 처리를 위한 단일 데이터 파일로 결합하는 데이터 대조기; 및
    상기 컴퓨터 시스템이 디지털 네트워크를 통하여 상기 복수의 외부 컨텐트 시스템들의 상기 상이한 클래스들과 통신하게 하기 위한 복수의 플러그-인들 - 상기 복수의 플러그-인들은 규칙들의 하나 이상의 집합을 상기 복수의 외부 컨텐트 시스템들 중 서로 다른 것들에 의해 실행될 수 있는 형식으로 번역함 -
    을 포함하는 컴퓨터 시스템.
  13. 제12항에 있어서,
    상기 컴퓨터 시스템은 상기 처리들이 상기 복수의 외부 컨텐트 시스템들의 상기 상이한 클래스들에게 표현될 방법을 각각의 외부 컨텐트 시스템의 클래스에 기초하여 결정하는 컴퓨터 시스템.
  14. 제13항에 있어서,
    상기 컴퓨터 시스템은 상기 복수의 외부 컨텐트 시스템들에 걸쳐서 실험이 추적될 방법을 각각의 외부 컨텐트 시스템의 클래스에 기초하여 결정하는 컴퓨터 시스템.
  15. 제14항에 있어서,
    상기 컴퓨터 시스템은 상기 복수의 외부 컨텐트 시스템들 중의 외부 컨텐트 시스템에게 상기 외부 컨텐트 시스템의 클래스의 특정 파라미터들에 따라 상기 디지털 네트워크를 통하여 실험 규칙들을 전달하는 컴퓨터 시스템.
  16. 삭제
  17. 자동화된 방법으로서,
    지각할 수 있게-표현 가능한 디지털 컨텐트 요소들의 집합을 포함하는 처리를 제공받는 때에 사용자들이 상기 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 예상 엔진에 의해 생성하는 단계 - 상기 예상들은 상기 집합에 속하는 컨텐트 요소들에 대한 사용자 행동을 시험한 하나 이상의 실험으로부터 수집된 데이터로부터 생성되고, 상기 실험은 상이한 클래스들을 갖는 복수의 외부 컨텐트 시스템들에 걸쳐 실행됨 - ;
    상기 처리를 상기 사용자들에게 전달하기 위한 적어도 하나의 스케쥴링된 실험을 포함하는 출력을 규칙 생성기에 의해 생성하는 단계;
    상기 규칙 생성기의 출력을 번역 모듈에 의해 프로그램 명령들의 하나 이상의 집합으로 번역하는 단계;
    상기 복수의 외부 컨텐트 시스템들이 상기 사용자들에 관한 정보를 상기 규칙 생성기에게 반환하게 하기 위한 추적 코드들의 고유 집합을 프로세서에 의해 생성하는 단계 - 상기 규칙 생성기는 상기 반환된 정보를 수신하여 상기 복수의 외부 컨텐트 시스템들 각각에 의해 전달될 최적의 컨텐트 요소를 결정함 - ;
    상기 제공된 컨텐트 요소들에 반응하여 원하는 사용자 행동이 발생할 확률을 증가시키기 위하여 상기 예상들에 따라 상기 외부 컨텐트 시스템들의 상기 상이한 클래스들의 사용자들에게 처리들을 전달하는 단계;
    각각의 처리가 제공된 횟수 및 처리를 제공받았을 때 사용자들이 행한 것 중 적어도 하나에 대한 데이터를 상기 복수의 외부 컨텐트 시스템들로부터 자동적으로 액세스하고 실시간으로 수집하는 단계; 및
    상기 프로세서에 의해 생성된 상기 추적 코드들의 고유 집합에 따라 상기 수집된 데이터를 매칭함으로써 상기 수집된 데이터와 상기 데이터의 소스를 포함하는 추가 정보를 상기 프로세서에 의한 처리를 위한 단일 데이터 파일로 결합하는 단계
    를 포함하는 자동화된 방법.
  18. 삭제
  19. 컨텐트의 전달을 위한 자동화된 방법으로서,
    프로세서에 의해 실행되는 실험 엔진에 의해 이산 컨텐트 요소들을 포함하는 처리들을 생성하는 단계 - 상기 처리들은 지각할 수 있게-표현 가능한 디지털 처리들의 변화들의 구성을 지배하는 실험 설계 규칙들에 따라 생성되고, 데이터 네트워크를 통하여 사용자들에게 전달 가능함 - ;
    상기 처리들의 변화들을 이용하여 복수의 외부 컨텐트 시스템들의 상이한 클래스들에 걸쳐 실험들을 수행하는 단계;
    상기 복수의 외부 컨텐트 시스템들이 상기 사용자들에 관한 정보를 규칙 생성기에게 반환하게 하기 위한 추적 코드들의 고유 집합을 프로세서에 의해 생성하는 단계 - 상기 규칙 생성기는 상기 반환된 정보를 수신하여 상기 복수의 외부 컨텐트 시스템들 각각에 의해 전달될 최적의 컨텐트 요소를 결정함 - ;
    각각의 처리가 제공된 횟수 및 처리를 제공받았을 때 사용자들이 행한 것 중 적어도 하나에 대한 데이터를 상기 복수의 외부 컨텐트 시스템들로부터 자동적으로 액세스하고 실시간으로 수집하는 단계;
    상기 프로세서에 의해 생성된 상기 추적 코드들의 고유 집합에 따라 상기 수집된 데이터를 매칭함으로써 상기 수집된 데이터와 상기 데이터의 소스를 포함하는 추가 정보를 상기 프로세서에 의한 처리를 위한 단일 데이터 파일로 결합하는 단계;
    상기 수행된 실험들로부터 수집된 데이터에 기초하여 행동의 모델을 생성하는 단계;
    사용자가 특정 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 상기 모델을 이용하여 상기 프로세서에 의해 생성하는 단계; 및
    복수의 플러그-인들을 통하여 상기 복수의 외부 컨텐트 시스템들에게 규칙들의 하나 이상의 집합을 전달하는 단계 - 각각의 플러그-인은 상기 규칙 생성기에 의해 생성되는 규칙들의 집합을 상기 복수의 외부 컨텐트 시스템들 중 하나에 의해 실행될 수 있는 형식으로 번역하고, 상기 규칙들의 하나 이상의 집합은 각각의 클래스의 특정 파라미터들에 따라 상기 복수의 외부 컨텐트 시스템들의 상기 상이한 클래스들에 대한 상기 처리들의 전달을 특정함 -
    를 포함하는 자동화된 방법.
  20. 명령들의 집합을 포함하는 기계 판독 가능한 비일시적 매체로서,
    상기 명령들은 프로세서에 의해 실행되는 때에 상기 프로세서로 하여금,
    이산 컨텐트 요소들을 포함하는 처리들을 생성하는 단계 - 상기 처리들은 지각할 수 있게-표현 가능한 디지털 처리들의 변화들의 구성을 지배하는 실험 설계 규칙들에 따라 생성되고, 데이터 네트워크를 통하여 사용자들에게 전달 가능함 - ;
    복수의 외부 컨텐트 시스템들이 상기 사용자들에 관한 정보를 상기 프로세서에게 반환하게 하기 위한 추적 코드들의 고유 집합을 생성하는 단계 - 상기 명령들은 상기 프로세서로 하여금 상기 반환된 정보를 처리하여 상기 복수의 외부 컨텐트 시스템들 각각에 의해 전달될 최적의 컨텐트 요소를 결정하게 함 - ;
    상기 처리들의 변화들을 이용하여 복수의 외부 컨텐트 시스템들의 상이한 클래스들에 걸쳐 실험들을 수행하는 단계;
    각각의 처리가 제공된 횟수 및 처리를 제공받았을 때 사용자들이 행한 것 중 적어도 하나에 대한 데이터를 상기 복수의 외부 컨텐트 시스템들로부터 자동적으로 액세스하고 실시간으로 수집하는 단계;
    상기 추적 코드들의 생성된 고유 집합에 따라 상기 수집된 데이터를 매칭함으로써 상기 수집된 데이터와 상기 데이터의 소스를 포함하는 추가 정보를 상기 프로세서에 의한 처리를 위한 단일 데이터 파일로 결합하는 단계;
    상기 실험들로부터 수집된 데이터에 기초하여 행동의 모델을 생성하는 단계;
    사용자가 특정 처리에 대하여 어떻게 반응할 것인지에 대한 예상들을 생성하는 단계; 및
    복수의 플러그-인들을 통하여 상기 복수의 외부 컨텐트 시스템들에게 규칙들의 하나 이상의 집합을 전달하는 단계 - 각각의 플러그-인은 규칙들의 집합을 상기 복수의 외부 컨텐트 시스템들 중 하나에 의해 실행될 수 있는 형식으로 번역하고, 상기 규칙들의 하나 이상의 집합은 각각의 클래스의 특정 파라미터들에 따라 상기 복수의 외부 컨텐트 시스템들의 상기 상이한 클래스들에 대한 상기 처리들의 전달을 특정함 -
    를 수행하게 하는 기계 판독 가능한 비일시적 매체.
KR1020097014714A 2006-12-15 2007-12-12 크로스 채널 최적화 시스템 및 방법 KR101525262B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87021706P 2006-12-15 2006-12-15
US60/870,217 2006-12-15
PCT/US2007/087200 WO2008076741A1 (en) 2006-12-15 2007-12-12 Cross channel optimization systems and methods

Publications (2)

Publication Number Publication Date
KR20090125749A KR20090125749A (ko) 2009-12-07
KR101525262B1 true KR101525262B1 (ko) 2015-06-03

Family

ID=39536673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014714A KR101525262B1 (ko) 2006-12-15 2007-12-12 크로스 채널 최적화 시스템 및 방법

Country Status (8)

Country Link
US (2) US8392345B2 (ko)
EP (1) EP2109847A4 (ko)
JP (1) JP4981146B2 (ko)
KR (1) KR101525262B1 (ko)
CN (1) CN101669131B (ko)
AU (1) AU2007334076B2 (ko)
CA (1) CA2672666C (ko)
WO (1) WO2008076741A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220120079A (ko) * 2021-02-23 2022-08-30 주식회사 카카오 설문 조사를 수행하는 방법 및 장치

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699297B2 (en) * 2008-07-11 2020-06-30 Taguchimarketing Pty Ltd Method, system and software product for optimizing the delivery of content to a candidate
US8755511B2 (en) 2008-09-08 2014-06-17 Invoca, Inc. Methods and systems for processing and managing telephonic communications
US8917860B2 (en) 2008-09-08 2014-12-23 Invoca, Inc. Methods and systems for processing and managing communications
US8238540B1 (en) 2008-09-08 2012-08-07 RingRevenue, Inc. Methods and systems for processing and managing telephonic communications using ring pools
US8687794B1 (en) 2008-09-08 2014-04-01 Invoca, Inc. Methods and systems for processing and managing telephonic communications
US9036808B2 (en) 2008-09-08 2015-05-19 Invoca, Inc. Methods and systems for data transfer and campaign management
US9171322B2 (en) 2008-09-08 2015-10-27 Invoca, Inc. Methods and systems for routing calls in a marketing campaign
US8767946B1 (en) 2008-09-08 2014-07-01 Invoca, Inc. Methods and systems for processing and managing communications
US8577016B1 (en) 2008-09-08 2013-11-05 RingRevenue, Inc. Methods and systems for processing and managing telephonic communications using ring pools
US9438733B2 (en) 2008-09-08 2016-09-06 Invoca, Inc. Methods and systems for data transfer and campaign management
US9292861B2 (en) 2008-09-08 2016-03-22 Invoca, Inc. Methods and systems for routing calls
US8781105B1 (en) 2008-09-08 2014-07-15 Invoca, Inc. Methods and systems for processing and managing communications
WO2010057265A1 (en) * 2008-11-21 2010-05-27 Faulkner Lab Pty Ltd A system for providing information concerning the effectiveness of advertising
CN102640179A (zh) * 2009-09-18 2012-08-15 奥多比公司 用于多渠道广告的基于广告受众历史的竞价生成系统和方法
US20130211909A1 (en) * 2010-02-25 2013-08-15 Fringe81, Inc. Server device and advertisment image distribution and program
US8660882B2 (en) * 2010-07-16 2014-02-25 International Business Machines Corporation Maximizing retailer profit and customer satisfaction using multi-channel optimization
US20120076283A1 (en) * 2010-09-23 2012-03-29 Ajmera Dinesh Predictive Customer Service Environment
US20120173328A1 (en) * 2011-01-03 2012-07-05 Rahman Imran Digital advertising data interchange and method
US9536269B2 (en) 2011-01-19 2017-01-03 24/7 Customer, Inc. Method and apparatus for analyzing and applying data related to customer interactions with social media
US20120253920A1 (en) * 2011-04-01 2012-10-04 Yarvis Mark D System and method for viewership validation based on cross-device contextual inputs
US9301313B2 (en) * 2011-06-13 2016-03-29 Alcatel Lucent Method and apparatus for data transmission with user selection
US9372829B1 (en) 2011-12-15 2016-06-21 Amazon Technologies, Inc. Techniques for predicting user input on touch screen devices
US11080721B2 (en) * 2012-04-20 2021-08-03 7.ai, Inc. Method and apparatus for an intuitive customer experience
GB201208290D0 (en) * 2012-05-11 2012-06-20 Maxymiser Ltd Saco
US20130317993A1 (en) * 2012-05-25 2013-11-28 24/7 Customer, Inc. Method and apparatus for linking user sessions and establishing identity across channels
US9002809B2 (en) * 2012-11-30 2015-04-07 Siemens Aktiengesellschaft Method and apparatus for generating a data repository
US9600828B2 (en) * 2013-01-10 2017-03-21 24/7 Customer, Inc. Tracking of near conversions in user engagements
US10467854B2 (en) * 2013-01-10 2019-11-05 [24]7.ai, Inc. Method and apparatus for engaging users on enterprise interaction channels
US10846736B2 (en) * 2013-03-13 2020-11-24 Eversight, Inc. Linkage to reduce errors in online promotion testing
US11138628B2 (en) * 2013-03-13 2021-10-05 Eversight, Inc. Promotion offer language and methods thereof
CN105453070B (zh) * 2013-09-20 2019-03-08 英特尔公司 基于机器学习的用户行为表征
WO2015054306A1 (en) * 2013-10-07 2015-04-16 Scientific Revenue, Inc. Dynamic psychologically friendly pricing
WO2015054316A1 (en) * 2013-10-07 2015-04-16 Scientific Revenue, Inc. Automated rules-based pricing
US9167078B2 (en) 2014-02-28 2015-10-20 Invoca, Inc. Systems and methods of processing inbound calls
CA2945038A1 (en) * 2014-04-07 2015-10-15 Tucker Guy Harris System for analyzing and predicting cash-at-risk investments and gambling outcomes
KR20150121889A (ko) * 2014-04-22 2015-10-30 에스케이플래닛 주식회사 재생 음악 관련 이미지 제공 장치 및 이를 이용한 방법
US20160125751A1 (en) * 2014-11-05 2016-05-05 International Business Machines Corporation Answer management in a question-answering environment
US10061842B2 (en) 2014-12-09 2018-08-28 International Business Machines Corporation Displaying answers in accordance with answer classifications
RU2640637C2 (ru) * 2015-10-13 2018-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер проведения контролируемого эксперимента с использованием прогнозирования будущего пользовательского поведения
US10936955B1 (en) * 2017-01-13 2021-03-02 Amazon Technologies, Inc. Computationally and network bandwidth-efficient technique to determine network-accessible content changes based on computed models
US10951503B1 (en) 2017-04-21 2021-03-16 Amazon Technologies, Inc. Determining the validity of data collected by experiments performed at a network accessible site
US20190236619A1 (en) * 2018-01-31 2019-08-01 Microsoft Technology Licensing, Llc. Telemetric analytics using regression over time
US20200380560A1 (en) * 2019-05-30 2020-12-03 Ncr Corporation Automated digital advertising using behavioral intelligence
US11243785B2 (en) * 2019-06-13 2022-02-08 Atlassian Pty Ltd. User interface interaction optimization system and method to detect and display a correlation between a user interface variation and a user interaction goal
US20210019781A1 (en) * 2019-07-19 2021-01-21 Target Brands, Inc. Omnichannel multivariate testing platform
US11144588B2 (en) * 2019-07-30 2021-10-12 Google Llc Determining and utilizing actual purpose of user-assembled collection of electronic content items
JP7273866B2 (ja) * 2021-01-04 2023-05-15 ヤフー株式会社 配信装置、配信方法及び配信プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050159921A1 (en) * 1999-08-26 2005-07-21 Louviere Jordan J. On-line experimentation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
AUPQ246899A0 (en) * 1999-08-26 1999-09-16 Memetrics An automated communications management agent
JP2002058010A (ja) * 2000-08-11 2002-02-22 Nippon Telegraph & Telephone West Corp モニタ抽出方法およびそのシステム
JP2002083211A (ja) * 2000-09-07 2002-03-22 Dny:Kk 広告送信方法及びシステム
JP2003216608A (ja) * 2002-01-23 2003-07-31 Sony Corp 情報収集/分析方法及びシステム
US6934784B2 (en) 2002-07-11 2005-08-23 Hewlett-Packard Development Company, L.P. Systems and methods for managing-system-management-event data
US7197702B2 (en) * 2003-06-13 2007-03-27 Microsoft Corporation Web page rendering mechanism using external programmatic themes
US20070038642A1 (en) * 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
JP2006313483A (ja) * 2005-05-09 2006-11-16 Hitachi Ltd コンテンツ評価方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050159921A1 (en) * 1999-08-26 2005-07-21 Louviere Jordan J. On-line experimentation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220120079A (ko) * 2021-02-23 2022-08-30 주식회사 카카오 설문 조사를 수행하는 방법 및 장치
KR102583318B1 (ko) * 2021-02-23 2023-09-26 주식회사 카카오 설문 조사를 수행하는 방법 및 장치

Also Published As

Publication number Publication date
KR20090125749A (ko) 2009-12-07
EP2109847A1 (en) 2009-10-21
US8392345B2 (en) 2013-03-05
AU2007334076A2 (en) 2009-09-24
US20130218818A1 (en) 2013-08-22
CA2672666C (en) 2016-09-27
AU2007334076B2 (en) 2012-09-27
CA2672666A1 (en) 2008-06-26
CN101669131A (zh) 2010-03-10
US9477930B2 (en) 2016-10-25
JP4981146B2 (ja) 2012-07-18
EP2109847A4 (en) 2010-09-29
CN101669131B (zh) 2014-07-09
JP2010514010A (ja) 2010-04-30
US20100049679A1 (en) 2010-02-25
AU2007334076A1 (en) 2008-06-26
WO2008076741A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
KR101525262B1 (ko) 크로스 채널 최적화 시스템 및 방법
US9002729B2 (en) System and method for determining sets of online advertisement treatments using confidences
US6934748B1 (en) Automated on-line experimentation to measure users behavior to treatment for a set of content elements
US7308497B2 (en) On-line experimentation
Mena Data mining your website
US8417715B1 (en) Platform independent plug-in methods and systems for data mining and analytics
US10672035B1 (en) Systems and methods for optimizing advertising spending using a user influenced advertisement policy
WO2001015052A1 (en) Managing the delivery of content to users
AU2013206242B2 (en) Digital marketing optimization
AU765104B2 (en) On-line experimentation
Hai et al. An integrated framework for the design of optimal web banners
AU7080300A (en) Managing the delivery of content to users
AU5367000A (en) Managing the delivery of content of users
Rajawat et al. New approach to internet advertisement through Personalization
BURKE et al. Marketing research provides man-agers with information that can be used to identify and define marketing opportunities and problems; generate, refine, and evaluate marketing ac-tions; monitor marketing performance; and improve our understanding of marketing as a process (adapted from the definition provided by the Amer

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 5