@mattab opened this Issue on December 1st 2014 Member

The goal of this issue is to define a Retention Analysis report for Piwik. Retention analysis is sometimes called Cohorts and is a powerful analysis technique.


There are few issues more important than customer retention when running software-as-a-service businesses.


Cohort analysis report

Cohort analysis report will allow to analyse the following metrics over time (by day, week, month based on Piwik date selector):

  • retention % (% users that signed in = % users for which we recorded a visit),
  • retention (number of users that signed in = number of users for which we recorded a visit),
  • revenue (value of in-app purchases = value of ecommerce conversions)
  • conversion rate (% users that made an in-app purchase = % users with ecommerce conversion)
  • event X where X can be any event name tracked (% users that triggered the event X)
    • i.e. level ups, items used, gifts sent etc.

by the following cohorts:

  • sign up date (first visit in Piwik for particular user),
  • last sign in (last visit in Piwik for particular user),
  • last purchase (last e-commerce conversion in Piwik for particular user),
  • first purchase (first e-commerce conversion in Piwik for particular user).

if you any suggestion or comment, please leave a message here!

@mattab commented on December 1st 2014 Member

Mockup of what it could look like: cohort analysis

@zeroc commented on December 21st 2014

This is a very useful feature. I can't wait to try it out.
When will the function be available?

@mattab commented on December 21st 2014 Member

Hi @zeroc it hasn't yet been scheduled. If your company is interested, please get in touch to help us make progress on this interesting feature!

@zeroc commented on December 22nd 2014

Hi @mattab,
I just got the permission to work on this item.
How do we proceed?

@mattab commented on December 22nd 2014 Member

Hi @zeroc maybe see this for starter: http://developer.piwik.org/guides/contributing-to-piwik-core

Just to let you know that this task is quite complicated. How much time have you got permission for?

@zeroc commented on December 22nd 2014

Is one week enough?
I thought it was just a plugin. :P

@mattab commented on December 28th 2014 Member

One week is not enough I'm afraid

@amitch commented on January 21st 2015

Hi Matthieu,

It is a pretty crucial functionality, will look forward to it making it.

About the mockup, it will be even better to see different stages users(customers) are in based on cohorts, so a single graph covers all 100% for a cohort. A mix of


@mattab commented on February 11th 2015 Member

Google Analytics now has Cohort reports: http://cutroni.com/blog/2015/02/06/using-cohort-report/

@Myrronth commented on August 28th 2015

Are there any news about the progress of the development of the feature and when it is planned to be released?

@willdurand commented on September 15th 2015

How could we give a hand there?

@goodwolf commented on September 26th 2015

I've created a plugin which I'm currently using in production. I will be publishing the design documents, algorithms and code this coming week.

@goodwolf commented on September 26th 2015

Once published I will link the bitbucket repository on this ticket. I will not be publishing any code to github, so please do not ask. Feature requests may be made as I will be maintaining the plugin long term in the spirit of open source.

If there are any features wanted outside of the typical percent style metrics and UI similar to the mockup someone posted here let me know. I've been creating code and UIs based on knowledge shared of professionals who spend their professional career analyzing metrics and presenting them to other business executives.

License: MIT License

1) Typical Cohort Analysis UI
2) Data export function
3) Graphing function and export (useful for business meetings)

@mattab commented on September 30th 2015 Member

Hi @goodwolf This is great news! Many of us here look forward to testing your plugin for sure. Cohort analysis is killer feature!

@goodwolf commented on October 7th 2015

There is a delay in my release, I will update shortly. The reason will be apparent when I release.

@Heishe commented on October 23rd 2015

Very interested in this as well. Please keep us updated!

@Myrronth commented on December 14th 2015

Are there any news regarding the availability of this plugin?

@ttiurani commented on May 14th 2016

Any progress @goodwolf you could report? I'm very interested in this functionality as well.

@nnmer commented on June 23rd 2016

looking for this feature as well

@jjxxxx commented on July 13th 2016

@mattab , we started playing around with this. Finding DB response to be quite slow. Any document or things that might help speed up response times. We've gone through the docs for optimization.

@goodwolf Any insights you can add on how you addressed this issue?

@goodwolf commented on July 20th 2016

@jjxxxx I'm not satisfied with my work just yet, I may also need to add additional methods to piwik itself. I've created a series of database queries to generate the cohort dataset.

@jjxxxx commented on July 21st 2016

@goodwolf Appreciate your response. We've also had to hack together something that works... but not sure if it's going to work at scale.

Thanks again.

@goodwolf commented on July 26th 2016

@jjxxxx yeah, you're having the same problem I was having. My procedural calls I wrote can be used at scale. I'll get the latest -dev and work on getting this done. My schedule is a bit more open, so I'd be pleased to finish working on the cohort reports.

@jjxxxx commented on July 29th 2016

@goodwolf Looking forward to it. :)

@grks commented on August 30th 2016

Hi, would love to test this out. Looking forward to see it and please ask if there is anything we can do to help out!

@mattab commented on September 27th 2016 Member

@goodwolf let us know if you have any question or problem, as we'd love to help you get this plugin on the Marketplace :+1:

@atfornes commented on November 17th 2016

We are really interested in this plugin. Is the code published somewhere?

Even if the code is in an early stage of development, we would like to study it, use it and maybe help to push forward the development.


@pierrevdk commented on July 8th 2017

Hey there,

Really interested in this as well! @goodwolf, where you able to work on this since July 2016?


@mattab commented on July 1st 2019 Member

Hello everyone!

Over the last few months we have developed a new Cohorts Analysis feature for Matomo.

It is a premium feature so unlike most Matomo features it is not free. But pricing should be quite affordbable for a business needing Cohorts analysis (starts at 99 usd/year). Hopefully our new product can deliver very good value :+1: it fully integrates with Matomo and should be easy to use. You can learn more & purchase it at https://plugins.matomo.org/Cohorts

If you have any feedback or question, please email the support team at shop at innocraft.com

Benefits of Cohorts analysis

  • Zero setup required if you're using the JavaScript tracker.
  • See how your visitors behave on and after their acquisition date.
  • Compare behaviors of one cohort with other cohorts, by seeing metrics directly next to each other.
  • View all core session and conversion metrics in the Cohorts report, including your website's retention rate, overall revenue and revenue for individual goals.
  • Segment your reports by cohort and see how individual cohorts behave. Then compare this with other cohorts to get useful insights.

I'll close this issue now as it's unlikely we'll work on Cohorts analysis in the future besides improving the Cohorts Premium feature. Thank you!

This Issue was closed on July 1st 2019
Powered by GitHub Issue Mirror