Đặt câu hỏi đúng
Tại CLARK, sứ mệnh của chúng tôi là mang đến sự an tâm cho khách hàng. Mặc dù mọi người đều mong muốn, nhưng đây là một vấn đề mang tính chủ quan cao. Để đề xuất loại bảo hiểm phù hợp, điều tối quan trọng là phải hiểu tình hình cuộc sống của khách hàng. Do đó, chúng tôi cần hỏi khách hàng những câu hỏi phù hợp và thu thập dữ liệu đáng tin cậy để cung cấp bảo hiểm tốt nhất phù hợp với nhu cầu của khách hàng.
Đây là câu chuyện về cách chúng tôi tạo ra một khuôn khổ có tên là '' Điều tra dân số '' để đặt những câu hỏi phù hợp và thu thập dữ liệu.
Ban đầu, khi tôi nghe về yêu cầu này, tôi đã nghĩ: việc tạo ra một mẫu câu hỏi, hỏi và thu thập câu trả lời khó đến mức nào? Mặc dù điều này có thể được giải quyết bằng một bảng câu hỏi tĩnh đơn giản, nhưng điều này không gần với những gì chúng tôi cần. Sau khi phỏng vấn các bên liên quan trong kinh doanh và nghiên cứu khách hàng, chúng tôi đã có những yêu cầu cụ thể hơn. Dưới đây là một số yêu cầu chính mà chúng tôi thu thập được:
- Giải pháp không mã: Các nhà phân tích kinh doanh muốn thiết kế / triển khai / duy trì bảng câu hỏi cho khách hàng mà không cần nỗ lực của nhà phát triển.
- Logic bỏ qua động : Khuôn khổ phải đủ thông minh để bỏ qua các câu hỏi dựa trên câu trả lời trước đó của khách hàng, ví dụ: không hỏi về chi tiết xe của khách hàng nếu khách hàng chưa sở hữu.
- Xác thực câu trả lời : Khả năng xác thực các câu trả lời do khách hàng đưa ra để chúng tôi có thể đảm bảo dữ liệu được thu thập có chất lượng cao nhất. Ví dụ. tuổi phải là một số nguyên
- Mục đích chung hợp lý : Khung nên được sử dụng lại cho các loại bảng câu hỏi khác nhau. Ví dụ. cho một danh mục bảo hiểm rất cụ thể, NPS, Khảo sát, v.v.
- Phát / Tạm dừng : Khách hàng có thể tạm dừng và tiếp tục câu trả lời trên các phiên / thiết bị.
- GDPR / Bảo mật : Dữ liệu đã thu thập nên được lưu giữ trong cơ sở dữ liệu nội bộ.
- Đo lường / Theo dõi : Đo lường và theo dõi sự tiến bộ của khách hàng, tìm hiểu những câu hỏi nào chưa được khách hàng đón nhận, v.v.
- Khung làm thư viện : Khung làm việc nên có thể sử dụng được trên các ứng dụng của Clark, lý tưởng là một thư viện có thể được thêm vào với nỗ lực tích hợp tối thiểu.
Thách thức đầu tiên: Xác định cấu trúc
Thách thức đầu tiên là tìm ra cấu trúc dữ liệu phù hợp để thể hiện Bảng câu hỏi. Sau một chút động não, chúng tôi có thể thấy chúng tôi cần một cấu trúc dữ liệu phi tuyến tính như cây để biểu diễn các câu hỏi trong bảng câu hỏi. Mặc dù danh sách được liên kết có thể là một ứng cử viên, chúng tôi đã loại trừ nó vì có thể có các chu kỳ trong danh sách được liên kết (hoặc chúng tôi phải thực hiện phát hiện chu kỳ). Cấu trúc dữ liệu cây chung cho phép chúng tôi dễ dàng xem qua các câu hỏi, phân nhánh, bỏ qua câu hỏi, v.v. Cấu trúc dữ liệu cây cũng được đảm bảo không có bất kỳ chu kỳ nào theo thiết kế, chúng tôi sẽ không muốn khách hàng của mình bị mắc kẹt trong một vòng trả lời câu hỏi vĩnh viễn.

Xây dựng giải pháp không mã / mã thấp
Thách thức tiếp theo là tạo và duy trì các bảng câu hỏi một cách linh hoạt. Một trong những yêu cầu của chúng tôi là giải pháp không mã / mã thấp để các đối tác kinh doanh của chúng tôi có thể triển khai / duy trì bảng câu hỏi mà không cần hỗ trợ kỹ thuật. Chúng ta có thể nghĩ về điều này trong 3 thành phần.

Chúng tôi quyết định không xây dựng Trình tạo giao diện người dùng mẫu bảng câu hỏi vì có thể mất một chút thời gian. Chúng tôi vẫn cần đảm bảo rằng đó là giải pháp không có mã. Chúng tôi phát hiện ra một số đối tác kinh doanh của chúng tôi đã cảm thấy thoải mái khi đọc / chỉnh sửa tệp YAML. Do đó, chúng tôi nhận ra rằng chúng tôi có thể bỏ qua việc xây dựng giao diện người dùng để tạo mẫu ngay từ đầu và sử dụng tệp YAML để thể hiện các mẫu. Các đối tác kinh doanh sẽ viết bảng câu hỏi của họ trong tệp YAML và họ có thể dễ dàng tải chúng lên để tạo Bảng câu hỏi mà không cần bất kỳ nỗ lực nào của nhà phát triển! Vì vậy, chúng tôi đã tạo DSL (Ngôn ngữ dành riêng cho miền) của riêng mình để tạo các mẫu.
# sample Questionnaire Template in yaml for questionnaire in above.
template:
name: referral_rewards
fields:
- field: &customer_name
name: customer_name
datapoint: customer_name
input_type: text
value_type: string
label: What is your name ?
description: We need your name to ship some rewards !
validations:
min_length: 1
max_length: 25
.............(Skipping rest of fields)
flows:
default:
- field: *customer_name
name: customer_name
required: true
next:
- field: *customer_age
name: age
required: true
next:
- field: *beer_type
name: beer_type
required: false
conditions: "customer_age >= 18"
- field: *candy_type
name: candy_type
required: false
conditions: "customer_age < 18"
Để bắt đầu, bạn có thể template
coi đây là một bản thiết kế của một bảng câu hỏi. form
là một ví dụ về một khách hàng đang cố gắng trả lời một mẫu. flows
được sử dụng để có nhiều dòng bảng câu hỏi cho mỗi mẫu. Hãy xem xét việc chạy thử nghiệm A / B với cùng một mẫu, chúng tôi có thể cần các thứ tự đặt câu hỏi khác nhau để hiểu câu hỏi nào là tốt nhất. datapoint
là một cơ chế để tổng quát hóa dữ liệu đã thu thập để nó có thể được sử dụng lại bên ngoài khuôn mẫu. validations
là xác nhận! required
thuộc tính trong luồng cho biết liệu khách hàng có thể bỏ qua câu hỏi đó hay không. conditions
là các biểu thức có thể được đánh giá, khách hàng sẽ được phép trả lời nút đó nếu biểu thức điều kiện được đánh giá là đúng.
Chuyển đổi bộ chuyển đổi bảng câu hỏi thành Ruby Gem
Những gì còn lại chủ yếu là mã hóa 'YAML-to-tree-converter' và một thành phần để lưu trữ cấu trúc cây bảng câu hỏi vào cơ sở dữ liệu. Chúng tôi đã tạo một công cụ Rails có thể được gắn như một viên đá quý trong Ruby (vì ứng dụng chính của chúng tôi được cung cấp bởi Rails). Bây giờ chúng ta có thể sử dụng gem này với bất kỳ ứng dụng nào mà chúng ta cần chạy bảng câu hỏi cho khách hàng. Các đối tác kinh doanh sử dụng 'Điều tra dân số' thông qua bảng điều khiển quản trị có thể nhập tệp mẫu và tạo mẫu trong cơ sở dữ liệu. Để ngắn gọn, tôi đang bỏ qua rất nhiều sắc thái (auth, lưu trữ cấu trúc cây trong DB) của tòa nhà. Đá quý 'điều tra dân số' cung cấp 3 API để xử lý bảng câu hỏi cho các ứng dụng được lưu trữ. Việc đầu tiên là tạo biểu mẫu cho khách hàng, thao tác thứ hai là thu thập câu trả lời và việc cuối cùng là hoàn thành biểu mẫu.
Bài học rút ra chính
'Điều tra dân số' hiện đang cung cấp năng lượng cho một số bảng câu hỏi trong quá trình sản xuất và chúng tôi đang bổ sung thêm nhiều bảng câu hỏi với nó mỗi ngày. Đây là một số rút ra chính từ dự án này:
- Sự cộng tác chặt chẽ với khách hàng và người dùng nội bộ đảm bảo chúng tôi có một loạt các điểm khó khăn và cần phải làm việc với
- Chọn đúng cấu trúc dữ liệu đơn giản hóa công việc hạ nguồn.
- Xây dựng bằng chứng về khái niệm (tạo mẫu) trước khi triển khai thực tế có thể giúp chúng tôi tiết kiệm thời gian và công sức.
- Việc xây dựng các khung làm việc như các thành phần có thể tái sử dụng có thể tiết kiệm rất nhiều thời gian khi chúng ta cần triển khai chúng ở những nơi khác.
Vui lòng đặt bất kỳ câu hỏi nào (Không có ý định chơi chữ)!
