Android App Development

Chapter 14
Analytics, Product Decisions and App Maintenance

Certificate in Web and Android Development
Android App Development   •   Certificate

Analytics, Product Decisions and App Maintenance

Introduction

A mobile application is not finished when it is published. After release, developers must discover how people use it, identify failures, understand user needs, protect personal information, and decide which improvements deserve limited development time. Analytics, crash reporting, feedback, performance monitoring, and maintenance planning form an evidence system for these decisions.

Evidence, however, does not automatically produce good decisions. A large number of taps may represent confusion rather than success; a high number of crash reports may be caused by a small group of users repeatedly experiencing the same defect; and a feature requested by many users may conflict with accessibility, privacy, or business priorities. Effective Android development therefore combines measurement with technical judgment, ethical reasoning, and communication with users.

This chapter presents a practical framework for evaluating an Android application after release and for converting evidence into a prioritised maintenance plan.

Learning Objectives

By the end of this chapter, you should be able to:

  1. Explain the purposes and limitations of product analytics, crash reporting, feedback, and performance indicators.
  2. Select meaningful events and metrics for an Android application.
  3. Interpret retention, conversion, crash, and performance measures correctly.
  4. Apply a structured method for prioritising product improvements.
  5. Plan corrective, adaptive, perfective, and preventive maintenance.
  6. Apply privacy, consent, security, accessibility, and governance principles to measurement.
  7. Use evidence to communicate product decisions and evaluate their results.

1. The Evidence System of a Mobile Product

A useful evidence system has four complementary sources:

SourceMain questionTypical evidenceMain limitation
Product analyticsWhat are users doing?Events, funnels, cohortsBehaviour may be misinterpreted
Crash and error reportingWhere does the app fail?Stack traces, affected devices, error ratesIt explains failure better than motivation
Performance monitoringIs the app responsive and efficient?Startup time, frame rendering, network latency, battery useAverages can hide poor experiences
User feedback and researchWhy do users struggle or request change?Reviews, support cases, interviews, usability testsFeedback is often self-selected

These sources should not be treated as interchangeable. Analytics can show that users abandon a registration process, but interviews may reveal that the reason is unclear password requirements. Crash reports can identify a null-reference failure, but they do not determine whether the affected feature is strategically important. Performance traces can reveal slow startup, while reviews indicate whether users notice or tolerate it.

A product decision is stronger when several sources converge. For example, a payment screen may deserve urgent attention if analytics show abandonment, user comments describe confusing error messages, and performance traces reveal a long delay after submission.

2. Measurement Begins with Product Questions

Measurement should begin with decisions, not with the collection of every available data point. A team can ask:

  • Can a new user complete the principal task?
  • Which step of onboarding causes abandonment?
  • Does a release improve reliability?
  • Are users returning because the application provides continuing value?
  • Does a new feature improve task completion without increasing crashes?

A measurement plan connects each question to an indicator, a data source, an owner, and a decision rule. An event should be recorded only when its meaning is clear. A suitable event specification includes:

ElementExample
Event nametask_completed
TriggerSuccessful server confirmation
PropertiesTask type, app version, platform version
ExclusionsTest accounts and internal builds
PurposeMeasure successful completion
DecisionInvestigate if completion falls below the agreed baseline

Event names should be stable, specific, and documented. button_clicked is usually weak because it records an interaction without establishing whether the intended outcome occurred. order_submitted or lesson_completed is more meaningful when its triggering condition is precisely defined.

A metric is a numerical representation of an aspect of product behaviour. A key performance indicator (KPI) is a metric linked to an important product or organisational objective. Vanity metrics, such as total downloads, may look impressive but provide little guidance unless connected to activation, engagement, retention, or value.

3. Core Product Metrics

3.1 Users, sessions, and events

A user count should specify its identity rule and time period. An installation, device, account, and person are not necessarily the same entity. A session should also have a defined timeout or lifecycle rule. Without definitions, two reports may appear to disagree while measuring different populations.

3.2 Conversion and funnels

A funnel represents ordered steps toward a goal, such as opening an application, beginning registration, verifying an email, and completing setup. If 800 of 1,000 users complete a step, the step conversion rate is:

Conversion rate = (number completing the step ÷ number entering the step) × 100%

The numerator must be a subset of the denominator, and both must use the same population and time window. If 1,000 users begin registration and 620 complete it, conversion is (620 ÷ 1000) × 100% = 62%. A fall from 62% to 48% after a release is a signal for investigation, not automatic proof that the release caused the fall; traffic mix, backend availability, or tracking changes may also be responsible.

3.3 Retention

Retention measures the proportion of a starting cohort that returns or performs a defined action during a later period. For a day-n retention measure:

Retention on day n = (cohort users active on day n ÷ users in the original cohort) × 100%

The cohort must be defined consistently, for example users who first installed during a specified week. “Active” must also be defined, such as opening the app or completing a meaningful task. Retention is not the same as frequency: a person may return once and still count as retained.

3.4 Reliability indicators

A crash-free user rate is commonly expressed as:

Crash-free user rate = (users with no recorded crash ÷ users observed) × 100%

A crash-free session rate instead uses sessions as the denominator. These measures answer different questions. User rate reflects the proportion of people affected; session rate reflects the proportion of usage occasions affected. A single user with many crashes can influence session rate more strongly than user rate.

Crash reporting should group failures by root cause where possible, rather than counting every stack trace as a separate defect. Teams should examine affected users, app version, Android version, device model, feature, frequency, and whether data loss or security exposure occurred.

3.5 Performance indicators

Important Android indicators include cold and warm startup time, screen rendering smoothness, application-not-responding (ANR) rate, network latency, memory pressure, battery consumption, and application size. Averages alone are inadequate. Percentiles are often more informative:

p90 = value below which 90% of observations fall

If p90 startup time is 3.2 seconds, 90% of measured starts are at or below 3.2 seconds and approximately 10% are slower. Percentiles are not calculated by averaging; observations must be ordered and the selected position determined according to the chosen statistical convention.

Metrics should be segmented by device capability, network type, geographic region, app version, and user journey when these factors plausibly affect experience. Segmentation must be large enough to avoid identifying individuals or drawing conclusions from extremely small samples.

4. Crash Reporting and Technical Diagnosis

Crash reporting is a maintenance instrument, not merely a defect counter. A useful report contains a stack trace, timestamp, release version, operating-system information, device context, breadcrumbs, and a non-sensitive description of the preceding action. Personally identifiable information, authentication tokens, message contents, and unnecessary location data must not be included.

A practical triage sequence is:

  1. Confirm that the report is reproducible or sufficiently understood.
  2. Group reports belonging to the same underlying cause.
  3. Estimate scope: affected users, sessions, versions, and devices.
  4. Assess severity: data loss, security implications, blocked task, or cosmetic impact.
  5. Identify whether the problem was introduced by a release or existed previously.
  6. Create a fix, test it, and monitor the next release.

Priority should not be based solely on the number of reports. A rare payment failure or security vulnerability may be more urgent than a frequent cosmetic defect. A useful qualitative classification is:

  • Critical: security exposure, data corruption, or widespread inability to use the app.
  • High: major task blocked for a substantial population or repeated severe crashes.
  • Medium: important inconvenience with a workaround.
  • Low: minor visual or infrequent defect.

Release monitoring is particularly important. A staged rollout can expose a change to a limited population before wider distribution. If reliability deteriorates, the team can pause, investigate, or roll back where the delivery system permits it.

5. User Feedback as Qualitative Evidence

Feedback includes app-store reviews, support tickets, in-app reports, surveys, interviews, usability sessions, and accessibility reports. Each channel has selection bias. Very satisfied and very dissatisfied users may be more likely to write reviews, while people who silently abandon the app may never provide feedback.

Feedback analysis should preserve the original meaning while coding recurring themes. A simple coding scheme may include usability, reliability, performance, accessibility, content, pricing, privacy, and feature request. Teams should record frequency, severity, affected user group, and supporting examples. Frequency is not the same as importance: one credible report of a screen-reader barrier may identify a serious exclusion even if few users report it.

Feedback should be acknowledged without promising every requested feature. A professional response explains what is known, protects confidentiality, and avoids asking users to post sensitive information publicly. User research is most valuable when it investigates a specific uncertainty rather than merely collecting opinions.

6. From Evidence to Product Decisions

A product backlog contains potential improvements, defects, technical work, experiments, and maintenance tasks. Prioritisation makes the trade-offs explicit. A simple scoring model can help at certificate level, provided that the team treats it as a decision aid rather than an objective truth.

One possible model is:

Priority score = (reach × impact × confidence) ÷ effort

Here, reach is the estimated number or proportion of users affected in a defined period; impact is a consistently rated benefit or harm reduction; confidence is a value between 0 and 1 representing evidence strength; and effort is the estimated engineering work in consistent units. The model assumes that the ratings are comparable and that a higher score indicates greater relative value. It should not override legal, security, safety, or accessibility obligations.

For example, suppose an improvement has reach 0.40, impact 8, confidence 0.75, and effort 4 person-weeks. Its score is (0.40 × 8 × 0.75) ÷ 4 = 0.6. A second item with reach 0.10, impact 9, confidence 0.90, and effort 1 has score (0.10 × 9 × 0.90) ÷ 1 = 0.81. The second item ranks higher in this model despite affecting fewer users because it is cheaper and supported by stronger evidence. The team must still examine whether the first item concerns a strategic capability or whether the second item has hidden risk.

Other decision dimensions include:

  • strategic alignment;
  • user harm and accessibility;
  • regulatory and contractual obligations;
  • technical dependency;
  • reversibility of the decision;
  • operational risk;
  • learning value of an experiment;
  • long-term maintenance cost.

A balanced decision record states the evidence considered, assumptions made, options rejected, owner, expected outcome, and review date. This prevents decisions from becoming unexplained opinions.

7. Experiments and Causal Reasoning

When practical, a team can compare a new version or feature with a control condition. Random assignment helps balance confounding factors, but it does not automatically guarantee a valid experiment. The primary outcome must be defined before examining results, exposure must be adequate, and harmful effects must be monitored.

A change may increase clicks while reducing completed tasks. Therefore, teams should distinguish leading indicators, such as interaction with a new control, from outcome indicators, such as successful completion, retention, revenue, or support contacts. Statistical significance is not the same as practical importance, and a small improvement may not justify substantial complexity or privacy cost.

Where randomised experimentation is inappropriate, teams can use before-and-after comparisons, interrupted time series, usability testing, or matched comparisons. These approaches provide useful evidence but usually support weaker causal claims because other changes may explain the observed result.

8. App Maintenance as a Continuous Lifecycle

Maintenance begins after deployment but should be designed before release. Four traditional categories are useful:

TypePurposeAndroid example
CorrectiveFix faultsRepair a crash in a payment screen
AdaptiveRespond to changed environmentsUpdate for a new Android API or permission rule
PerfectiveImprove capability or qualitySimplify navigation or reduce startup time
PreventiveReduce future failureRefactor duplicated code and improve tests

Maintenance work includes source-code changes, dependency updates, backend compatibility, certificate and key management, monitoring, documentation, test updates, release preparation, and support operations. A team that allocates all capacity to visible features accumulates technical debt: future work becomes slower, riskier, and more expensive.

A maintenance forecast should consider:

  • supported Android versions and device distribution;
  • dependency and third-party SDK release cycles;
  • security advisories;
  • backend and API compatibility;
  • expected traffic and storage growth;
  • crash and ANR trends;
  • test coverage and build reliability;
  • staffing and specialist knowledge;
  • support and incident-response obligations.

A simple workload estimate can be made by listing recurring tasks and estimating hours, but estimates are uncertain. Teams should document assumptions and review actual effort after each release. A burn-down of known defects can be useful, but a falling count may indicate that reporting has weakened rather than that quality has improved.

9. Ethical, Privacy, and Governance Requirements

Analytics can turn ordinary interactions into sensitive behavioural records. Ethical measurement follows data minimisation: collect only what is necessary for a stated purpose, retain it for no longer than needed, restrict access, secure transmission and storage, and delete or anonymise it when appropriate.

Important safeguards include:

  • explain measurement in clear, accessible language;
  • obtain consent where required and respect withdrawal;
  • avoid collecting passwords, payment credentials, private messages, or precise location unless essential and justified;
  • use pseudonymous identifiers rather than unnecessary direct identifiers;
  • limit staff and vendor access;
  • document data flows and retention periods;
  • provide a method for privacy enquiries and applicable rights;
  • assess third-party SDK behaviour before integration;
  • ensure analytics do not discriminate against groups or expose vulnerable users.

Consent must not be hidden behind confusing interface design. A person should not be forced to accept unrelated analytics merely to use a core service when a lawful and practical alternative exists. Legal requirements vary by jurisdiction, so professional teams consult applicable privacy and consumer-protection rules rather than assuming that a vendor’s default configuration is compliant.

Security and privacy are also maintenance responsibilities. An analytics library can introduce vulnerabilities, excessive data collection, or unexpected network traffic. Dependency review, threat modelling, access control, and incident response should be part of the release process.

10. Accessibility and Responsible Interpretation

Metrics should be checked for unequal outcomes. If completion is high overall but low for users employing screen readers, older devices, or slower networks, the aggregate metric conceals a quality problem. Segmentation should support inclusion without attempting to infer sensitive characteristics unnecessarily.

Teams should test with accessibility services, keyboard or switch access where relevant, adequate contrast, scalable text, clear focus order, meaningful content descriptions, and understandable error messages. Accessibility defects should not be deprioritised merely because the affected population is smaller in an aggregate dashboard.

Automated analysis and AI-assisted tools can classify feedback, summarise crash clusters, generate test cases, or identify unusual metric changes. Human review remains essential. Models may reproduce bias, misclassify sarcasm, expose confidential data, or create false confidence. Sensitive logs should not be uploaded to an unapproved service. AI output is evidence to inspect, not an authoritative product decision.

11. An Operational Review Cycle

A practical review cycle can be organised as follows:

  1. Define objectives: state the user and product outcome.
  2. Instrument responsibly: document events, properties, exclusions, and privacy controls.
  3. Establish a baseline: record reliability, performance, completion, and feedback before change.
  4. Release safely: use automated tests, staged rollout, monitoring, and rollback plans.
  5. Inspect evidence: compare versions and segments while checking data quality.
  6. Diagnose: combine quantitative patterns with technical investigation and user research.
  7. Prioritise: evaluate value, reach, confidence, effort, risk, and obligations.
  8. Implement and verify: test the change and monitor post-release outcomes.
  9. Record learning: update documentation, dashboards, backlog priorities, and maintenance forecasts.

This cycle prevents a dashboard from becoming an end in itself. The purpose of measurement is learning and responsible action.

Illustrative Case: Improving a Community Learning App

Background

A small Android application allows adult learners to complete short lessons and quizzes. After a redesign, the team observes that weekly active users remain stable, but lesson completion appears to decline.

Problem

The team initially suspects that the redesigned lesson screen is confusing. However, analytics show that the lesson_opened event increased while lesson_completed decreased. Crash reporting also identifies a rise in failures on older Android devices.

Analysis

The team first checks instrumentation. A release change had moved the completion event to occur after a network response, so intermittent connectivity caused some genuine completions not to be recorded. This means the initial conversion estimate was partly a measurement error. Support messages nevertheless contain repeated complaints that the final action is slow and that progress is lost when connectivity changes.

The team segments evidence by app version and device capability. Completion is lower on older devices, and performance traces show high memory use on the lesson screen. A usability session confirms that the completion control is visually ambiguous and that the app gives no clear offline status.

Approach and solution

The team chooses three actions: correct the event definition, reduce image memory usage, and redesign the completion state with explicit success and retry messages. It adds a local pending state so that a completed lesson can be synchronised later, while ensuring that server reconciliation prevents duplicate submissions. Crash monitoring is added to the staged rollout, and the team defines success as improved recorded completion, reduced failure on affected devices, and no increase in duplicate records or privacy incidents.

Outcome

After release, instrumentation validation shows that recorded completion corresponds to confirmed or safely queued completion. Crash reports decline on the affected device group, and support complaints about lost progress fall. The team does not claim that the redesign alone caused every improvement; it records the corrected measurement, technical changes, and remaining uncertainty.

Learning points

The case demonstrates that metrics require validation, aggregate results can hide device-specific problems, feedback explains quantitative patterns, and maintenance may involve both code correction and measurement correction. It also shows why success criteria should include reliability and data integrity rather than a single engagement number.

Challenges and Limitations

Analytics can be incomplete because users reject permissions, block network traffic, use multiple devices, or encounter instrumentation defects. Crash reports may omit failures caused by force-closing, operating-system termination, or external services. Feedback may be biased toward vocal groups. Performance measurements vary with device state, network conditions, and test procedure.

Correlation is not causation. A retention increase may result from seasonality, marketing, a competing product’s failure, or a change in user composition. Small segments can produce unstable percentages. Metric definitions can drift between releases. Teams should therefore preserve data dictionaries, validate events, annotate releases, inspect missing data, and communicate uncertainty.

Best-Practice Checklist

  • Begin with a product question and intended decision.
  • Define events, users, sessions, and outcomes precisely.
  • Measure meaningful outcomes rather than activity alone.
  • Monitor crash-free users, ANRs, performance percentiles, and affected segments.
  • Combine dashboards with technical diagnosis and user research.
  • Validate instrumentation after every significant release.
  • Use staged rollout and a rollback or mitigation plan.
  • Prioritise security, privacy, accessibility, and data integrity explicitly.
  • Collect the minimum necessary data and protect it throughout its lifecycle.
  • Reserve capacity for corrective, adaptive, perfective, and preventive maintenance.
  • Document assumptions, decisions, owners, and review dates.
  • Treat AI-generated analysis as an aid requiring human verification.

Chapter Summary

Ethical analytics and maintenance provide a disciplined basis for improving Android applications after release. Product analytics describe behaviour, crash reporting identifies technical failure, performance monitoring reveals responsiveness and resource problems, and feedback provides context about user needs. Metrics such as conversion, retention, crash-free users, and performance percentiles are useful only when their definitions, populations, time windows, and limitations are understood.

Evidence-based product decisions require validated instrumentation, segmentation, qualitative investigation, and explicit consideration of reach, impact, confidence, effort, risk, accessibility, and legal obligations. Maintenance is continuous and includes corrective, adaptive, perfective, and preventive work. Privacy, security, consent, data minimisation, and responsible interpretation are not optional additions; they are conditions of professional practice. A successful team turns evidence into a monitored learning cycle rather than treating a dashboard or a single metric as the product itself.

Key Terms

Analytics: Systematic collection and interpretation of product-use data.

ANR: Application-not-responding condition in which an Android app fails to respond promptly.

Baseline: A documented pre-change level used for comparison.

Cohort: A group sharing a defined starting condition or time period.

Conversion rate: The proportion of a defined population completing a target step.

Crash-free user rate: The proportion of observed users with no recorded crash.

Event: A recorded occurrence representing an action or state.

Funnel: Ordered stages leading toward a target outcome.

Key performance indicator: A metric linked directly to an important objective.

Maintenance: Work that preserves, adapts, improves, or prevents deterioration of a product.

Metric: A defined quantitative measure.

Percentile: A value below which a stated percentage of observations falls.

Product backlog: Ordered collection of potential product and technical work.

Qualitative evidence: Non-numerical evidence describing meanings, experiences, or reasons.

Retention: The proportion of a starting cohort returning or performing a defined action later.

Segmentation: Analysis of results for defined subgroups.

Staged rollout: Gradual release to a limited population before wider distribution.

Technical debt: Future cost created by expedient or insufficient technical choices.

Telemetry: Automatically collected technical or behavioural data.

Vanity metric: A superficially impressive measure with limited decision value.

Review Questions

Short Answer Questions

  1. Why should product measurement begin with a decision or product question?
  2. Distinguish crash-free user rate from crash-free session rate.
  3. What is the purpose of segmenting performance metrics by device capability?
  4. Name the four traditional categories of software maintenance.
  5. State two principles of ethical analytics collection.

Long Answer Questions

  1. Explain how analytics, crash reporting, performance monitoring, and user feedback complement one another in product evaluation.
  2. Describe a complete process for triaging a serious crash after an Android release.
  3. Explain retention and conversion metrics, including the importance of defining their denominators.
  4. Discuss how privacy, accessibility, and security should influence product prioritisation.
  5. Describe how a team can establish and operate a responsible post-release review cycle.

Analytical / Application Questions

  1. An onboarding funnel has 2,000 entrants, 1,400 users completing the first step, and 980 completing setup. Calculate the first-step conversion and overall setup conversion. Identify one additional investigation required before concluding that onboarding improved or worsened.
  2. A feature affects many users but requires substantial effort, while a smaller accessibility defect affects fewer users and is inexpensive to fix. Apply the priority-score concept and ethical reasoning to explain how the team should decide.
  3. An app’s average startup time improves, but its p90 startup time worsens for low-end devices. Propose a diagnostic and maintenance plan, including the evidence you would collect and the risks of relying only on the average.

Multiple Choice Questions with Answers

Question 1

Which source of evidence is most directly suited to identifying the technical cause of an Android crash?

A. A grouped stack trace with release and device context

B. A total-downloads report

C. A general promotional survey

D. A list of requested features

Correct Answer: A. A grouped stack trace with release and device context

Question 2

If 620 of 1,000 users complete a defined step, what is the conversion rate?

A. 6.2%

B. 38%

C. 62%

D. 162%

Correct Answer: C. 62%

Question 3

What does day-n retention measure?

A. The number of screens opened on day n

B. The proportion of an original cohort active on day n

C. The average session length on day n

D. The number of crashes recorded on day n

Correct Answer: B. The proportion of an original cohort active on day n

Question 4

What does a p90 startup time of 3.2 seconds mean?

A. Every startup takes exactly 3.2 seconds

B. The average startup takes 3.2 seconds

C. 90% of measured startups are at or below 3.2 seconds

D. 10% of startups are at or below 3.2 seconds

Correct Answer: C. 90% of measured startups are at or below 3.2 seconds

Question 5

Which activity is an example of preventive maintenance?

A. Repairing a reported null-reference crash

B. Updating the app for a new permission rule

C. Adding a requested navigation feature

D. Refactoring risky duplicated code before it causes failures

Correct Answer: D. Refactoring risky duplicated code before it causes failures

Question 6

Why can total downloads be a weak product metric?

A. Downloads can never be measured accurately

B. Downloads do not necessarily show activation, value, or continuing use

C. Downloads are always a privacy violation

D. Downloads measure only crash frequency

Correct Answer: B. Downloads do not necessarily show activation, value, or continuing use

Question 7

Which practice best reflects data minimisation?

A. Collecting all available device and location data indefinitely

B. Recording only data necessary for a stated purpose and retaining it appropriately

C. Sharing raw analytics with every project member

D. Including authentication tokens in diagnostic logs

Correct Answer: B. Recording only data necessary for a stated purpose and retaining it appropriately

Question 8

A priority score is defined as (reach × impact × confidence) ÷ effort. What is the score for reach 0.2, impact 5, confidence 0.8, and effort 2?

A. 0.2

B. 0.4

C. 2.0

D. 4.0

Correct Answer: B. 0.4

Question 9

Why should user feedback not be interpreted as a complete representation of all users?

A. Feedback is always technically incorrect

B. Only developers can provide valid evidence

C. Feedback channels are subject to selection and participation bias

D. Users cannot report accessibility problems

Correct Answer: C. Feedback channels are subject to selection and participation bias

Question 10

What is the principal value of a staged rollout?

A. It guarantees that no defect will occur

B. It limits exposure while the team monitors outcomes before wider release

C. It removes the need for automated testing

D. It prevents users from submitting feedback

Correct Answer: B. It limits exposure while the team monitors outcomes before wider release

Android App Development
Chapter 14 of 15