Statistical Foundations for a Google Play User-Review Sentiment Index: Signal Fusion, Shrinkage, Distributional Validation, and Dynamic Smoothing
Organizations: Bulacan State University · Bulacan State University, McArthur Highway, Capitol Compound, Guinhawa, Malolos City, 3000, Bulacan, Philippines.
Abstract
The decision problem is whether valence among the users who write reviews of an app has changed enough to warrant investigation of a release, outage, or support issue. We propose a statistical specification for that decision, applied to written Google Play reviews collected under a declared locale, language, sort order, retrieval cap, and window rule. That endpoint returns a selected collection rather than a random sample, so the index describes review writers under the declared protocol and not all app users. What is new is not a sentiment classifier but an auditable interface: an ordinal threshold model is the preferred representation of star ratings, a calibrated two-signal generalized least-squares estimator is retained as an interpretable linear approximation when held-out labels support its conditional-unbiasedness assumption, the estimand is declared before the estimator, and every downstream module--uncertainty, diagnostics, and regularization--is tied to that declaration. The framework separates the latent average of a fixed collected set from the mean of a protocol-defined population of review writers, so measurement and between-review variation are not conflated, and treats helpfulness and recency weights as a different policy target. Shrinkage, cross-app empirical Bayes, histogram and dependence diagnostics, and dynamic smoothing are specified as separate modules with defaults and mandatory sensitivity analyses. A reference implementation, a declared 6000-review three-app collection, and a synthetic stress test exercise the displayed equations: fusion reduced error in clean and small-window scenarios, coordinated contamination caused severe bias and interval failure, and the collected sample reproduces the abstention rules. No real-review validation is claimed.
Figures & tables
| Field | Statistical role | Use and limitation |
|---|---|---|
| content | Text input | A calibrated sentiment model produces a score; uncertainty must be estimated by that model or by held-out residuals. |
| score | Ordinal rating signal | Maps a one-to-five-star response to a working scale; equal spacing is a modeling assumption, and the discreteness that equal spacing leaves untreated is why the ordinal threshold model is preferred. |
| thumbsUpCount | Social endorsement | May define an optional prominence weight, but lacks impressions and negative-vote denominators, so a helpfulness ratio is not a Wilson proportion Wilson (1927) . |
| at | Review time | Defines time windows and optional recency weights. |
| reviewCreatedVersion , appVersion | Release context | Supports version-level grouping and associational change-point analyses. |
| replyContent , repliedAt | Developer response | Supplies optional responsiveness covariates after timestamp and missing-value validation. |
| Stage | Operation |
|---|---|
| Input | Supply review records , disjoint windows , validation-fitted ordinal/text calibration and , repeated rating-histogram snapshots, and the declared policy parameters . |
| 1 | Record , scraper version and commit, retrieved and app-level totals; deduplicate reviewId , detect edits across snapshots, enforce timestamp rules, and use fixed-duration calendar windows with version overlays. |
| 2 | Fit or apply the ordinal–continuous measurement model. For the documented linear approximation, compute calibrated , the constrained weights in equation ( 52 ), and . Report non-identity calibration and held-out coverage; otherwise label the fusion illustrative. |
| 3 | Compute the primary unit-weighted and separately compute the policy index from equation ( 54 ). Report the half-life and for each. |
| 4 | Report for the finite records and for the writer population. Pool across small windows. Form duplicate-text clusters and replace ordinary uncertainty by equation ( 61 ) when or the daily-count Fano factor exceeds 2. |
| 5 | Compute , the sensitivity band in equation ( 62 ), and the guardrail in equation ( 63 ). A flagged boundary is not interpreted as a sentiment trend without composition analysis. |
| Review | Stars | |||||
|---|---|---|---|---|---|---|
| Synthetic 1 | 5 | 0.930 | 0.300 | 0.694 | 0.630 | 6.481 |
| Synthetic 2 | 2 | 0.075 | 3.565 | |||
| Synthetic 3 | 4 | 0.455 | 0.840 | 0.599 | 0.385 | 5.762 |
| Scenario | Method | Bias | RMSE | Coverage | Mean width |
|---|---|---|---|---|---|
| Clean | Star only | 0.040 | 0.998 | 0.265 | |
| Clean | Text only | 0.049 | 0.985 | 0.221 | |
| Clean | Fusion | 0.032 | 1.000 | 0.232 | |
| Clean | Count Bayes | 0.066 | 0.896 | 0.187 | |
| Clean | Declared prior | 0.035 | 1.000 | 0.228 | |
| Small | Fusion | 0.063 | 0.998 | 0.511 |
| Windows | Star | Text | App | max | |||||
|---|---|---|---|---|---|---|---|---|---|
| App | (interior) | only | only | score | DEFF | Fano | |||
| Google Maps | 2000 | 7 (5) | 0.310 | 0.366 | 0.216 | 3.217 | 0.407 | 1.33 | 11.2 |
| Spotify | 2000 | 4 (2) | 0.399 | 0.450 | 0.314 | 4.347 | 0.347 | 1.15 | – |
| 2000 | 2 (0) | 0.476 | 0.589 | 0.287 | 4.617 | 0.247 | 1.61 | – |