Product Management 12 min read

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.

Qunar Tech Salon
Qunar Tech Salon
Qunar Tech Salon
Building a User Experience Digital Platform: Metrics, Data Collection, and Operational Practices at Qunar

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.

Mobile Developmentuser experienceOperationsMetricsPerformance MonitoringDigital Platform
Qunar Tech Salon
Written by

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.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.