All notes

Product Metrics Begin with Events That Represent Real Value

Define activation, retention, cohorts, and quality without letting clicks impersonate success.

English edition, edited for length. Read the complete Chinese original.

Blog readership is increasing, but fewer readers are returning. This could be due to increased search traffic, or perhaps the titles are attracting the wrong audience. A simple count of total visits doesn’t necessarily indicate whether the content is valuable, and it certainly can’t automatically guide the next step in writing.

The design of the metrics should start from the actions that the product aims to help users accomplish. A technical content website might aim for readers to find explanations, understand trade-offs, and apply them in practice, rather than simply increasing page dwell time.

Define Value Events, Not Button Events

Clicking on an article is an entry point, not a measure of value. Scrolling to the bottom might indicate reading, or it might simply be a way to quickly skip ahead. It’s possible to combine multiple signals, such as reaching a certain depth of reading, accessing related references, or actively returning to the article in subsequent cycles, but it’s important to acknowledge that these are still proxy indicators.

Don’t assume that longer sessions are always better. Readers quickly find solutions to problems through commands, and short sessions can be successful. However, if readers repeatedly search without finding a solution, longer sessions can actually be counterproductive. The metrics need to be interpreted in conjunction with the user’s task.

Direct feedback can help calibrate proxy signals, such as brief “Did this resolve the issue?” responses. However, feedback samples are subject to self-selection bias, and the proportion of responses should not be interpreted as the overall satisfaction level of all readers.

Event Contracts Enable Data Comparability

Valuable events can be initially categorized based on task type. For example, a reader who needs to quickly find the correct answer for a specific command requires a different approach than a reader who needs to understand the underlying mechanisms and trade-offs. Similarly, a reader who is actively seeking out valuable content requires a different experience than a reader who is passively consuming information. The same amount of time spent on a task can have different meanings depending on the task type. Websites can observe different engagement signals without forcing a single “deep reading” experience that is suitable for everyone.

The proxy metrics should have a calibration plan. Invite a small group of readers who are willing to provide feedback to indicate whether the issue has been resolved. Then, observe their scrolling, referral, and return behavior to see if it aligns with the feedback. This does not provide an exact estimate of overall satisfaction, but it can identify obvious misunderstandings, such as a high number of referral clicks due to insufficient content. The definition of the metrics should be updated based on learning, rather than simply relying on the default options of the analysis tool.

It’s also important to avoid creating unnecessary friction. While forcing users to click “Finish Reading” can improve measurability, it can also negatively impact the user experience. Similarly, pop-up surveys can be disruptive. Using necessary and transparent data collection, while accepting some measurement limitations, is more in line with what readers expect than turning a content website into a tracking laboratory for the sake of precision.

Define when an event is triggered, which fields it includes, how to eliminate duplicates, and how the anonymous identity changes. Page refreshes can lead to a single reading being recorded multiple times, and even switching between tabs may affect the timing.

article_opened: content became visible successfully
article_engaged: the defined engagement rule was met
reference_opened: the reader deliberately opened an article reference

These events are just examples, and the rules should be tailored to the specific product goals. Fields may include article identifiers, source categories, and versions. It is not necessary to collect email addresses or full IP addresses to analyze content quality. Data minimization should come before convenience.

After changing the event definition, it’s important to retain the previous version to avoid mixing new and old statistics. If you change the reading threshold but continue to compare year-over-year growth, the team might mistakenly interpret the measurement changes as product progress.

Clearly Defined Time Windows for Activation and Retention

The event contract can clearly define retry behavior. A successful read generates a stable event ID, and network retransmission does not result in a second completion. The timing uses a visible interval on the front-end, while the background tab does not accumulate participation. Page switching, browser recovery, and multiple tabs all need to be defined. While the implementation may vary, data personnel must know that a single record represents a specific action.

The version of the article is also important. If the same URL has been rewritten with key content changes, reader feedback and engagement changes may be due to the new version, rather than the topic suddenly becoming popular. When analyzing event records, maintain the same observation window for the version of the content and the publication time. Page layout and loading failures can also change the triggering of events, so changes need to be distinguished from product changes.

The fields for tracking should be restricted to a predefined list of values and sensitive data. The source category can be search, subscription, or direct access, and doesn’t necessarily require a complete source URL. Search terms within the site may contain personal information and should not be stored in their entirety without review. Records of missing fields and invalid values constitute data quality issues. Do not attempt to fill in missing values or correct invalid values based on assumptions.

New readers can trigger activation by completing a meaningful action for the first time, but this needs to be tracked either on the first visit or within the first seven days. It’s also important to define the retention period and the criteria for valid behavior. Simply opening the homepage once doesn’t necessarily indicate continued value.

The natural frequency of content products may be lower than that of chat tools, and daily retention may not be suitable. Returning weekly or monthly to learn may be more appropriate, depending on user needs. The metric cycle should reflect user needs, rather than aiming for a steeper curve.

Anonymization analysis faces challenges with cache clearing and cross-device tracking, and it’s important to acknowledge the associated estimation errors. We should avoid creating tracking mechanisms that exceed user expectations in terms of identity accuracy, as this compromises both privacy and measurement precision.

Segmentation Exposes Misleading Averages

To calculate retention, you need a consistent group of initial users. Compare the number of users who completed a valid action this week with the number who completed a valid action next week to determine the corresponding cohort. Dividing the total number of visitors next week by the number of new visitors this week is not retention rate, because the numerator includes users from other cohorts and new visitors. The dashboard should display the definition of the initial cohort, the observation window, and the denominator.

Users who have not completed a full cycle cannot be directly compared to older batches. An article published just one day ago does not have enough time to generate a seven-day retention rate, and low retention may simply be due to insufficient observation. It is possible to separate immature batches and wait for a complete cycle. Changes in anonymous identities will still cause estimation errors, and this limitation should be presented alongside the chart, rather than hidden in a technical appendix that no one reads.

The value of the content can also arise outside the platform. Readers may save articles, copy commands to their terminals, or share them with colleagues without returning to the platform, meaning that the platform’s analytics can only capture a portion of the activity. Don’t automatically assume that value that cannot be measured is non-existent. By combining voluntary feedback with task research, provide metrics with room for explanation, rather than forcing all behavior into a single, trackable conversion funnel.

Searching for readers who access a single article differs from targeting those who subscribe and return regularly. New readers and experienced engineers may have different levels of engagement with the content. By segmenting users based on their entry point, topic, and behavior, we can explain why overall metrics fluctuate.

It’s not possible to subdivide groups indefinitely, so each group will eventually contain only a few people. Small sample sizes lead to high variability and can easily result in spurious conclusions. When analyzing data, it’s important to report both the sample size and the associated uncertainty, and to prioritize the use of classifications that have pre-existing business relevance.

The timing of publication, external trends, and promotion all influence the data. When comparing two articles, it’s important to consider the observation window and traffic sources, and not just rank authors or topics solely based on cumulative page views.

Metrics Need Guardrails

Changes in group composition can create the illusion of an average. For example, if the proportion of readers who search for specific content increases, they may only read one article, which could lead to a decrease in overall return rates. However, the return behavior of existing readers may remain unchanged. First, analyze the proportion of readers from different sources and their respective performance, and then determine whether the content is declining. Here, no specific numbers are required; the focus is on how the overall indicator is affected by both the composition of the audience and the behavior within each group.

Furthermore, when comparing topics, it’s crucial to control for content age and the opportunity for entry. Older articles tend to accumulate more traffic, while new articles may face different search seasons. Observing and comparing based on the same time window after publication, and distinguishing between active promotion and natural search, provides a more accurate assessment of the impact on product visibility. However, it’s still impossible to definitively establish causality, as topic, title, and external events can all change simultaneously.

Striving for high subscription numbers might incentivize the creation of overly long articles, while focusing on reading time could lead to the production of lengthy content. To prevent localized optimizations from negatively impacting the overall user experience, it’s important to combine these efforts with safeguards such as page speed, unsubscribe options, complaint mechanisms, and measures to ensure content accuracy and accessibility.

Quality checks cannot always be fully automated. For example, aspects like factual accuracy, case credibility, and code executability require human review and editing. Don’t dismiss quality simply because these aspects are difficult to visualize or represent graphically.

When metrics can be manipulated, it’s important to discuss incentives. If a team only rewards the number of publications, this could lead to the creation of superficial content. Similarly, if they only reward click-through rates, headlines might become exaggerated. Measurement systems influence behavior, and are not neutral recorders.

Manually Recalculate a Set of Reading Behaviors

Use a five-step synthetic visit scenario: one visitor exits immediately, one reads with the page in the foreground, one leaves the page open in the background, one opens a reference after reading, and one refreshes so the event is resent. Apply the agreed definitions to decide which visits count as “opened,” “engaged,” and “reference-opened,” reusing the same event identity for the network retry. Send those records through the data pipeline and compare the report with the manual result. This small test exposes duplicate counting and background-timing errors more directly than checking whether a production curve looks smooth.

The units of measurement must be clearly defined. Page views, session counts, and the number of anonymous readers are not the same metric. A reader who returns multiple times may increase the first two, but not necessarily the third. Any gaps or inaccuracies resulting from anonymous identity removal, cross-device tracking, and analysis without consent should be clearly stated, and not concealed by using fingerprint matching to fill in the gaps. Reports with decimal precision may only represent a portion of the population that is allowed to be tracked.

Late events will affect the report. If counted by the time of receipt, re-sending after a network outage may be attributed to the wrong day. If counted by the time of occurrence, it requires handling of credible ranges, time discrepancies, and historical recalculations. Choose the policy that best suits the purpose and display the update status. Data and zero activity should not be treated as separate; a data collection failure should not be interpreted as the user ceasing to read.

Calculating Retention with a Clear Starting Point and a Defined Window

The first cohort to complete the defined behavior in a given week will enter the return pool. The same cohort must complete the behavior again in the following week to be included. It is not possible to calculate the total number of visitors from the previous week and subtract the new visitors, as this would include visitors from other cohorts. If a stable and legitimate identity is not available, it is only possible to estimate the number of returns at the session or access level. The naming should not mislead readers into believing they know the actual number of people.

The requirement for seven-day retention begins after a complete seven-day window. Readers who entered yesterday have not yet had the opportunity to return, and they should be marked as immature and not treated as having retained. The natural frequency of monthly content may be lower, and using inappropriate metrics based on daily retention curves is not suitable. Multiple cycles can be diagnosed, but the primary judgment should be made in advance.

The version of the content also affects the user experience. Changes to the article, loading errors, and changes in the recommended location can all affect when an event is triggered. The report combines version and deployment records to explain this. Having the same publication date does not mean that everyone receives the same content; cached versions may temporarily provide older versions. Measurement requires knowing which content is being tracked, rather than simply aggregating all historical data by URL.

Decomposing Overall Changes and Changes in Population Composition

Visitors typically address a specific issue, while readers periodically check for updates. When search traffic increases, the overall return rate may decrease, even if the behavior of both groups remains the same. First, compare the performance within each group and the proportion of each group. Then, propose a hypothesis about content degradation. Overall metrics are affected by both, so it’s not possible to directly infer the quality of the content from a single downward trend.

It’s also important not to jump to conclusions based on isolated positive findings. Instead, first choose categories that are relevant to the business, such as entry points, topics, or tasks, and then analyze the sample size. Avoid making overly broad generalizations based on small groups. Remember that factors like device, location, and source can be related, and if you see poor performance on mobile, you need to investigate loading, reading scenarios, and entry point distribution. You can’t immediately assume that a particular layout is causing all the problems.

The main focus is on comparing observation windows and exposure opportunities. Older articles have accumulated a large amount of traffic, while newer articles are frequently featured on the homepage. Each has its own advantages. When viewing articles published within the same window and from the same source, the results still only provide cautious descriptions, and cannot automatically claim causality. External community propagation and seasonal demand are also included in the records to avoid attributing content popularity to the author’s long-term ability.

Metric upgrades represent changes to the protocol, not just changes to the query.

Change the engagement threshold from reading depth to visible duration. Historical data should no longer be compared year-over-year without explanation. Establish new events or define versions, observe for a period of time, manually verify the rules, and then migrate the panel and alerts. Also, check the usage, export, and incentive methods for existing metrics to avoid confusion among different teams due to the same name being used.

The fields only collect the information necessary to answer specific questions. The complete source URL and search terms may contain sensitive information, but the source category and limited topics are often sufficient. Free-text fields are not inherently sensitive simply because they are used for analytics; their purpose and retention should be clearly defined. Fields that are no longer used should be discontinued, and historical data should be purged according to policy. It is more reasonable to collect data only when it is potentially useful, rather than collecting it permanently.

The following categories are treated separately: crawlers, pre-loading, and synthetic detection. Filtering rules are versioned, allowing for the removal of traffic without negatively impacting results. Sampling instructions specify the weighting and range, and flagging data quality issues. It is important to note that the system cannot automatically determine successful or unsuccessful results. The purpose of data cleaning is to restore accurate figures, not to make charts more visually appealing.

Put Actions and Guardrails Next to the Numbers

Increased subscriptions may be due to more aggressive pop-ups, while reading the main content is hindered and complaints are rising. Increased reading time may be due to difficulty finding answers or overly long content that doesn’t add value. Each key metric should be accompanied by potential misleading scenarios, along with quality, speed, unsubscribe, and accessibility checks. The accuracy of facts that cannot be automatically measured and the code’s run-ability still require human editing, and cannot be weighted simply because there is no real-time curve.

After observing the changes, the responsible person first checks the definitions, data collection methods, and the target population. Then, they discuss the product assumptions. The dashboard displays units, time windows, sample sizes, update times, and blind spots, which helps in making judgments in this order. The numbers themselves do not directly determine what to write; instead, they encourage the team to formulate more accurate questions. For intangible values such as external applications, saving, and sharing, use voluntary feedback instead of intrusive tracking.

Removing duplicate subscriptions also requires distinguishing between the same intent and different actions. A user re-attempting to confirm a subscription email does not count as a new subscription; unsubscribing and then re-subscribing represents a new lifecycle event. Stable identity and event type support recalculation, without temporary deduplication based on subject or email text. Metric aggregation retains a limited number of categories, and private contact information does not appear in public reports.

Report access also needs to be managed. Editors may not need to read the activity of every reader to view topic performance. Support for investigating a specific failure can be achieved by obtaining necessary records through a controlled entry point. The administrator role in the analysis tool cannot automatically authorize all business data. Aggregation, detail views, and export functions are defined for specific purposes, and discussions about quality do not require expanding individual tracking.

Trace One Event from Acceptance to the Report

Abnormal traffic requires separate handling. Crawlers, pre-loading, and monitoring requests may open pages without any user interaction; filtering rules should record the source and changes, and should not be blindly deleted without justification. If analysis involves sampling, the sampling method and weights should also be specified. Data cleaning should not be used as a means to retrospectively improve metrics; the original quality issues and product behavior must be retained with traceable explanations.

The dashboard can place definitions next to the numbers: units, time window, update status, and known blind spots. When the return rate is declining, the responsible person should first check the data collection and the population, and then formulate hypotheses. Designing this reading order is more effective than simply piling all the curves on the homepage, preventing misinterpretation. The report should also be a product interface that helps people make correct judgments.

For accesses that did not consent to analysis, hidden identity matching will not be performed. The report clarifies that the statistics only cover the range of data that is permitted to be collected, acknowledging potential biases, and avoiding the assumption that consented samples represent complete visitors. Privacy constraints are not obstacles to be circumvented, but rather a part of the valid range of the metrics.

Guardrails can directly address the risks created by misleading content incentives. When optimizing reading depth, review article length, factual accuracy, and readability. When optimizing subscriptions, monitor unsubscribes and complaints. When increasing recommendations, check whether they crowd out the main content. Guardrails do not need to be fully automated; editorial review and usability feedback are also valid evidence. Content quality should not be undervalued merely because it is difficult to quantify.

The incentive rules should also prevent proxy signals from becoming the primary goal. If authors only win based on the number of times their work is scrolled through, they might bury the key points at the end; or if they only win based on the number of clicks on external links, they might reduce the explanatory text. The review process retains the discussion of user tasks and content quality, preventing metrics from replacing professional judgment. Numbers help identify problems, but they do not grant any particular writing style absolute correctness.

Open the test article and verify that the event only triggers as defined. Verify that refreshing, background tabs, and privacy settings do not result in duplicate or out-of-bounds data collection. Recalculate a metric from the original records and check that it aligns with the dashboard definition.

The metric review should address the following questions: What user value does it represent? Under what circumstances could it be misleading? What actions will the team take after observing changes in the metric? A metric that doesn’t lead to action should be kept for diagnostic purposes, but it should not be used as a primary indicator.

End-to-end testing can manually replay known behaviors: exiting immediately, reading with the page in the foreground, leaving it in the background, opening a reference, and refreshing so the request is retried. Verify each event, then generate the report from the same query. If the data pipeline is delayed, display its update time. If collection fails, mark the affected chart period as incomparable instead of interpreting missing data as readers no longer needing the content.

Finally, assign ownership and deletion criteria to each metric. Metrics that are no longer used for decision-making may only increase privacy and maintenance costs, so consider discontinuing them. When launching new metrics, clearly state what questions they answer, and when retiring old metrics, retain their historical definitions. A streamlined, reliable, and actionable measurement system is more valuable than collecting all available click data.

The final report retains the definitions, time window, sample size, and data quality status. A credible metric is not necessarily about appearing precise; it’s about the team understanding what it can and cannot say.

References