Tích hợp khai phá dữ liệu trong InfoSphere Warehouse với việc tạo báo
cáo Cognos của IBM
Phần 4: Phân đoạn khách hàng với InfoSphere Warehouse và Cognos
Mở đầu
Phân đoạn khách hàng cho phép bạn nhóm khách hàng thành các đoạn các khách hàng tương tự
như nhau. Để giải thích tại sao điều này có thể có ích, hãy xem xét kịch bản sau đây. Bạn thu
thập dữ liệu về các khía cạnh nhân khẩu học của khách hàng của bạn (tuổi tác, nghề nghiệp, nơi
cư trú, v.v ) cũng như dữ liệu về giao dịch của họ (các mặt hàng đã mua, các hợp đồng, v.v ).
Một phân tích về dữ liệu đã kết hợp này có thể để lộ ra các nhóm khách hàng mà bạn chưa từng
nghĩ về họ trước đó, ví dụ, các khách hàng cao tuổi chi tiêu rất nhiều tiền nhưng không dùng mua
sắm trực tuyến. Thông tin về các hành vi tiêu biểu của các nhóm như vậy sau đó có thể được bộ
phận tiếp thị của bạn sử dụng để phát triển sản phẩm và các dịch vụ chuyên sâu.
Về kỹ thuật, phân đoạn khách hàng là một trường hợp riêng của nhiệm vụ khai phá dữ liệu tổng
quát hơn được gọi là phân cụm dữ liệu. Phân cụm dữ liệu tự động nhóm các bản ghi dữ liệu theo
các đặc tính hoặc các tính năng của chúng thành các cụm có các bản ghi dữ liệu tương tự với
nhau. Thường có nhiều cách khác nhau để định nghĩa các biện pháp tương tự phía dưới, tùy
thuộc vào miền ứng dụng của bạn. InfoSphere Warehouse cung cấp một cơ chế mạnh mẽ để tự
động chọn biện pháp tương tự này.
Bài viết này cung cấp một sự mô tả ngắn gọn về phân cụm dữ liệu và các phương pháp phân
đoạn khách hàng và các cách tiếp cận trong InfoSphere Warehouse. Sau đó bài viết này thảo luận
về những khả năng tổng hợp để tìm hiểu các đoạn khách hàng và các cụm khác trong Cognos.
Phần cuối của bài viết này cho bạn một ví dụ từng bước về cách tạo và tìm hiểu các đoạn trong
Cognos.
Về đầu trang
Phân đoạn khách hàng khi sử dụng InfoSphere Warehouse
InfoSphere Warehouse cung cấp một số phương pháp để phân cụm các bản ghi dữ liệu. Bằng
cách áp dụng các đối số này vào các bản ghi khách hàng của bạn, bạn có thể tìm thấy các nhóm
khách hàng tương tự như nhau. Một bước quan trọng đầu tiên để đạt được điều này là xử lý trước
dữ liệu của bạn. Dữ liệu khách hàng có liên quan có thể nằm phân tán giữa các bảng hoặc cơ sở
dữ liệu khác nhau, ví dụ, cơ sở dữ liệu chứa thông tin nhân khẩu học có thể không cùng một cơ
sở dữ liệu chứa dữ liệu giao dịch. Nếu dữ liệu nằm phân tán, đầu tiên bạn cần biến đổi nó để cho
bản ghi dữ liệu trong các cụm khác. Bằng cách so sánh các số liệu thống kê của một cụm
với toàn bộ các số liệu thống kê bạn có thể xác định số liệu thống kê nào dành riêng cho
một cụm. Ví dụ, nếu tuổi trung bình của tất cả các khách hàng là 40 và tuổi trung bình
của khách hàng trong một đoạn là 20, thì bạn có thể kết luận rằng đoạn này có đặc điểm
là chứa các khách hàng trẻ tuổi.
Thực hiện truy vấn ngược (drill-through) các bản ghi dữ liệu riêng. Việc phân tích các
bản ghi dữ liệu riêng như là các đại diện của cụm là một cách đơn giản, nhưng thường là
cách có tác dụng mạnh mẽ để có được một ý tưởng về các bản ghi dữ liệu mà một cụm
đang chứa.
Định nghĩa một biện pháp liên quan của cụm ứng dụng cụ thể. Ví dụ, bạn có thể chỉ quan
tâm về các đoạn có chứa nhiều hơn mười nghìn khách hàng, với mỗi khách hàng chi tiêu
ít nhất một trăm đô la một tháng. Một tiêu chuẩn như vậy sẽ giúp lọc hầu hết các cụm và
thực hiện những phân tích hiệu quả hơn, đặc biệt là nếu có nhiều đoạn.
Bạn có thể sử dụng trình hiển thị trực quan (Visualizer) đi kèm với InfoSphere Warehouse để
xem xét một mô hình cụm (xem Hình 4). Trình hiển thị trực quan cho phép bạn phân tích các số
liệu thống kê kích thước và đặc tính của từng cụm (đoạn khách hàng). Trong khi hiển thị trực
quan này có tác dụng mạnh mẽ, nó chỉ cho phép so sánh các số liệu thống kê, không phải cho
truy vấn ngược (drill-through) hoặc cho các tiêu chuẩn ứng dụng cụ thể. Tuy nhiên, Cognos rất
phù hợp cho các loại nhiệm vụ hiển thị trực quan.
Để cho phép hiển thị trực quan của các cụm trong Cognos hoặc theo bất kỳ cách tùy chỉnh khác
nào, thông tin trong một mô hình cụm đầu tiên phải được trích xuất theo một dạng thích hợp. Với
InfoSphere Warehouse, bạn có thể đạt được điều này bằng cách sử dụng hàm trích xuất bảng.
Bạn có thể tìm thêm thông tin về các hàm này trong bài viết thứ hai của loạt bài này, được liên
kết đến từ phần Tài nguyên.
Các mô hình cụm được lưu trữ theo định dạng PMML (Predictive Model Markup Language -
Ngôn ngữ đánh dấu mô hình dự báo) trong cơ sở dữ liệu. Chúng chứa các thông tin về:
Sự phân bố của các giá trị trong một cụm.
Số lượng các bản ghi trong một cụm.
Tầm quan trọng của các biến cho mỗi cụm.
Tính đồng nhất của cụm.
Để cho phép truy vấn ngược (drill-through) từ một đoạn khách hàng đến các bản ghi dữ liệu
thuộc đoạn này, bạn phải lựa chọn chỉ các bản ghi thuộc về một cụm cụ thể. Bạn có thể làm điều
này bằng cách cho điểm tất cả bản ghi của khách hàng dựa vào các mô hình phân cụm và trả về
chỉ các khách hàng thuộc cụm đó. Một cách tiếp cận tương tự được sử dụng trong ví dụ Phát hiện
sai lệch được mô tả trong bài viết thứ hai của loạt bài này. Về lý thuyết, bạn có thể thực hiện cho
điểm lúc đang chạy khi người sử dụng chọn một cụm. Tuy nhiên, mặc dù việc cho điểm cụm lúc
đang chạy là tương đối nhanh, điều này vẫn sẽ mất nhiều thời gian. Do đó, đúng hơn là bạn
thường tính toán trước các thông tin liên quan với đoạn khách hàng nào thuộc về một khách hàng
cụ thể trước khi bản ghi được đưa ra cho người dùng.
Ý tưởng cơ bản là một khi người dùng chọn một đoạn khách hàng, một bản ghi mới được mở ra,
sử dụng một mệnh đề WHERE đơn giản để trả về tất cả các khách hàng từ bảng các khách hàng
đã cho điểm thuộc đoạn này. Cách tiếp cận này có một số lợi thế. Quá trình khai phá và quá trình
cho điểm tốn thời gian có thể được thực hiện cùng nhau trước khi bản ghi được hiển thị cho
người dùng. Mô hình khai phá XML là nhỏ và không chứa bất kỳ dữ liệu khách hàng nào. Các
tập dữ liệu lớn chứa thông tin cho điểm được lưu trữ như các bảng DB2 và có thể được truy vấn
hiệu quả. Đối với các tập dữ liệu thực sự lớn, có thể cần thêm các chỉ mục vào bảng cho điểm.
Sử dụng thước đo liên quan đến cụm tùy chỉnh
Việc xác định một cụm hoặc một đoạn khách hàng nào cần quan tâm thường đòi hỏi kiến thức về
lĩnh vực ứng dụng. Cognos giúp bạn dễ dàng đưa vào thước đo tùy chỉnh kết hợp thông tin đa
dạng về các cụm thành một tiêu chuẩn phù hợp duy nhất. Khả năng tô mầu các hàng trong một
báo cáo Cognos dựa trên số liệu thống kê này đặc biệt thú vị trong ngữ cảnh này.
Về đầu trang
Một ví dụ thực tế: các khách hàng của ngân hàng
Ví dụ sau đây dựa vào bảng BANK.BANKCUSTOMERS là một trong những mẫu đi kèm với
InfoSphere Warehouse. Dữ liệu mẫu từ bảng này được chỉ ra trong Hình 1.
Hình 1. Dữ liệu mẫu từ bảng BANK.BANKCUSTOMERS
Ví dụ này cho bạn thấy cách sử dụng InfoSphere Warehouse DesignStudio để tạo ra một luồng
khai phá phân cụm các bản ghi dữ liệu từ bảng này thành các đoạn khách hàng khác nhau. Sau
danh của cụm có bản ghi là phù hợp nhất với nó. Ví dụ truy vấn ngược (drill-through)
trong bài viết này sử dụng mã định danh cụm để lựa chọn các bản ghi của khách hàng
trong lúc truy vấn ngược (drill-through).
Hình 3. Dữ liệu mẫu từ bảng kết quả, BANK.CUSTOMERSCORED
(Xem một phiên bản mở rộng của Hình 3.)
Về đầu trang
Tạo một báo cáo phân đoạn khách hàng tương tác với Cognos
Phần này của bài viết này cho bạn thấy cách sử dụng Cognos để xây dựng một báo cáo phân
đoạn khách hàng. Báo cáo này bao gồm một trang chính cho thấy các đoạn khách hàng đã tính
toán và có một liên kết đến một bản ghi truy vấn ngược (drill-through) cho thấy các bản ghi của
khách hàng cho mỗi cụm.
Trang chính chứa thông tin tương tự với trình hiển thị trực quan phân cụm đi kèm với Khai phá
dữ liệu InfoSphere. Nó chứa một danh sách các đoạn khách hàng hay các cụm và cung cấp thông
tin bổ sung về các trường của các cụm, ví dụ, số dư ngân hàng trung bình. Các biểu đồ hình tròn
(Pie) hiển thị sự phân bố của các trường quan trọng như là thẻ ngân hàng.
Như trong các bài viết trước của loạt bài này, thông tin về các đoạn, các trường v.v được trích
xuất bằng cách sử dụng API của SQL của Khai phá dữ liệu InfoSphere Warehouse. Bản ghi nối
các bảng được hàm API trả về để tạo ra báo cáo phân đoạn khách hàng. Bài viết thứ hai của loạt
bài này cung cấp các chi tiết về liên kết của các trang báo cáo.
Hình 4. Trình hiển thị trực quan phân cụm của InfoSphere Warehouse
Nhập khẩu dữ liệu cụm vào Cognos
Sau khi tạo mô hình phân cụm và bảng khách hàng đã cho điểm, bạn có thể nhập khẩu cả hai vào
trong siêu dữ liệu Cognos bằng Cognos Framework Manager. Đối với báo cáo phân đoạn khách
hàng, bạn cần phải nhập khẩu và nối ba tập kết quả:
Customers (Các khách hàng). Bảng khách hàng đã cho điểm mà bạn đã tạo trong phần
trước. Việc này được sử dụng để truy vấn ngược (drill-through) tới dữ liệu khách hàng.
3. Trên trang "select a data source" (chọn một nguồn dữ liệu), chọn DWESAMP và xóa dấu
chọn của hộp kiểm tra Run database query subject wizard (Chạy trình thủ thuật chủ
thể truy vấn cơ sở dữ liệu) (trình thủ thuật chủ thể truy vấn chỉ làm việc với SQL chuẩn)
và nhấn Finish.
4. Sau khi tạo chủ thể truy vấn, trình thủ thuật Query Subject Definition (Định nghĩa chủ thể
truy vấn) mở ra. Nhập mã SQL để trả về các cụm từ mô hình, ở đây BANK.CLUSTER là
tên của mô hình cụm được tạo ra trong quá trình chạy phân cụm.
SELECT * FROM TABLE(IDMMX.DM_GETCLUSTERS((SELECT MODEL FROM
IDMMX.CLUSTERMODELS
WHERE MODELNAME='BANK.CLUSTER'))) AS CT
5.
6. Bạn cần thiết lập kiểu SQL của truy vấn là Native (Nguyên gốc), để nói cho Cognos biết
chuyển SQL tới cơ sở dữ liệu thay vì thông dịch nó. Để làm việc này, chuyển đến thẻ
Query Information (Thông tin truy vấn) của các đặc tính chủ thể truy vấn. Chọn Options
(Các tùy chọn) và thay đổi kiểu SQL trong thẻ cài đặt SQL sang Native.
7. Việc chạy Test Sample (Thử nghiệm mẫu) sẽ trả về một bảng có các cụm của mô hình
chỉ ra dưới đây:
Hình 5. Các kết quả thử nghiệm của chủ thể truy vấn CustomerSegments
8. Lặp lại các bước trên với chủ thể truy vấn ClusterSegmentStatistics bằng cách sử dụng
SQL sau đây:
SELECT * FROM TABLE(IDMMX.DM_getClusterStats((SELECT MODEL FROM
IDMMX.CLUSTERMODELS
WHERE MODELNAME='BANK.CLUSTER')))
9.
Chủ thể truy vấn ở trên có chứa thông tin về phân bố trường của mỗi cụm:
Cột ID chứa mã định danh cụm.
1 1. Chủ thể nối bên phải là CustomerSegmentStatistics với cardinality là 1 n.
6. Lặp lại các bước trên để tạo ra một mối quan hệ giữa khách hàng và
CustomerSegmentStatistics. Chủ thể nối bên trái là Customers với cardinality là 1 n. Chủ
thể nối bên phải là CustomerSegmentStatistics với cardinality là 1 n.
Bây giờ bạn đã tạo ra các chủ thể truy vấn cần thiết cho báo cáo Cognos và có thể triển khai một
gói CustomerSegments chứa PresentationView của dự án cho Cognos Content Store. Các hướng
dẫn về cách tạo và triển khai gói được mô tả trong bài viết đầu tiên của loạt bài này.
Hình 7. Tài nguyên được tạo ra trong Framework Manager
Tạo một báo cáo phân đoạn khách hàng với Cognos Record Studio
Phần này mô tả cách tạo một báo cáo có ba trang báo cáo được liên kết với nhau. Để có một mô
tả chi tiết hơn về cách liên kết các báo cáo với nhau hãy tham khảo bài viết thứ hai của loạt bài
này.
Ba trang báo cáo là:
Trang báo cáo chính cho thấy các đoạn khách hàng và một số thông tin quan trọng về
đoạn, chẳng hạn như độ tuổi trung bình, số dư trung bình, kích thước cụm, v.v Người
dùng có thể nhấn chuột vào một cụm với một truy vấn ngược (drill-through) đến dữ liệu
khách hàng của cụm đó. Người sử dụng cũng có thể thấy một phân bố tuổi chi tiết hơn
cho cụm đó bằng cách chọn trường tuổi.
Trang truy vấn ngược (drill-through) của khách hàng cho thấy các báo cáo thuộc một
cụm.
Trang phân bố tuổi hiển thị một biểu đồ thanh về sự phân bố tuổi của một cụm khi được
so sánh với tất cả khách hàng.
Các bước sau đây mô tả cách xây dựng hai trang được liên kết đầu tiên. Việc này được thực hiện
sao cho chúng sẵn sàng để liên kết đến khi bạn tạo trang báo cáo chính. Trang truy vấn ngược
(drill-through) của khách hàng tương tự như trang khách hàng được tạo ra trong bài viết thứ hai
của loạt bài này và cho thấy một bảng các bản ghi khách hàng được sử dụng trong chủ thể truy
vấn khách hàng được lọc bởi mã định danh (id) cụm. Thêm ID cụm vào bản ghi này như làm một
tham số.
1. Tạo một báo cáo mới cho gói tương tự. Bạn có thể làm việc này bằng cách chọn File-
>New trong Report Studio. Trong danh sách khuôn mẫu chọn Chart và sử dụng kiểu
biểu đồ cột đầu tiên.
2. Từ chủ thể truy vấn CustomerSegmentStatistics trong khung nhìn Insertable Objects, kéo
các mục truy vấn FREQUENCY và EXPECTEDFREQUENCY vào Series: field (Chuỗi:
trường) của biểu đồ cột.
3. Từ chủ thể truy vấn tương tự, kéo mục truy vấn FREQUENCY đến Default Measure (y-
Axis): field (Phép đo mặc định (trục y): trường) của biểu đồ cột.
4. Từ chủ thể truy vấn tương tự, kéo mục truy vấn NUMVALUE đến Category (x-Axis):
field (Thể loại (trục x): trường) của các biểu đồ cột.
5. Thay hàm Aggregation của trường NUMVALUE bằng None. Có một cách để làm việc
này là chọn trường NUMVALUE trong Category (x-Axis): field. Khi bạn thấy các đặc
tính của trường này trong trình đơn đặc tính ở phía dưới bên trái của màn hình, hãy tìm
Data Item->Aggregate Function (Tổng hợp trường hàm) và thay đổi nó là None.
6. Thay đổi các mô tả trục để làm cho chúng có ý nghĩa hơn. Bạn có thể làm việc này bằng
cách mở Axis Titles: field (Các tiêu đề trục: trường) trong biểu đồ cột và nhập văn bản
cho các trục đứng và ngang.
7. Thay đổi mô tả của chuỗi. Chọn mỗi chuỗi một lần. Trong phần Properties thay đổi Text
Source->Source Type to Text và nhập một mô tả vào Text Source->Text field.
8. Thay đổi kích thước của biểu đồ. Trong khung nhìn Properties của biểu đồ, chọn nút
trong trình đơn Positioning->Size and Overflow và thay đổi chiều rộng tới 600 điểm ảnh.
9. Thêm một bộ lọc vào biểu đồ bằng cách chọn danh sách biểu đồ và nhấn vào biểu tượng
Filters trên thanh công cụ hoặc Data->Filters từ trình đơn.
10. Trong trình thủ thuật sử dụng biểu tượng Add để thêm một bộ lọc Details.
11. Trên trang Detail Filter Expression, thêm mã sau vào Expression Definition:
[PresentationView].[CustomerSegmentStatistics].[ID]=?clusterid?
AND [PresentationView].[CustomerSegmentStatis
tics].[FIELDNAME]='Age'
12.
Trong các bước tiếp theo bạn thêm chức năng truy vấn ngược (drill-through) cho báo cáo
CustomerDrilldown và AgeDistribution. Nếu chọn một cột ID của một cụm, thì một trang
CustomerDrilldown mới có các dữ liệu khách hàng cho cụm đó được mở ra. Nếu chọn một cột
Age của một cụm, một trang AgeDistribution cho cụm đó được mở ra.
5. Chọn cột ID (không phải là tiêu đề, nhưng là cột bên dưới nó) và chọn Drill-Through
Definitions (Các định nghĩa truy vấn ngược) từ trình đơn ngữ cảnh nhấn chuột phải.
6. Thêm một Drill-Through Definition mới.
7. Trong thẻ Target Report của các đặc tính, chọn báo cáo CustomerDrilldown làm báo
cáo đích.
8. Chọn Run the report (Chạy báo cáo) làm hành động.
9. Đánh dấu chọn hộp kiểm tra Open in new window (Mở cửa sổ mới).
10. Sử dụng nút Edit (Chỉnh sửa) bên dưới danh sách các tham số để thêm một tham số được
liên kết mới.
11. Trong hộp thoại Parameters, chọn Pass data item value (Chuyển qua giá trị mục dữ liệu)
làm phương thức để liên kết tham số đó tới một giá trị của hàng trong danh sách.
12. Chọn mục truy vấn ID làm nguồn mục dữ liệu và nhấn OK.
13. Lặp lại các bước này cho cột Age bằng cách sử dụng bản ghi AgeDistribution làm bản
ghi đích.
Trong thiết lập cuối cùng của các bước, bạn thêm hai cột có chứa các biểu đồ hình tròn có thông
tin về số lượng khách hàng trong một cụm có một thẻ ngân hàng và quyền truy cập trực tuyến.
Thông tin này được chứa trong chủ thể truy vấn CustomerSegmentStatistics. Thiết lập biểu đồ
hình tròn tương tự như những gì bạn đã làm cho trang AgeDistribution. Tuy nhiên, có một sự
khác biệt là Thẻ ngân hàng và quyền truy cập trực tuyến là các trường thể loại; chúng sử dụng
các thể loại thay vì các dãy số và các ngăn chứa (bin). Vì vậy, các biểu đồ hình tròn phải được
đọc từ mục truy vấn CATVALUE thay vì mục truy vấn NUMVALUE.
Có thể thêm các biểu đồ cho cột. Để hiển thị dữ liệu đúng cho mỗi hàng, điều cần thiết là tạo ra
một mối quan hệ Tổng thể-Chi tiết (Master-Detail Relationship). Biểu đồ và bảng sẽ có các truy
vấn bên dưới khác nhau. Mối quan hệ Tổng thể-Chi tiết cho báo cáo biết các truy vấn này được
kết nối như thế nào. Trong ví dụ này, các biểu đồ hình tròn hiển thị chỉ các thông tin từ mã định
danh cụm được đặt ở hàng này.
200 điểm ảnh và chiều cao là 100 điểm ảnh.
28. Thay đổi tiêu đề Default Legend của biểu đồ hình tròn là Bankcard.
29. Lặp lại các bước ở trên với biểu đồ hình tròn Online access (quyền truy cập trực tuyến).
Sự khác biệt duy nhất là bạn thiết lập truy vấn lọc để lọc FIELDNAME thành
ONLINE_ACCESS như hình dưới đây:
[FIELDNAME]='ONLINE_ACCESS' AND ([CATVALUE]='YES' OR [CATVALUE]='NO')
30.
31. Thay đổi tiêu đề văn bản báo cáo và các tiêu đề cột để làm cho chúng có ý nghĩa hơn và
lưu báo cáo của bạn là CustomerSegments.
Hình 10. Cognos Report Studio với báo cáo Customer Segments chính
(Xem một phiên bản mở rộng của Hình 10.)
Bạn có thể chạy báo cáo đã hoàn thành. Nó mặc định tới trang báo cáo chính, trong đó cho thấy
một tổng quan về các đoạn khách hàng. Những người dùng có thể lựa chọn ID của đoạn này để
xem các tập dữ liệu khách hàng thuộc về đoạn này trong một bản ghi mới. Để có được một
khung nhìn chi tiết hơn về sự phân bố tuổi, người dùng có thể nhấn chuột vào tuổi của một đoạn.
Hình 11. Tổng quan về các đoạn khách hàng
(Xem một phiên bản mở rộng của Hình 11.)
Hình 12. Báo cáo phân bố tuổi Hình 13. Truy vấn ngược (drill-through) khách hàng