ランタイム環境のステージング・テーブルから Campaign の履歴テーブルへのマッピング

Interact コンタクト履歴ステージング・テーブルは、Campaign 履歴テーブルにマッピングされます。オーディエンス・レベルごとにいずれかのランタイム環境ステージング・テーブルが必要です。

UACI_CHStaging コンタクト履歴ステージング・テーブルのマッピング

このテーブルには、UACI_CHStaging ランタイム環境ステージング・テーブルと Campaign コンタクト履歴テーブルとのマッピングを示しています。示されているテーブル名は、ランタイム・テーブルと Campaign システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。

表 1. コンタクト履歴

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 システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。

表 2. オファー属性

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 システム・テーブルにおけるデフォルト・オーディエンス用に作成されたサンプル・テーブルです。

表 3. レスポンス履歴

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® 設計時データベース内で使用して、CampaignAccount タイプのオーディエンス・レベル用の履歴テーブルを作成できます。

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 データベース内で使用して、InteractAccount タイプのオーディエンス・レベル用の履歴ステージング・テーブルを作成できます。

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);