Building a User Experience Digital Platform: Metrics, Data Collection, and Operational Practices at Qunar
The article details Qunar's user‑experience digital platform, explaining its background, measurement model, metric scoring, data‑collection mechanisms for Android and iOS, and the operational plan that drives continuous improvement across teams and products.
Author Wei Zixiang, who joined Qunar in July 2017, leads Android native and cross‑platform framework development, focusing on architecture upgrades, stability, performance, and recent user‑experience governance.
The platform addresses inconsistencies in metric definitions across business lines, differing priorities on experience dimensions, and the lack of systematic, quantitative evaluation of client‑side experience, aiming to provide a unified measurement framework.
The measurement model evaluates five dimensions—smoothness, stability, energy consumption, disk usage, and user feedback—each assigned a priority level (P1‑P3). Metrics such as launch time, crashes, jank, heat, and storage impact are scored based on industry standards and internal data, with higher‑priority metrics receiving greater weight.
Scoring rules map metric values to qualitative ranges (good, medium, poor) and assign points; for example, an Android crash rate of 0.05% falls into the medium range and receives 4 points for a P1‑level metric.
Analysis can be performed globally (app‑wide, team‑wide) or at a granular level (team metrics, page metrics). Page scores aggregate metric scores, and team scores aggregate page scores, both presented on a 0‑100 scale.
Data collection binds metrics to pages and teams. Page ownership is determined by the page where the user experiences the issue; team ownership is linked via a persistent page ID. Two instrumentation approaches—manual tagging and automatic bytecode insertion—are compared, with automatic instrumentation chosen for its high coverage and lower maintenance.
On Android, Gradle Transform and ASM are used to scan class hierarchies, generate or retrieve page IDs, and inject a getPageId method. On iOS, clang's libTool processes .m files to insert similar methods into ViewController subclasses. Collected data is sent to backend services for storage and analysis.
The operational plan includes clear goals (raising baseline teams, incentivizing high performers), phased rollout (trial, baseline establishment, targeted governance), and daily, monthly, and incentive activities such as Q&A, feedback collection, reporting dashboards, and semi‑annual rewards.
After ten months, the platform has unified metric definitions, provided quantitative insight into development processes, and demonstrated tangible improvements in business line performance and issue detection, with future work focusing on refining scoring curves, expanding data collection, and conducting targeted analyses.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
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.