ランタイム環境のステージング・テーブルから Campaign の履歴テーブルへのマッピング
Interact コンタクト履歴ステージング・テーブルは、Campaign 履歴テーブルにマッピングされます。オーディエンス・レベルごとにいずれかのランタイム環境ステージング・テーブルが必要です。
UACI_CHStaging コンタクト履歴ステージング・テーブルのマッピング
このテーブルには、UACI_CHStaging ランタイム環境ステージング・テーブルと Campaign コンタクト履歴テーブルとのマッピングを示しています。示されているテーブル名は、ランタイム・テーブルと Campaign システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。
UACI_CHStaging Interact コンタクト履歴ステージング・テーブルの列名 |
Campaign コンタクト履歴テーブル |
テーブルの列名 |
---|---|---|
ContactID | 該当なし | 該当なし |
TreatmentCode | UA_Treatment | TreatmentCode |
CampaignID | UA_Treatment | CampaignID |
OfferID | UA_Treatment | OfferID |
CellID | UA_Treatment | CellID |
CustomerID | UA_DtlContactHist | CustomerID |
ContactDate | UA_DtlContactHist | ContactDateTime |
ExpirationDateTime | UA_Treatment | ExpirationDateTime |
EffectiveDateTime | UA_Treatment | EffectiveDateTime |
ContactType | UA_DtlContactHist | ContactStatusID |
ContactStatusCode | UA_DtlContactHist | ContactStatusId |
UserDefinedFields | UA_DtlContactHist | UserDefinedFields |
ContactID は、UACI_CHOfferAtrib テーブルを UACI_CHStaging テーブルと結合させるキーです。userDefinedFields 列には選択したすべてのデータを含めることができます。
UACI_CHOfferAttrib コンタクト履歴ステージング・テーブルのマッピング
このテーブルには、UACI_CHOfferAttrib ランタイム環境ステージング・テーブルと Campaign コンタクト履歴テーブルとのマッピングを示しています。示されているテーブル名は、ランタイム・テーブルと Campaign システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。
UACI_CHOfferAttrib Interact コンタクト履歴ステージング・テーブルの列名 |
Campaign コンタクト履歴テーブル |
テーブルの列名 |
---|---|---|
ContactID | 該当なし | 該当なし |
AttributeID | UA_OfferHistAttrib | AttributeID |
StringValue | UA_OfferHistAttrib | StringValue |
NumberValue | UA_OfferHistAttrib | NumberValue |
DateTimeValue | UA_OfferHistAttrib | DateTimeValue |
UACI_RHStaging コンタクト・レスポンス履歴ステージング・テーブルのマッピング
このテーブルには、UACI_RHStaging ランタイム環境ステージング・テーブルと Campaign レスポンス履歴テーブルとのマッピングを示しています。示されているテーブル名は、ランタイム・テーブルと Campaign システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。
UACI_RHStaging Interact レスポンス履歴ステージング・テーブルの列名 |
Campaign レスポンス履歴テーブル |
テーブルの列名 |
---|---|---|
SeqNum | 該当なし | 該当なし |
TreatmentCode | UA_ResponseHistory | TreatmentInstID |
CustomerID | UA_ResponseHistory | CustomerID |
ResponseDate | UA_ResponseHistory | ResponseDateTime |
ResponseType | UA_ResponseHistory | ResponseTypeID |
UserDefinedFields | UA_ResponseHistory | UserDefinedFields |
SeqNum は、データを識別するためにコンタクトおよびレスポンス履歴モジュールが使用するキーですが、Campaign レスポンス・テーブルには記録されません。userDefinedFields 列には選択したすべてのデータを含めることができます。
ステージング・テーブルの追加列
ステージング・テーブルに列を追加すると、コンタクトおよびレスポンス履歴モジュールは、その列を UA_DtlContactHist テーブルまたは UA_ResponseHistory テーブルに同じ名前で書き込みます。
例えば、linkFrom という列を UACI_CHStaging テーブルに追加した場合、コンタクトおよびレスポンス履歴モジュールはそのデータを UA_DtlContactHist テーブルの linkFrom 列にコピーします。
Campaign のコンタクト履歴テーブルおよびレスポンス履歴テーブルの追加列
Campaign のコンタクト履歴テーブルおよびレスポンス履歴テーブルに追加列がある場合は、一致する列をステージング・テーブルに追加してから、コンタクトおよびレスポンスの履歴モジュールを実行する必要があります。
ステージング・テーブルに列を追加する場合は、ランタイム・セッション・データ内の名前と値のペアと同じ名前の列を作成します。
例えば、名前値ペア NumberItemsInWishList および NumberItemsInShoppingCart を作成し、UACI_RHStaging テーブルに追加したとします。「オファー承認をログに記録」イベントまたは「オファー拒否をログに記録」イベントが発生すると、ランタイム環境は、これらのフィールドにデータを追加します。ランタイム環境では、「オファー・コンタクトをログに記録」イベントの発生時に UACI_CHStaging テーブルにデータが追加されます。
テーブルを使用してオファーのスコアを含める
ユーザー定義フィールドを使用して、オファーの提示に使用されるスコアを含めることができます。FinalScore という名前の列を、ランタイム・テーブルの UACI_CHStaging テーブルと Campaign システム・テーブルの UA_DtlContactHist テーブルの両方に追加します。組み込み学習を使用している場合、Interact はオファーに使用する最終スコアを FinalScore 列に自動的に挿入します。
カスタマイズされた学習モジュールを作成する場合は、ITreatment インターフェースの setActualValueUsed メソッドと ILearning インターフェースの logEvent メソッドを使用できます。
学習を使用していない場合、Score という名前の列を、ランタイム・テーブルの UACI_CHStaging テーブルと Campaign システム・テーブルの UA_DtlContactHist テーブルの両方に追加します。Interact はオファーに使用するスコアを Score 列に自動的に挿入します。
Campaign に新しい履歴テーブルを、Interact にステージング・テーブルを作成します。
Customer 以外のオーディエンス・レベルを使用している場合は、Campaign に新しい履歴テーブルを、Interact に新しいステージング・テーブルを作成する必要があります。
例えば、下のサンプル・スクリプトを IBM® DB2® 設計時データベース内で使用して、Campaign に Account タイプのオーディエンス・レベル用の履歴テーブルを作成できます。
DROP TABLE ACCT_UA_ResponseHistory;
DROP TABLE ACCT_UA_DtlContactHist;
DROP TABLE ACCT_UA_ContactHistory;
CREATE TABLE ACCT_UA_ResponseHistory (
AccountID varchar(30) NOT NULL,
TreatmentInstID bigint NOT NULL,
ResponsePackID bigint NOT NULL,
ResponseDateTime timestamp NOT NULL,
WithinDateRangeFlg int,
OrigContactedFlg int,
BestAttrib int,
FractionalAttrib float,
DirectResponse int,
CustomAttrib float,
ResponseTypeID bigint,
DateID bigint,
TimeID bigint,
UserDefinedFields char(18),
CONSTRAINT ACCT_cRespHistory_PK
PRIMARY KEY (AccountID, TreatmentInstID,
ResponsePackID )
);
CREATE TABLE ACCT_UA_ContactHistory (
AccountID varchar(30) NOT NULL,
CellID bigint NOT NULL,
PackageID bigint NOT NULL,
ContactDateTime timestamp,
UpdateDateTime timestamp,
ContactStatusID bigint,
DateID bigint,
TimeID bigint,
UserDefinedFields char(18),
CONSTRAINT ACCT_cContactHist_PK
PRIMARY KEY (AccountID, CellID, PackageID )
);
CREATE INDEX ACCT_cContactHist_IX1 ON ACCT_UA_ContactHistory
(
CellID
);
CREATE INDEX ACCT_cContactHist_IX2 ON ACCT_UA_ContactHistory
(
PackageID ,
CellID
);
CREATE TABLE ACCT_UA_DtlContactHist (
AccountID varchar(30) NOT NULL,
TreatmentInstID bigint NOT NULL,
ContactStatusID bigint,
ContactDateTime timestamp,
UpdateDateTime timestamp,
UserDefinedFields char(18),
DateID bigint NOT NULL,
TimeID bigint NOT NULL
);
CREATE INDEX ACCT_cDtlContHist_IX1 ON ACCT_UA_DtlContactHist
(
AccountID ,
TreatmentInstID
);
ALTER TABLE ACCT_UA_ResponseHistory
ADD CONSTRAINT ACCT_cRespHistory_FK2
FOREIGN KEY (TimeID)
REFERENCES UA_Time (TimeID);
ALTER TABLE ACCT_UA_ResponseHistory
ADD CONSTRAINT ACCT_cRespHistory_FK4
FOREIGN KEY (DateID)
REFERENCES UA_Calendar (DateID);
ALTER TABLE ACCT_UA_ResponseHistory
ADD CONSTRAINT ACCT_cRespHistory_FK3
FOREIGN KEY (ResponseTypeID)
REFERENCES UA_UsrResponseType (
ResponseTypeID);
ALTER TABLE ACCT_UA_ResponseHistory
ADD CONSTRAINT ACCT_cRespHistory_FK1
FOREIGN KEY (TreatmentInstID)
REFERENCES UA_Treatment (
TreatmentInstID);
ALTER TABLE ACCT_UA_ContactHistory
ADD CONSTRAINT ACCT_cContactHist_FK2
FOREIGN KEY (DateID)
REFERENCES UA_Calendar (DateID);
ALTER TABLE ACCT_UA_ContactHistory
ADD CONSTRAINT ACCT_cContactHist_FK3
FOREIGN KEY (TimeID)
REFERENCES UA_Time (TimeID);
ALTER TABLE ACCT_UA_ContactHistory
ADD CONSTRAINT ACCT_cContactHist_FK1
FOREIGN KEY (ContactStatusID)
REFERENCES UA_ContactStatus (
ContactStatusID);
ALTER TABLE ACCT_UA_DtlContactHist
ADD CONSTRAINT ACCT_cDtlContactH_FK3
FOREIGN KEY (TimeID)
REFERENCES UA_Time (TimeID);
ALTER TABLE ACCT_UA_DtlContactHist
ADD CONSTRAINT ACCT_cDtlContactH_FK2
FOREIGN KEY (DateID)
REFERENCES UA_Calendar (DateID);
ALTER TABLE ACCT_UA_DtlContactHist
ADD CONSTRAINT ACCT_cDtlContactH_FK1
FOREIGN KEY (ContactStatusID)
REFERENCES UA_ContactStatus (
ContactStatusID);
alter table ACCT_UA_DtlContactHist add RTSelectionMethod int;
alter table ACCT_UA_ResponseHistory add RTSelectionMethod int;
下のサンプル・スクリプトを実行時 IBM DB2 データベース内で使用して、Interact に Account タイプのオーディエンス・レベル用の履歴ステージング・テーブルを作成できます。
DROP TABLE ACCT_UACI_RHStaging;
DROP TABLE ACCT_UACI_CHOfferAttrib;
DROP TABLE ACCT_UACI_CHStaging;
DROP TABLE ACCT_UACI_UserEventActivities;
DROP TABLE ACCT_UACI_EventPatternState;
CREATE TABLE ACCT_UACI_RHStaging (
SeqNum bigint NOT NULL,
TreatmentCode varchar(512),
AccountID varchar(30),
ResponseDate timestamp,
ResponseType int,
ResponseTypeCode varchar(64),
Mark bigint NOT NULL
DEFAULT 0,
UserDefinedFields char(18),
RTSelectionMethod int,
CONSTRAINT iRHStaging_PK1
PRIMARY KEY (SeqNum)
);
CREATE TABLE ACCT_UACI_CHOfferAttrib (
ContactID bigint NOT NULL,
AttributeID bigint NOT NULL,
StringValue varchar(512),
NumberValue float,
DateTimeValue timestamp,
CONSTRAINT ACCT_iCHOfferAttrib_PK
PRIMARY KEY (ContactID, AttributeID)
);
CREATE TABLE ACCT_UACI_CHStaging (
ContactID bigint NOT NULL,
TreatmentCode varchar(512),
CampaignID bigint,
OfferID bigint,
CellID bigint,
AccountID varchar(30),
ContactDate timestamp,
ExpirationDateTime timestamp,
EffectiveDateTime timestamp,
ContactType int,
UserDefinedFields char(18),
Mark bigint NOT NULL DEFAULT 0,
RTSelectionMethod bigint,
CONSTRAINT ACCT_iCHStaging_PK
PRIMARY KEY (ContactID)
);
CREATE TABLE ACCT_UACI_UserEventActivity
(
SeqNum bigint NOT NULL GENERATED ALWAYS AS IDENTITY,
ICID bigint NOT NULL,
ICName varchar(64) NOT NULL,
CategoryID bigint NOT NULL,
CategoryName varchar(64) NOT NULL,
EventID bigint NOT NULL,
EventName varchar(64) NOT NULL,
TimeID bigint,
DateID bigint,
Occurrences bigint NOT NULL,
AccountID varchar(30) not null,
CONSTRAINT iUserEventActivity_PK
PRIMARY KEY (SeqNum)
);
create table ACCT_UACI_EventPatternState
(
UpdateTime bigint not null,
State varchar(1000) for bit data,
AccountID varchar(30) not null,
CONSTRAINT iCustomerPatternState_PK
PRIMARY KEY (AccountID,UpdateTime)
);
ALTER TABLE ACCT_UACI_CHOfferAttrib
ADD CONSTRAINT ACCT_iCHOfferAttrib_FK1
FOREIGN KEY (ContactID)
REFERENCES ACCT_UACI_CHStaging (ContactID);