Skip to content
R package to analyse product's performance
R
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
data
man
.Rbuildignore
.gitignore
DESCRIPTION
NAMESPACE
README.Rmd
README.md

README.md

RProductAnalytics

Overview

As a product owner, you want to understand how users are interacting with your product, in order to improve adoption and engagement, but also align the product’s success with business objectives.

To measure how improvements impact users individually and the business as a whole, you’ve set up a strategy and a tracking plan that defines what are the most important events in your user’s journey.

RProductAnalytics provides utilities to analyse those interactions, how your experiments and introduction of features are impacting key metrics, product-market fit and overall alignement with business objectives.

Installation

install.packages("devtools")
library(devtools)
install_github("lantrns-analytics/RProductAnalytics")
library(RProductAnalytics)

Example of Analysis

Let’s take this initial product data from our newsletter as an example.

str(product_data)
#> Classes 'tbl_df', 'tbl' and 'data.frame':    11 obs. of  8 variables:
#>  $ id               : int  1 2 3 4 5 6 7 8 9 10 ...
#>  $ send_date        : Date, format: "2019-02-04" "2019-02-18" ...
#>  $ total_recipients : num  13 11 13 13 13 15 23 25 34 39 ...
#>  $ unique_opens     : num  9 7 7 7 9 8 15 14 20 23 ...
#>  $ open_rate        : num  0.692 0.636 0.538 0.538 0.692 ...
#>  $ unique_clicks    : num  1 0 2 0 0 1 1 3 5 5 ...
#>  $ total_clicks     : num  1 0 2 0 0 1 1 5 11 7 ...
#>  $ clickthrough_rate: num  0.0769 0 0.1538 0 0 ...

Preparing Metric for Analysis

You first isolate the metric that you want to work with and specify a windows which will define the baseline to compare with.

product_metric <- RProductAnalytics::prepare_metric(
  product_data = select(product_data, id, send_date, metric = total_recipients), 
  baseline_window_width = 3
)

tail(product_metric)
#> # A tibble: 6 x 6
#>      id send_date  metric metric_baseline metric_baseline… metric_baseline…
#>   <int> <date>      <dbl>           <dbl>            <dbl>            <dbl>
#> 1     6 2019-04-15     15            13.7             1.33           0.0976
#> 2     7 2019-04-29     23            17               6              0.353 
#> 3     8 2019-05-13     25            21               4              0.190 
#> 4     9 2019-05-27     34            27.3             6.67           0.244 
#> 5    10 2019-06-10     39            32.7             6.33           0.194 
#> # … with 1 more row

Analysis

With that new data frame, you can do some analysis of how that metric evolved through time

ggplot(product_metric, aes(send_date, metric)) + geom_line()

ggplot(product_metric, aes(send_date, metric_baseline)) + geom_line()
#> Warning: Removed 2 rows containing missing values (geom_path).

ggplot(product_metric, aes(send_date, metric_baseline_diff)) + geom_line()
#> Warning: Removed 2 rows containing missing values (geom_path).

ggplot(product_metric, aes(send_date, metric_baseline_diff_perc)) + geom_line()
#> Warning: Removed 2 rows containing missing values (geom_path).

You can’t perform that action at this time.