Design and Evolution of Vivo's Points Task System
Vivo’s Points Task System evolved from a simple configuration‑driven task model into a scalable, multi‑source behavior incentive platform that uses an AviatorScript engine, unified SDK, and three isolated services—event collection, computation, and task handling—to deliver configurable tasks, real‑time rewards, and flexible user notifications while ensuring stability and extensibility.
This article, authored by the Vivo Internet Platform Product R&D team, introduces the development history and technical architecture of Vivo's points and task system, a core component of its member marketing platform.
What is a points system? It is a widely used user incentive mechanism (e.g., Taobao coins, JD beans) that connects users to the business, increases activity, and maintains loyalty. Vivo’s points system includes a Points Mall, Task Center, and Activity Center.
What is a task? Similar to game daily quests, tasks guide users to perform high‑value actions and reward them with points, thereby creating a positive feedback loop.
The design follows the Fogg Behavior Model , requiring motivation, ability, and a trigger to drive user actions.
Phase 1 – Exploration
• Business model analysis defined a task as “User A performs action B and receives reward C”. • Task cycles (new‑user, daily, monthly) and status tracking were identified. • Goal: fast configuration of tasks and recording of completion/reward status.
Implementation used a configuration‑driven design, but the logic layer still required heavy development effort.
Phase 2 – User‑Behavior Incentive System
Problems discovered: long cross‑project cycles and low operational efficiency. The solution introduced a unified behavior model, a behavior SDK for data collection, and experimental capabilities for A/B testing.
Key workflow: the app activates the SDK, which pulls behavior configs, filters and de‑duplicates events, reports them to the server, where user tags and experiments are evaluated, and the result is returned to the SDK for UI feedback (toast/snackbar).
Example: a user reads news, likes a comment, the SDK reports the event, the task is marked complete, and a snackbar prompts the user to claim points.
Phase 3 – Expanding Data Sources and Interaction Forms
Identified pain points: single data source and limited notification methods. The system was extended to support multiple data sources (event streams, MySQL, Kafka, RPC) and richer delivery (custom dialogs, message pass‑through).
Data collection layer now handles clustering, source management, metadata, preprocessing (using Aviator expression engine), normalization, and storage (MongoDB, TiDB).
Rule calculation layer processes events asynchronously and returns results to the task layer.
Expression Engine
AviatorScript was chosen for its lightweight, high‑performance Java bytecode compilation. Sample usage:
// Data cleaning filter
originEvent.pay_status == 1 && string.contains("11,12,13,14,15,16,92,93,95", originEvent.product_type + "")
// Rule calculation
let value = eventObject.value / 100;
let success = value >= 1;
return seq.map('success', success, 'data', value);Task Layer
Manages task‑behavior mapping, task distribution, reward issuance, user notification, and task state.
Delivery Layer
Custom pop‑ups created via Vivo’s site‑building platform.
Message pass‑through via MQ for asynchronous consumption.
Overall System Architecture
The system is divided into three main services: Event Collection Service, Event Computation Service, and Task Service, each isolated for scalability and reliability.
Service Stability
Degradation mechanisms: rate limiting, circuit breaking.
Cluster isolation per business scenario.
Asynchronous execution of non‑core functions.
Monitoring includes CPU, logs, DB latency, message backlog, and behavior event chain tracing.
Future Directions
Platform extensibility for broader reward types.
Support for composite sequential behavior events.
Improved real‑time processing to reduce latency.
vivo Internet Technology
Sharing practical vivo Internet technology insights and salon events, plus the latest industry news and hot conferences.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.