| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 676 |
| Technical Name |
gb_cohort_retention_analytics |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
| Versions | 18.0 19.0 |
Cohort & Retention
Customer & revenue cohorts, retention curves and lifetime-value estimates
Knowing whether your customers stick around is the difference between profitable and runaway growth, but cohort analysis normally means exporting invoices to a spreadsheet or buying an Enterprise BI add-on — work most teams never get round to. This module computes customer and revenue cohorts natively from your posted invoices. It groups every customer by their acquisition month from their first posted invoice, then builds a retention matrix showing the share still active in month 0, 1, 2 through N, plus revenue retention, net revenue retention and lifetime-value and churn estimates per cohort. Optional segmentation by salesperson or country, best- and worst-cohort detection and a pivot drill-down turn raw account.move data into actionable retention insight. Subscription, eCommerce, SaaS and growth teams get the cohort analytics they need without their data ever leaving Odoo.
Key Features
Automatic Acquisition Cohorts
action_compute reads every posted out_invoice (optionally net of out_refund), takes each commercial partner's earliest invoice month as their cohort, and tracks their activity forward — building monthly acquisition cohorts straight from account.move with no manual tagging.
Customer Retention Matrix
_write_cells produces gb.cohort.cell rows giving, for every cohort and period_index 0..N, the active_customers and a retention_pct against the cohort's base size. retention_curve returns the ordered curve per cohort or averaged across all cohorts.
Revenue Retention and NRR
Each cell stores net revenue, so revenue_retention_curve shows recurring revenue retained per cohort over time and net_revenue_retention computes NRR as the last period's revenue over period 0 — surfacing expansion or contraction, not just headcount.
LTV and Churn Estimates
_compute_summary derives avg_ltv (total revenue over cohort customers) and an overall_churn_rate from the weighted period-over-period retention drop. projected_ltv turns ARPU and churn into a forward LTV estimate for planning acquisition spend.
Optional Segmentation
segment_by slices cohorts by salesperson or customer country (taken from each customer's first invoice), and segment_breakdown aggregates origin customers and revenue per segment — so retention can be compared across teams or markets in one analysis.
Stored Snapshots with Pivot Drill-Down
Heavy aggregation runs once into stored gb.cohort.cell records (with computed cohort_label, churned and revenue_per_customer), and action_open_cells opens a pivot/list grouped by cohort plus heatmap_data for rendering — keeping the matrix fast and explorable.
Best/Worst Cohort and Thresholds
best_cohort and worst_cohort surface the months with the highest and lowest period-1 retention, while a min-revenue threshold filters out trivial invoices, so you focus analysis on meaningful customers and your strongest and weakest intakes.
One-Click Build Wizard
The gb.cohort.build.wizard sets a look-back window and periods to track, then creates and computes the analysis in a single step via _create_from_wizard — going from zero to a populated retention matrix without touching configuration.
Use Cases
Screenshots
Cohort Analyses
Build Cohorts
Retention Matrix
Why Choose This Module
Turn your posted sales invoices into customer cohorts and retention curves without exporting to a spreadsheet. Built entirely on Community accounting data (account.move), it groups customers by their acquisition month and shows how each cohort retains — in customers, in revenue, and in estimated lifetime value.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: account
- Support: support@pokutsoft.com
Update date: 2026-07-02
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 676 |
| Technical Name |
gb_cohort_retention_analytics |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module