Usage Analytics Workflow
Usage Analytics Workflow
Description
Get analytics on how customers use Parvenu
Platform
Parabola.io
Workflow
Schedule
1st of each month
1. Formatting
We start by importing the Dashboard API that gives us a breakdown of how each user uses each feature. Then we use a Row Filter
to remove test accounts and internal accounts and a Rename
to standardize the column headers.
2. Active Customers Usage
Next we'll create a Sheet that keeps track of the usage for Paying Users. We'll start by Customer and Subscription data from Stripe Imports
and Join
them together by Stripe Customer ID. Then we use a Column Filter
to keep the relevant columns and Rename
it to standardize the headers. Then we use a Format Dates
step on all the dates in the table to format them to YYYY-MM-DD. Then we'll use a Join step with the Paying Users segment detailed in step 3 below.
Then we use a Row Filter
to keep people who have an active subscription and use a Sheets Export
to send the data to Parvenu Active Customers Usage Sheet.

3. Aggregate Usage and Join
Totals
Then we use a Math
step to create the Total Emails Found column.
{Domain Enrichment - Emails Found} + {Scrape Websites - Emails Found} + {Contact Enrichment - Emails Found} + {Linkedin Search - Emails Found}
.After that we use another Math step to create Average Emails Per Month.
{Total Emails Found} / {Invoice Count}
.Then we use two Row Filters
to segment paying customers and registered users who never paid.
Not Paying Customers
Down the users who registered by never paid path, we create the Trial Users Activated but No Conversion column by using a Row Filter
to keep rows where Total Emails Found is not equal to 0. Then we use a Count by Group
step to create the Trial Users Activated but No Conversion and Insert Column
to add a Common column.
We create the Registered No Conversion using a Count by Group
step on all users who didn't pay. Then we use an Insert Column
step to add Common.
Then we create Registered Never Used the Trial by using a Row Filter
where Total Emails Found equals 0 and then using a Count by Group
. Then we add the Common column using the Insert Column
step.
Paying Customers
Down the paying customers path we create the Invoice Count using a Sum by Group
column on Invoice Count to aggregate it. Then we add a Common column using an Insert Column
step.
Then we create the Total Emails Found column using a Sum by Group
on Total Emails Found to aggregate it. Then we add a Common column using an Insert Column
step again.
Then we aggregate the Paying Users column using a Count by Group
step. Then we add another Common step using an Insert Column
step.
Next we'll use a Sort
step on Average Emails Per Month in descending order and use an Insert Row Numbers
step. This is path A. We'll break off to Path B from Path A using Find Maximum by Group
step on Row Number. Then we'll create the Median Row Number column using {Row Number (max)} / 2 and a Format Numbers
step to round to the nearest whole number. Then we use a Join
step on path A and path B. Then we add the Common column using Insert Column
. Then we use Column Filter
step to keep Average Emails Per Month and Common and Rename
Average Emails Per Month to Median Emails Per Month - Paying Customers.
Next we create individual feature analytics. Each feature uses a Sum by Count
step on that feature to aggregate it, then a math step, Column Filter
to remove Total Emails Found, and then add the Common step using Insert Column
.
Native Search Exports Total
{Native Search - B2B} + {Native Search - B2C}
Contact Enrichment - Percentage of Total
({Contact Enrichment - Emails Found} / {Total Emails Found}) * 100
Scraper - Percentage of Total
({Scrape Websites - Emails Found} / {Total Emails Found}) * 100
Domain Enrichment - Percentage of Total
({Domain Enrichment - Emails Found} / {Total Emails Found}) * 100
Linkedin Search - Percentage
({Linkedin Search - Emails Found} / {Total Emails Found}) * 100
Then we use two Count by Group
steps on Sub Users and Paying Users to aggregate their counts. Then we use Insert Column
on both to add Common. Then we create the Mean Sub Users using a Math
step and a Column Filter
to remove Paying Users.
Mean Sub Users
{Sub Users} / {Paying Users}
Finally we use the Common Join workflow to combine all the aggregated data onto a single line. After the Join
we use a Math
step to add Emails Per Month - Paying Customers.
Emails Per Month - Paying Customers
{Total Emails Found} / {Invoice Count}

4. Format and Export
Then we use a Format Numbers
step to keep a maximum of 2 decimal places for all numbers in the table. Then we use a Column Filter
step to remove Common and a Find and Replace
step to replace ".00" with nothing. Then we use an Insert Data and Time
step to create the Timestamp Date column. Then we use a Format Dates
step to format the Timestamp Date as YYYY-MM-DD and a Reorder
step to bring it to the beginning of the table.
Next we will send the results to the Parvenu Usage Sheet by using a Sheets Import
, Stack Tables
, De-Dupe
, and Sheets Export
steps.
Finally we will export the data via a Webhook
to Integrately. To do this we will create two paths. Path A uses a Column Filter
step to only keep the Timestamp Date column and will use an Insert Column
step to add Common. Path B uses a Split Column
step on the Timestamp Date to split by "-" to separate month, day and year into three separate columns. Then we use a Rename
step to rename them Timestamp Day, Timestamp Month and Timestamp Year.
Then we use a Find and Replace
step on Convert Month Numbers to Month Names to replace 01 with January, 02 with February, etc. Then we use a Combine Columns
step to merge Timestamp Month and Timestamp Year to create Month, ie January 2021. Then we use an Insert Column
to add Common. Then we use a Common Join workflow to Join
Common from Path A and Path B and use an API Export
step to send to Integrately, triggering the Usage Analytics to monday.com workflow.
Last updated
Was this helpful?