From 95d672d86967cafb79b25c81594e6022628f9d2a Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 1 Dec 2025 14:38:43 +0200 Subject: [PATCH 01/76] start article --- astro/src/content/blog/cohort-analysis.mdx | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 astro/src/content/blog/cohort-analysis.mdx diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx new file mode 100644 index 0000000000..4d4fc3cc7b --- /dev/null +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -0,0 +1,87 @@ +--- +publish_date: 2025-12-01 +title: "Analyzing why customers leave — cohort analysis in FusionAuth" +description: "" +authors: Person McPersonface +image: /img/blogs/header-example.svg +categories: Education +tags: user, analysis, retention +excerpt_separator: "{/* more */}" +--- + +import Aside from 'src/components/Aside.astro'; +import Breadcrumb from 'src/components/Breadcrumb.astro'; +import InlineField from 'src/components/InlineField.astro'; +import InlineUIElement from 'src/components/InlineUIElement.astro'; + +- [Summary](#summary) +- [⛔ The old verification system](#-the-old-verification-system) + - [The object model](#the-object-model) + - [The verification process](#the-verification-process) +- [✅ The new verification system](#-the-new-verification-system) + - [The object model](#the-object-model-1) + - [How to list effectively verified users](#how-to-list-effectively-verified-users) + - [The verification process](#the-verification-process-1) + - [Changes to the API](#changes-to-the-api) + +## Introduction + +Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FA track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FA login stats to work from lets you know who to analyze. + +## Some useful customer statistics + +data available: customer identifier, registration date, series of login dates + +stats per customer: date registered, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) + +groups: for each stat you can create groups to get an idea of numbers of each type of customer + +aggregate stats: customers per date, abandonment per date, acquisition by date + +stats granularity can be day, month, year + +look at how users used your app or support service before abandonment + + +## API queries for FA customer data + +### Creating mock data + +```sh +curl --silent \ + 'http://localhost:9011/api/user/search?queryString=*' \ + -H 'Authorization: 33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod' \ +| jq ' + .users[] + | . as $u + | $u.identities[] + | select(.primary == true) + | select( + .verified == true + or ( + .verifiedReason != "Implicit" + and .verifiedReason != "Pending" + and .verifiedReason != "Completed" + ) + ) + | { + userId: $u.id, + verified: .verified, + verifiedReason: .verifiedReason + } +' +``` + +### Getting customer stats + +## An customer statistics app with charts you can customize + + + +## todo + +fa + +https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis + +not sure how this can be done in fusionauth, as user behaviour and tracking is something you do in your app. all you can do with FA is get a report of when user's signed up (age cohort) and when they last logged in (indiciation of lost customers). so i guess the "app" dan wants is just pulling out user last log in rates over time. maybe i could use some mock data and some js charts. From fba1c05ed9f8d26798c56d7a3d7de3769642349b Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 2 Dec 2025 14:17:34 +0200 Subject: [PATCH 02/76] save --- astro/src/content/blog/cohort-analysis.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 4d4fc3cc7b..34f43c768e 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -32,7 +32,7 @@ Do you know how frequently your customers use your app? Do you know how many peo data available: customer identifier, registration date, series of login dates -stats per customer: date registered, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) +stats per customer: has verified, verification date, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) groups: for each stat you can create groups to get an idea of numbers of each type of customer From f834e79243e18be0d00a08f704e939a260920554 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Wed, 3 Dec 2025 12:08:35 +0200 Subject: [PATCH 03/76] save --- astro/src/content/blog/cohort-analysis.mdx | 123 +++++++++++++++++++-- 1 file changed, 114 insertions(+), 9 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 34f43c768e..f697acbe2b 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -14,15 +14,15 @@ import Breadcrumb from 'src/components/Breadcrumb.astro'; import InlineField from 'src/components/InlineField.astro'; import InlineUIElement from 'src/components/InlineUIElement.astro'; -- [Summary](#summary) -- [⛔ The old verification system](#-the-old-verification-system) - - [The object model](#the-object-model) - - [The verification process](#the-verification-process) -- [✅ The new verification system](#-the-new-verification-system) - - [The object model](#the-object-model-1) - - [How to list effectively verified users](#how-to-list-effectively-verified-users) - - [The verification process](#the-verification-process-1) - - [Changes to the API](#changes-to-the-api) +- [Introduction](#introduction) +- [Some useful customer statistics](#some-useful-customer-statistics) +- [API queries for FA customer data](#api-queries-for-fa-customer-data) + - [Creating mock data](#creating-mock-data) + - [Getting customer stats](#getting-customer-stats) +- [An customer statistics app with charts you can customize](#an-customer-statistics-app-with-charts-you-can-customize) +- [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) +- [todo](#todo) + ## Introduction @@ -76,7 +76,112 @@ curl --silent \ ## An customer statistics app with charts you can customize +## Appendix — How to create fake customer data in FA + +Create a file called `main.mjs` containing the code below. It will register 10 000 new users when run. + +```js +async function registerUsers(num) { + for (let i = 1; i <= num; i++) { + try { + const response = await fetch('http://fa:9011/api/user/registration', { + method: 'POST', + headers: { + Authorization: '33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + user: { email: `${i}@example.com`, password: 'password' }, + registration: { applicationId: 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e' } + }) + }); + if (!response.ok) { + const errorBody = await response.text(); + console.log(`httpError ${response.status} for user ${i}@example.com: ${errorBody}`); + return; + } + const result = await response.json(); + console.log(JSON.stringify(result)); + } catch (error) { + console.log(`networkError for user ${i}@example.com: ${(error).message}`); + } + console.log(''); + } +} + +await registerUsers(10000); +``` +Adjust the URL, authorization key, and application Id to match your FA instance. Then run the file with the command below. + +```sh +node main.mjs +``` + +If you don't have Node installed, or want to avoid running code directly on your computer, you can use Docker with the command below. (If you're running FA on your local machine, you need to put FA and the command on the same `--network`.) + +```sh +docker run --init -it --rm --name "app" -v ".:/app" -w "/app" node:25-alpine --network faNetwork sh -c "node 1createMockData.mjs"; +``` + +Once the users are created, you need randomize their registration dates and create thousand of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. + +Run the SQL below + +```sql +-- randomize registration dates. a day from 2015 to 2025 +UPDATE user_registrations SET insert_instant = + EXTRACT(EPOCH FROM ( + '2015-01-01'::DATE + (FLOOR(('2025-12-31'::DATE - '2015-01-01'::DATE) * random()))::INT + )::TIMESTAMP WITHOUT TIME ZONE)::BIGINT; + +-- set 5% of users to unverified +UPDATE identities +SET verified = CASE + WHEN random() < 0.05 THEN false + ELSE true +END +WHERE identities.is_primary = true; + +-- add login dates +WITH user_min_instant AS ( + SELECT + user_registrations.users_id, + MIN(user_registrations.insert_instant) AS minInstant + FROM + user_registrations + GROUP BY + user_registrations.users_id +), +users_with_series AS ( + SELECT + users.id AS usersId, + user_min_instant.minInstant, + generate_series(1, (10 + floor(random() * 4991))::INTEGER) AS seriesNum -- 10 to 5000 logins + FROM + users + JOIN + user_min_instant ON users.id = user_min_instant.users_id +) +INSERT INTO raw_logins (applications_id, instant, ip_address, identities_value, identities_type, users_id) +SELECT + 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e', + EXTRACT(EPOCH FROM + to_timestamp(users_with_series.minInstant) + ( + (EXTRACT(EPOCH FROM '2026-01-01 00:00:00Z'::timestamp) - users_with_series.minInstant) * random() + * INTERVAL '1 second') + )::BIGINT, + '127.0.0.1', + NULL, + NULL, + users_with_series.usersId +FROM + users_with_series; + +-- delete logins for unverified users +delete from raw_logins +where users_id in (select users_id from identities WHERE is_primary=true and verified=false) +``` ## todo From eff6fad241eb7c82785c0cca9195e8af09e2c873 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Wed, 3 Dec 2025 12:25:11 +0200 Subject: [PATCH 04/76] save --- astro/src/content/blog/cohort-analysis.mdx | 39 +++++----------------- 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index f697acbe2b..46c02a6403 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -17,7 +17,6 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [Some useful customer statistics](#some-useful-customer-statistics) - [API queries for FA customer data](#api-queries-for-fa-customer-data) - - [Creating mock data](#creating-mock-data) - [Getting customer stats](#getting-customer-stats) - [An customer statistics app with charts you can customize](#an-customer-statistics-app-with-charts-you-can-customize) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) @@ -45,32 +44,6 @@ look at how users used your app or support service before abandonment ## API queries for FA customer data -### Creating mock data - -```sh -curl --silent \ - 'http://localhost:9011/api/user/search?queryString=*' \ - -H 'Authorization: 33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod' \ -| jq ' - .users[] - | . as $u - | $u.identities[] - | select(.primary == true) - | select( - .verified == true - or ( - .verifiedReason != "Implicit" - and .verifiedReason != "Pending" - and .verifiedReason != "Completed" - ) - ) - | { - userId: $u.id, - verified: .verified, - verifiedReason: .verifiedReason - } -' -``` ### Getting customer stats @@ -78,6 +51,8 @@ curl --silent \ ## Appendix — How to create fake customer data in FA +To create an FA application with fake users and login data you need to run a JS and SQL script. + Create a file called `main.mjs` containing the code below. It will register 10 000 new users when run. ```js @@ -112,7 +87,7 @@ async function registerUsers(num) { await registerUsers(10000); ``` -Adjust the URL, authorization key, and application Id to match your FA instance. Then run the file with the command below. +Adjust the URL, authorization key, and application Id in the code above to match your FA instance. Then run the file with the command below. ```sh node main.mjs @@ -124,9 +99,9 @@ If you don't have Node installed, or want to avoid running code directly on your docker run --init -it --rm --name "app" -v ".:/app" -w "/app" node:25-alpine --network faNetwork sh -c "node 1createMockData.mjs"; ``` -Once the users are created, you need randomize their registration dates and create thousand of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. +Once the users are created, you need randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. -Run the SQL below +Run the SQL below. ```sql -- randomize registration dates. a day from 2015 to 2025 @@ -143,6 +118,10 @@ SET verified = CASE END WHERE identities.is_primary = true; +UPDATE identities +SET verified_reason = 5 +WHERE identities.is_primary = true; + -- add login dates WITH user_min_instant AS ( SELECT From 7dafcb99bfb33d417efc180ba046ea441d55a3fd Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Wed, 3 Dec 2025 13:10:47 +0200 Subject: [PATCH 05/76] save --- astro/src/content/blog/cohort-analysis.mdx | 43 ++++++++++++++++++---- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 46c02a6403..b037a7732b 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -16,9 +16,9 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [Some useful customer statistics](#some-useful-customer-statistics) -- [API queries for FA customer data](#api-queries-for-fa-customer-data) +- [Extract customer data](#extract-customer-data) - [Getting customer stats](#getting-customer-stats) -- [An customer statistics app with charts you can customize](#an-customer-statistics-app-with-charts-you-can-customize) +- [A customer statistics app with charts you can customize](#a-customer-statistics-app-with-charts-you-can-customize) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) - [todo](#todo) @@ -41,19 +41,48 @@ stats granularity can be day, month, year look at how users used your app or support service before abandonment +List of charts: +- Total number of users (split bar chart showing verified/unverified) per year and by month +- New users per year and month +- Number of users per age in years +- Number of logins per year and month +- Number of users that haven't logged in for 1, 2, 6, 12 months +- Number users that haven't logged in for 6 months by year +- Number of users that log in 1,10,>10 times per month -## API queries for FA customer data +## Extract customer data + +While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. + +The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database, or when few users are busy. + +You are going to run code to extract user and login data and save it in a JSON file with the structure below. + +```js +{ + email: string + isVerified: bool + registeredDate: date + loginDates: date[] // where [0] is oldest date +} +``` + +Create a file called `extract.mjs` and insert the code below. + +```js + +``` ### Getting customer stats -## An customer statistics app with charts you can customize +## A customer statistics app with charts you can customize ## Appendix — How to create fake customer data in FA To create an FA application with fake users and login data you need to run a JS and SQL script. -Create a file called `main.mjs` containing the code below. It will register 10 000 new users when run. +Create a file called `fake.mjs` containing the code below. It will register 10 000 new users when run. ```js async function registerUsers(num) { @@ -90,13 +119,13 @@ await registerUsers(10000); Adjust the URL, authorization key, and application Id in the code above to match your FA instance. Then run the file with the command below. ```sh -node main.mjs +node fake.mjs ``` If you don't have Node installed, or want to avoid running code directly on your computer, you can use Docker with the command below. (If you're running FA on your local machine, you need to put FA and the command on the same `--network`.) ```sh -docker run --init -it --rm --name "app" -v ".:/app" -w "/app" node:25-alpine --network faNetwork sh -c "node 1createMockData.mjs"; +docker run --init -it --rm --name "app" -v ".:/app" -w "/app" node:25-alpine --network faNetwork sh -c "node fake.mjs"; ``` Once the users are created, you need randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. From 12d8e73044f7f7956e6dbcbe0071c61f6d5a6529 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Wed, 3 Dec 2025 16:10:46 +0200 Subject: [PATCH 06/76] extraction done --- astro/src/content/blog/cohort-analysis.mdx | 99 +++++++++++++++++++--- 1 file changed, 88 insertions(+), 11 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index b037a7732b..6ca013ad14 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -17,8 +17,8 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [Some useful customer statistics](#some-useful-customer-statistics) - [Extract customer data](#extract-customer-data) - - [Getting customer stats](#getting-customer-stats) -- [A customer statistics app with charts you can customize](#a-customer-statistics-app-with-charts-you-can-customize) +- [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) +- [Summary](#summary) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) - [todo](#todo) @@ -56,27 +56,104 @@ While application databases, like FA, store data in a denormalized structure to The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database, or when few users are busy. -You are going to run code to extract user and login data and save it in a JSON file with the structure below. +Create a file called `extract.mjs` and insert the code below. Change the variables at the top to match your FA instance. ```js -{ - email: string - isVerified: bool - registeredDate: date - loginDates: date[] // where [0] is oldest date +import * as fs from 'fs/promises'; + +const applicationId = 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e'; +const apiKey = '33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod'; +const faUrl = 'http://fa:9011'; + +async function getFaData(url) { + try { + const response = await fetch(faUrl+url, { + method: 'GET', + headers: { + 'Authorization': apiKey, + 'Content-Type': 'application/json' + } + }); + if (!response.ok) { + console.error(`httpError! status: ${response.status}`); + return; + } + const result = await response.json(); + return result; + } + catch (error) { + console.error(error.message); + } } + +async function getUsersFromFaUsers(faUsers) { + const users = []; + for (let faUser of faUsers) { + const identity = faUser.identities.filter((i) => i.primary)[0]; + const registration = faUser.registrations.filter((r) => r.applicationId == applicationId)[0]; + if (!registration || !identity) continue; + const user = { + 'id': faUser.id, + 'email': faUser.email, + 'isVerified': identity.verified || ![`Completed`, `Implicit`, `Pending`].includes(identity.verifiedReason), + 'registeredDate': registration.insertInstant, + 'loginDates': [] + } + const logins = await getFaData('/api/system/login-record/search?userId='+user.id+'&startRow=0&numberOfResults=999999'); + logins.logins.map((l) => {user.loginDates.push(l.instant);}); + user.loginDates.sort(); + users.push(user); + console.log('Extracted user ' + user.email); + }; + return users; +} + +let faUsers = await getFaData("/api/user/search?queryString=*&numberOfResults=999999&startRow=0"); +faUsers = faUsers.users; +console.log('Got all users'); + +await fs.writeFile('faUsers.json', JSON.stringify(faUsers, null, 2)); +console.log('Wrote FA users to faUsers.json'); + +const users = await getUsersFromFaUsers(faUsers); +await fs.writeFile('users.json', JSON.stringify(users, null, 2)); +console.log('Wrote extracted users to users.json'); +``` + +Run the file with the command below. + +```sh +node extract.mjs ``` -Create a file called `extract.mjs` and insert the code below. +This command creates two files, `faUsers.json` containing the raw data from FA, and `users.json` containing the processed set of users with all login dates but all other fields removed. + +The `users.json` file has structure below. ```js +[{ + id: string + email: string + isVerified: bool + registeredDate: string // timestamp since 1970 + loginDates: string[] // where [0] is oldest date +}] +``` +## Calculate user statistics and display in charts + +Create a file called `app.mjs` and insert the code below. + +```js ``` +Run the code with the command below. -### Getting customer stats +```sh +node app.mjs +``` -## A customer statistics app with charts you can customize +## Summary ## Appendix — How to create fake customer data in FA From c0d8b8e4cff621ed45e120b1cfc7f3803cd2fe94 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Wed, 3 Dec 2025 16:54:21 +0200 Subject: [PATCH 07/76] starting charts --- astro/src/content/blog/cohort-analysis.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 6ca013ad14..35ed895578 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -150,6 +150,7 @@ Create a file called `app.mjs` and insert the code below. Run the code with the command below. ```sh +npm install express node app.mjs ``` @@ -202,7 +203,7 @@ node fake.mjs If you don't have Node installed, or want to avoid running code directly on your computer, you can use Docker with the command below. (If you're running FA on your local machine, you need to put FA and the command on the same `--network`.) ```sh -docker run --init -it --rm --name "app" -v ".:/app" -w "/app" node:25-alpine --network faNetwork sh -c "node fake.mjs"; +docker run --init -it --rm --name "app" -v ".:/app" -w "/app" --network faNetwork node:25-alpine sh -c "node fake.mjs"; ``` Once the users are created, you need randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. From 4494a0acd7936a5ec7212e466ae9f848f206ffd2 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Thu, 4 Dec 2025 11:49:04 +0200 Subject: [PATCH 08/76] save --- astro/src/content/blog/cohort-analysis.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 35ed895578..c841c613e5 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -142,7 +142,7 @@ The `users.json` file has structure below. ## Calculate user statistics and display in charts -Create a file called `app.mjs` and insert the code below. +Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. ```js ``` From 9a7cab3bca3a7f4ccd984c2af0f28668641352be Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Thu, 4 Dec 2025 16:14:17 +0200 Subject: [PATCH 09/76] add image --- .../img/blogs/cohort-analysis/faCharts.webp | Bin 0 -> 48038 bytes astro/src/content/blog/cohort-analysis.mdx | 18 +++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 astro/public/img/blogs/cohort-analysis/faCharts.webp diff --git a/astro/public/img/blogs/cohort-analysis/faCharts.webp b/astro/public/img/blogs/cohort-analysis/faCharts.webp new file mode 100644 index 0000000000000000000000000000000000000000..b5abd796f8620fee0f26f6be9dffbe64eb3374fb GIT binary patch literal 48038 zcmYJabzD^4_Xc`qhVBjl=}tu{i9t%~E-4A=25C4TND3(3LrF-NfCwWsil=v(SC6tepP^0F0ELY8z@xsDHqWg&lAY$bJ~GutDzw z9*lWUVc=4WtHGzr%4}?WfE)sVY5)RC20(BD6+bNCr~EnqVFAcu@WABe%F4=?7S|y3 z=W4-G&&|%DCFwDk_)bAe-!VG4V6*K!WdAzn#vaOwP4i*A>O>$Du0=a657XcN%QrFv z5fF1S;qPUy`}J#~M=ZUi+9|2uRf*R0h3~>Nil)9sLPnL)JW2;4&_@A>L7(Gr;)jon zgl(KJo_{@;9i4$m-mUtzrAeS?u8*&83pOR~^9MN`?KS6`zKW;3XwZ1#_+?mkVC5AA z3%~~c?}rLlh*xs6dfDFkNqo{y{P)jCg9}`KKh?`bv+RFLZeF58m;7w=`oS(?rX*$p zx->S(O?2gUJYjIHd#4EaD8w_o*6TP5@_qjSs`egQ`+zi=0L%CeHys_m9%gmP{J$Y& zIN3;RF*suXl-Z@{gc<1bn(cXXCGzf>7Xm4zQkS!x!2UAA-)SykPA||CkScSranNc+qEa%gnV_8$A==Wt_1;bE5)_bG`d@d76Yn z_v3c5@s<=fc-8RbZ5wp&>&9lz=wLC2mli6UQsr0Pi!$Ktdp-6HXwSD&dA)B&NlMCO zg~>D^m5?`{cCc(MBq2{3=VB+H)uqLmTnv`zehD3G(dvXQ*=wn;MsSzb!>A^qbW%_y zrVTxMXTCrsSz+pf+y4$0 z>*v6(%3=O{opL|Wn?T4yf%=yWi7uLhcS(6e&sW_JiTX2y3E|hE; z?`sO=7$sZ;Nk;Sx$b8ZpDAo{r4pNjMpdt&A?V!sM5EiZlq6x~m_ZR=3xNjr&jY(=5 z&e24O7w9)tVeUV}7BJWBTVwDdVxgzB6-i1IcR{ z?u;6bNi}x6WEt*meXhPhPHMw^ghKZ)syYi>9k~|PJyd{vzouaS0PWRQv!f4@Ix89iH$YpJgjip@tojwOM zA>s)djrrn%2DAVYbyS&xHjTaugPy$UdQujqW-f<6R#R)c;kSkq|GB-CwjPE7sSB`x zVz!$Oliuudvku))xK@K){X(<+S;{%K6vtd&$N;Y_ zlraw35_ho|ik}^#1av%7J!mMRh~W3hAqYxid_-|3PAn`~X~}7(Ce$0)^Xfl>}Ve`A^ zH6Mj*vX)xB3Tzj`kcYf1mzm1wvC%MF-;2M^N2E`aPExwSI$4LE)B=*6R<3xHO0bicMcYuhr-%@dUxd*;02dIvO8M`a>Kgd z?%pdBlk(^!>azmdk3K%fZRgSXGm%TTkL*VDt){AccJh{NxE4~_UyS+^fy=`#QL?xQ zn>HemyzfFCS@M)Zp5$=d+3-k50c4sY@L$i9z=tGp8dMN<>_&;1zwSt+pY)J8$@N%#^zzVAFvGNp?(bw991Htw>!av{IFrZ>bcNkCahXTO_< zs^GW&AP{TF|C9Ub34Z_%OGb>9;1eFKt;X4Y!?X9;EaI`Ygqy$#1KVYuIVf;epB7>Z zA^OkdmCT=3;tMTg&L)5R(UmbA-Q|dO_gfWzbRIk0RX@{Nz8A`a`u1h&8Xugxh3m@w zC>wPt4jZ^Ns=n;w3Te?Qa9j|dLUXr

gv;3!!Zc(RcSR<3jI<7{c7OZuaLkdjY9y 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 Vq=nSGG2|pdn(jZi&2Pbo{|6Z1+#>)0 literal 0 HcmV?d00001 diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index c841c613e5..d1e2624a20 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -29,6 +29,10 @@ Do you know how frequently your customers use your app? Do you know how many peo ## Some useful customer statistics +FA has a few built-in charts with views of total logins and registrations. But if you want a deeper analysis, you need to extract your customer data and calculate your own statistics. + +![Existing FA charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) + data available: customer identifier, registration date, series of login dates stats per customer: has verified, verification date, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) @@ -131,13 +135,13 @@ This command creates two files, `faUsers.json` containing the raw data from FA, The `users.json` file has structure below. ```js -[{ - id: string - email: string - isVerified: bool - registeredDate: string // timestamp since 1970 - loginDates: string[] // where [0] is oldest date -}] + [{ + id: string + email: string + isVerified: bool + registeredDate: string // timestamp since 1970 + loginDates: string[] // where [0] is oldest date + }] ``` ## Calculate user statistics and display in charts From 731144c74e1a6f4543397bb46b4cd2f67ccd5fed Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Fri, 5 Dec 2025 11:44:23 +0200 Subject: [PATCH 10/76] save --- astro/src/content/blog/cohort-analysis.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index d1e2624a20..175f40d048 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -46,8 +46,8 @@ stats granularity can be day, month, year look at how users used your app or support service before abandonment List of charts: -- Total number of users (split bar chart showing verified/unverified) per year and by month -- New users per year and month +- Total number of users (split bar chart showing verified/unverified) per year and month +- User acquisition per year and month - Number of users per age in years - Number of logins per year and month - Number of users that haven't logged in for 1, 2, 6, 12 months From bf670061bc68a9d1ea87e37c70d73d58f23156db Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Fri, 5 Dec 2025 12:13:30 +0200 Subject: [PATCH 11/76] save --- astro/src/content/blog/cohort-analysis.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 175f40d048..53e742bad1 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -47,13 +47,16 @@ look at how users used your app or support service before abandonment List of charts: - Total number of users (split bar chart showing verified/unverified) per year and month -- User acquisition per year and month -- Number of users per age in years +- User acquisition per year and month (sales performance) +- Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month - Number of users that haven't logged in for 1, 2, 6, 12 months - Number users that haven't logged in for 6 months by year - Number of users that log in 1,10,>10 times per month +- Active users grouped by age and year of reqistration +- Returning users by month (users who haven't logged in in the last 6 months who returned in a specific month (new feature, competitor change, or advertising) + ## Extract customer data While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. From b55def15e136c17a4496a230749af173b9fbe346 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Fri, 5 Dec 2025 15:20:19 +0200 Subject: [PATCH 12/76] save --- astro/src/content/blog/cohort-analysis.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 53e742bad1..d491612d85 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -50,7 +50,7 @@ List of charts: - User acquisition per year and month (sales performance) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month -- Number of users that haven't logged in for 1, 2, 6, 12 months +- Number of users that haven't logged in for 1, 2, 6, 12 months <-- TODO START THIS - Number users that haven't logged in for 6 months by year - Number of users that log in 1,10,>10 times per month @@ -278,6 +278,8 @@ where users_id in (select users_id from identities WHERE is_primary=true and ver ## todo +use 10 000 users +copy in correct sql date creation code into article. fa https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis From 9b39af08e648e2331f213e7c1033a39c7a7cec53 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 8 Dec 2025 13:55:23 +0200 Subject: [PATCH 13/76] save --- astro/src/content/blog/cohort-analysis.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index d491612d85..6060d2d31e 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -50,7 +50,7 @@ List of charts: - User acquisition per year and month (sales performance) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month -- Number of users that haven't logged in for 1, 2, 6, 12 months <-- TODO START THIS +- Number of users that haven't logged in for 1, 2, 6, 12 months <-- TODO START THIS. logic done. chart to add - Number users that haven't logged in for 6 months by year - Number of users that log in 1,10,>10 times per month From e0a30d5c1c62ac3042c203ab59f2ae325dde3a05 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 9 Dec 2025 11:51:34 +0200 Subject: [PATCH 14/76] save work so far --- astro/src/content/blog/cohort-analysis.mdx | 356 ++++++++++++++++++++- 1 file changed, 345 insertions(+), 11 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 6060d2d31e..2462774fa5 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -50,8 +50,8 @@ List of charts: - User acquisition per year and month (sales performance) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month -- Number of users that haven't logged in for 1, 2, 6, 12 months <-- TODO START THIS. logic done. chart to add -- Number users that haven't logged in for 6 months by year +- Number of users that haven't logged in for 1, 2, 6, 12 months +- Number users that haven't logged in for 6 months by year <-- TODO START THIS - Number of users that log in 1,10,>10 times per month - Active users grouped by age and year of reqistration @@ -152,6 +152,341 @@ The `users.json` file has structure below. Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. ```js +// clear; docker run --init -it --rm --name "app" -v ".:/app" -w "/app" -p 7777:7777 node:25-alpine sh -c "node --watch 4app.mjs"; + +import express from 'express'; +import * as fs from 'fs/promises'; + +const users = await getUsersFromFile(); +const app = express(); +app.get('/', async (request, response) => { + const page = await getPage(users); + response.send(page); +}); +app.listen(7777, '0.0.0.0', () => { console.log(`Express server listening at http://0.0.0.0:7777`); }); + +async function getUsersFromFile() { + const fileContent = await fs.readFile('users.json', { encoding: 'utf8' }); + const users = JSON.parse(fileContent); + for (let u of users) { // charts work with dates, not timestamp strings + u.registeredDate = new Date(Number(u.registeredDate) * 1000); + for (let i = 0; i < u.loginDates.length; i++) { + if (u.loginDates[i] > 30000000000) { // check for errors + log(" "); + log(u.id); + log(u.email); + log(u.loginDates[i]); + log(new Date(Number(u.loginDates[i]) * 1000)); + } + u.loginDates[i] = new Date(Number(u.loginDates[i]) * 1000); + } + } + // printMemoryUse(users); + return users; +} + +async function getPage(users) { + const chartData = getChartData(users); + const html = await fs.readFile(`5page.html`, { encoding: 'utf8' }); + return html.replace('{{CHARTDATA}}', JSON.stringify(chartData)); +} + +function getChartData(users) { + const result = { + 'totalUsersPerYearChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, + 'totalUsersPerMonthChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, + 'newUsersPerYearChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, + 'newUsersPerMonthChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, + 'userAgeChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, + 'loginsPerYearChart' : { 'labels': [], 'data': [] }, + 'loginsPerMonthChart' : { 'labels': [], 'data': [] }, + 'abandonmentPerMonthChart' : { 'labels': [1, 2, 6, 12], 'data': [0,0,0,0] }, + } + const thisYear = new Date().getFullYear(); + const now = new Date(); + let minYear = thisYear; + let maxYear = 0; + let minMonth = 12; + let yearContainingMinMonth = thisYear; + log("Start user loop"); + users.forEach(user => { + const yearRegistered = user.registeredDate.getFullYear(); + const monthRegistered = user.registeredDate.getMonth(); + if (yearRegistered < minYear) minYear = yearRegistered; + if (yearRegistered > maxYear) maxYear = yearRegistered; + if (yearRegistered < yearContainingMinMonth || (yearRegistered == yearContainingMinMonth && monthRegistered < minMonth)) { + yearContainingMinMonth = yearRegistered; + minMonth = monthRegistered; + } + let mostRecentLoginDate = new Date('1800-01-01'); + user.loginDates.forEach(loginDate => { + if (loginDate.getFullYear() > maxYear) maxYear = loginDate.getFullYear(); + if (loginDate > mostRecentLoginDate) mostRecentLoginDate = loginDate; + }); + addUserToAbandonmentPerMonthChart(now, mostRecentLoginDate, result.abandonmentPerMonthChart); + const age = thisYear - yearRegistered; + if (!result.userAgeChart.verifiedData[age]) result.userAgeChart.verifiedData[age] = 0; + if (!result.userAgeChart.unverifiedData[age]) result.userAgeChart.unverifiedData[age] = 0; + if (user.isVerified) result.userAgeChart.verifiedData[age]++; + else result.userAgeChart.unverifiedData[age]++; + }); + log("End user loop"); + for (let age = 0; age <= thisYear - minYear; age++) { + result.userAgeChart.labels.push(age.toString()); + result.userAgeChart.verifiedData[age] = result.userAgeChart.verifiedData[age] || 0; + result.userAgeChart.unverifiedData[age] = result.userAgeChart.unverifiedData[age] || 0; + result.userAgeChart.verifiedData = result.userAgeChart.verifiedData.slice(0, thisYear - minYear + 1); + result.userAgeChart.unverifiedData = result.userAgeChart.unverifiedData.slice(0, thisYear - minYear + 1); + } + let runningVerifiedCountYearly = 0; + let runningUnverifiedCountYearly = 0; + let runningVerifiedCountMonthly = 0; + let runningUnverifiedCountMonthly = 0; + log("Start year loop"); + for (let year = minYear; year <= maxYear; year++) { + result.totalUsersPerYearChart.labels.push(year.toString()); + result.newUsersPerYearChart.labels.push(year.toString()); + const newVerifiedThisYear = users.filter(user => user.registeredDate.getFullYear() === year && user.isVerified === true).length; + const newUnverifiedThisYear = users.filter(user => user.registeredDate.getFullYear() === year && user.isVerified === false).length; + result.newUsersPerYearChart.verifiedData.push(newVerifiedThisYear); + result.newUsersPerYearChart.unverifiedData.push(newUnverifiedThisYear); + runningVerifiedCountYearly += newVerifiedThisYear; + runningUnverifiedCountYearly += newUnverifiedThisYear; + result.totalUsersPerYearChart.verifiedData.push(runningVerifiedCountYearly); + result.totalUsersPerYearChart.unverifiedData.push(runningUnverifiedCountYearly); + const loginsThisYear = users.reduce((sum, user) => sum + user.loginDates.filter(loginDate => loginDate.getFullYear() === year).length, 0); + result.loginsPerYearChart.labels.push(year.toString()); + result.loginsPerYearChart.data.push(loginsThisYear); + for (let month = 0; month < 12; month++) { + if (year === minYear && month < minMonth) continue; + if (year === maxYear && month > new Date().getMonth()) break; + const newVerifiedThisMonth = users.filter(user => user.registeredDate.getFullYear() === year && user.registeredDate.getMonth() === month && user.isVerified === true).length; + const newUnverifiedThisMonth = users.filter(user => user.registeredDate.getFullYear() === year && user.registeredDate.getMonth() === month && user.isVerified === false).length; + runningVerifiedCountMonthly += newVerifiedThisMonth; + runningUnverifiedCountMonthly += newUnverifiedThisMonth; + result.totalUsersPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); + result.totalUsersPerMonthChart.verifiedData.push(runningVerifiedCountMonthly); + result.totalUsersPerMonthChart.unverifiedData.push(runningUnverifiedCountMonthly); + result.newUsersPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); + result.newUsersPerMonthChart.verifiedData.push(newVerifiedThisMonth); + result.newUsersPerMonthChart.unverifiedData.push(newUnverifiedThisMonth); + const loginsThisMonth = users.reduce((sum, user) => sum + user.loginDates.filter(loginDate => loginDate.getFullYear() === year && loginDate.getMonth() === month).length, 0); + result.loginsPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); + result.loginsPerMonthChart.data.push(loginsThisMonth); + } + } + log("End year loop"); + return result; +} + +function addUserToAbandonmentPerMonthChart(now, mostRecentLoginDate, abandonmentPerMonthChart) { + const diffTime = now.getTime() - mostRecentLoginDate.getTime(); + const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + if (diffDays >= 365) abandonmentPerMonthChart.data[3]++; + else if (diffDays >= 182) abandonmentPerMonthChart.data[2]++; + else if (diffDays >= 60) abandonmentPerMonthChart.data[1]++; + else if (diffDays >= 30) abandonmentPerMonthChart.data[0]++; +} + +function printMemoryUse(users) { + const jsonString = JSON.stringify(users); + const arraySizeInBytes = Buffer.byteLength(jsonString, 'utf8'); + const arraySizeInMiB = (arraySizeInBytes / (1024 * 1024)).toFixed(2); + console.log(`Users array is approximately ${arraySizeInBytes} bytes, or ${arraySizeInMiB} MiB.`); +} + +function log(msg) { + console.log(msg); +} +``` + +page.html + +```html + + + + + + User statistics + + + +

+
+
+
+
+
+
+
+ + + + ``` Run the code with the command below. @@ -224,7 +559,10 @@ UPDATE user_registrations SET insert_instant = '2015-01-01'::DATE + (FLOOR(('2025-12-31'::DATE - '2015-01-01'::DATE) * random()))::INT )::TIMESTAMP WITHOUT TIME ZONE)::BIGINT; --- set 5% of users to unverified +-- check dates if you want +-- SELECT * FROM user_registrations + +-- set 5% users to unverified UPDATE identities SET verified = CASE WHEN random() < 0.05 THEN false @@ -250,7 +588,7 @@ users_with_series AS ( SELECT users.id AS usersId, user_min_instant.minInstant, - generate_series(1, (10 + floor(random() * 4991))::INTEGER) AS seriesNum -- 10 to 5000 logins + generate_series(1, (1 + floor(random() * 4991))::INTEGER) AS seriesNum -- 10 to 5000 logins FROM users JOIN @@ -259,11 +597,9 @@ users_with_series AS ( INSERT INTO raw_logins (applications_id, instant, ip_address, identities_value, identities_type, users_id) SELECT 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e', - EXTRACT(EPOCH FROM - to_timestamp(users_with_series.minInstant) + ( - (EXTRACT(EPOCH FROM '2026-01-01 00:00:00Z'::timestamp) - users_with_series.minInstant) * random() - * INTERVAL '1 second') - )::BIGINT, + (users_with_series.minInstant + FLOOR( + (EXTRACT(EPOCH FROM '2026-01-01 00:00:00Z'::timestamp) - users_with_series.minInstant) * random() + ))::BIGINT, '127.0.0.1', NULL, NULL, @@ -283,5 +619,3 @@ copy in correct sql date creation code into article. fa https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis - -not sure how this can be done in fusionauth, as user behaviour and tracking is something you do in your app. all you can do with FA is get a report of when user's signed up (age cohort) and when they last logged in (indiciation of lost customers). so i guess the "app" dan wants is just pulling out user last log in rates over time. maybe i could use some mock data and some js charts. From b8d121293613b3582f480e64e53f341e303cc003 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 5 Jan 2026 14:38:26 +0200 Subject: [PATCH 15/76] save --- astro/src/content/blog/cohort-analysis.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 2462774fa5..49f278f84a 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -25,11 +25,11 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; ## Introduction -Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FA track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FA login stats to work from lets you know who to analyze. +Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FA to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FA login stats to work from lets you know who to analyze. ## Some useful customer statistics -FA has a few built-in charts with views of total logins and registrations. But if you want a deeper analysis, you need to extract your customer data and calculate your own statistics. +FA has a few built-in charts with views of total logins and registrations in the Reports section. But if you want a deeper analysis, you need to extract your customer data and calculate your own statistics. ![Existing FA charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) @@ -61,7 +61,7 @@ List of charts: While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. -The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database, or when few users are busy. +The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database using a separate FA instance. Create a file called `extract.mjs` and insert the code below. Change the variables at the top to match your FA instance. @@ -143,7 +143,7 @@ The `users.json` file has structure below. email: string isVerified: bool registeredDate: string // timestamp since 1970 - loginDates: string[] // where [0] is oldest date + loginDates: string[] // oldest dates first }] ``` @@ -152,7 +152,7 @@ The `users.json` file has structure below. Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. ```js -// clear; docker run --init -it --rm --name "app" -v ".:/app" -w "/app" -p 7777:7777 node:25-alpine sh -c "node --watch 4app.mjs"; +// clear; docker run --init -it --rm --name "app" -v ".:/app" -w "/app" -p 7777:7777 node:24.12.0-slim sh -c "node --watch 4app.mjs"; import express from 'express'; import * as fs from 'fs/promises'; @@ -545,7 +545,7 @@ node fake.mjs If you don't have Node installed, or want to avoid running code directly on your computer, you can use Docker with the command below. (If you're running FA on your local machine, you need to put FA and the command on the same `--network`.) ```sh -docker run --init -it --rm --name "app" -v ".:/app" -w "/app" --network faNetwork node:25-alpine sh -c "node fake.mjs"; +docker run --init -it --rm --name "app" -v ".:/app" -w "/app" --network faNetwork node:24.12.0-slim sh -c "node fake.mjs"; ``` Once the users are created, you need randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. From 625f8bcc9d4938d303f6cf8936af7bd5dee031c6 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 09:06:42 +0200 Subject: [PATCH 16/76] save --- astro/src/content/blog/cohort-analysis.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 49f278f84a..efa73a7aa2 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -50,13 +50,16 @@ List of charts: - User acquisition per year and month (sales performance) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month +- Percent logins per year and month - TODO - Number of users that haven't logged in for 1, 2, 6, 12 months -- Number users that haven't logged in for 6 months by year <-- TODO START THIS -- Number of users that log in 1,10,>10 times per month +- Number users that haven't logged in for 6 months by year +- Number of users that log in 0,<=4,>4 times per year in 2025 (cohort) - Active users grouped by age and year of reqistration - Returning users by month (users who haven't logged in in the last 6 months who returned in a specific month (new feature, competitor change, or advertising) +logins affected by how long token lasts, so you need to set your own values in the charts. + ## Extract customer data While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. From 74d7b64010f239a3ec1b34725c53fbe06f45f640 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 10:19:07 +0200 Subject: [PATCH 17/76] returning users chart done --- astro/src/content/blog/cohort-analysis.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index efa73a7aa2..28488ab294 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -47,15 +47,13 @@ look at how users used your app or support service before abandonment List of charts: - Total number of users (split bar chart showing verified/unverified) per year and month -- User acquisition per year and month (sales performance) +- User acquisition per year and month (sales performance. also cohort by age) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month - Percent logins per year and month - TODO - Number of users that haven't logged in for 1, 2, 6, 12 months - Number users that haven't logged in for 6 months by year - Number of users that log in 0,<=4,>4 times per year in 2025 (cohort) - -- Active users grouped by age and year of reqistration - Returning users by month (users who haven't logged in in the last 6 months who returned in a specific month (new feature, competitor change, or advertising) logins affected by how long token lasts, so you need to set your own values in the charts. From d4ba9665b92525fb0ed8ea4347a5daf84e839270 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 12:39:45 +0200 Subject: [PATCH 18/76] adding recommendations from llm --- astro/src/content/blog/cohort-analysis.mdx | 72 +++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 28488ab294..936ac22323 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -17,6 +17,18 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [Some useful customer statistics](#some-useful-customer-statistics) - [Extract customer data](#extract-customer-data) +- [From Gemini](#from-gemini) + - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) + - [The Three Core Components](#the-three-core-components) + - [Why It Matters](#why-it-matters) + - [Types of Cohorts](#types-of-cohorts) + - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) + - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) + - [2. Average Logins per Active User (LPAU)](#2-average-logins-per-active-user-lpau) + - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) + - [4. Churn Prediction (The "Slipped Away" Chart)](#4-churn-prediction-the-slipped-away-chart) + - [5. Login Frequency Distribution (Power User Curve)](#5-login-frequency-distribution-power-user-curve) + - [6. Dormant User Reactivation](#6-dormant-user-reactivation) - [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) - [Summary](#summary) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) @@ -50,7 +62,7 @@ List of charts: - User acquisition per year and month (sales performance. also cohort by age) - Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) - Number of logins per year and month -- Percent logins per year and month - TODO +- Percent logins per year and month - Number of users that haven't logged in for 1, 2, 6, 12 months - Number users that haven't logged in for 6 months by year - Number of users that log in 0,<=4,>4 times per year in 2025 (cohort) @@ -148,6 +160,64 @@ The `users.json` file has structure below. }] ``` +## From Gemini + +### Introduction to Cohort Analysis + +Cohort analysis is a behavioral analytics technique that breaks down users into related groups based on shared characteristics or experiences within a defined time span. Instead of looking at users as one monolithic unit, you analyze them through a "lifecycle" lens to see how behavior changes over time. + +#### The Three Core Components + +* **The Cohort:** A group of users who performed a specific action (usually signing up) within a specific timeframe (a day, week, or month). +* **The Metric:** The behavior you are measuring, such as logins, purchases, or feature usage. +* **The Time Horizon:** The period over which you track that metric (Day 0, Day 1, Week 4, etc.). + +#### Why It Matters +Cohort analysis is primarily used to distinguish between **growth** and **retention**. A product might have 10,000 active users, which looks healthy. However, cohort analysis might reveal that 9,000 of those users signed up this month, while only 5% of users from six months ago ever returned. This indicates a "leaky bucket" problem where you are successfully acquiring users but failing to keep them. + +#### Types of Cohorts +1. **Acquisition Cohorts:** Groups defined by *when* they joined. This is the most common type and helps identify if newer versions of your product are better at retaining users than older versions. +2. **Behavioral Cohorts:** Groups defined by *what they did*. For example, you might compare a cohort of users who uploaded a profile picture in their first hour versus a cohort that didn't. This helps identify the "Aha! moment" where users find value. + + + +--- + +### Recommended Charts for Product Owners + +Since your dataset is restricted to **registration dates** and **login dates**, you are essentially looking at "Pulse" and "Retention" metrics. Here are several charts that would provide deeper insights for a Product Owner: + +#### 1. Retention Heat Map (The "N-Day" Retention) +While your current charts show totals and percentages over time, a heat map shows the percentage of a specific registration cohort that returns in subsequent months. +* **X-Axis:** Months since registration (Month 0, Month 1, Month 2...). +* **Y-Axis:** The registration month (Jan 2025, Feb 2025...). +* **Value:** % of that cohort that logged in during that specific month. +* **PO Value:** Identifies exactly when users drop off. If Month 1 retention is dropping, the onboarding is the problem. If Month 6 retention is dropping, the long-term value proposition is the problem. + +#### 2. Average Logins per Active User (LPAU) +Your `percentLoginsPerMonthChart` shows the ratio of total logins to total users, but it can be skewed by a few hyper-active "power users." +* **Calculation:** Total logins in a month / Number of unique users who logged in at least once that month. +* **PO Value:** Measures "stickiness" or depth of engagement. It tells the PO if the product is becoming a daily habit or remains an occasional tool. + +#### 3. Time-to-First-Login (Friction Analysis) +* **Calculation:** `firstLoginDate` - `registrationDate`. +* **Visual:** A histogram showing how many users log in immediately, within 24 hours, or after a week. +* **PO Value:** High friction in registration often leads to a "ghost" user base where people register but never actually enter the app. + +#### 4. Churn Prediction (The "Slipped Away" Chart) +This is an evolution of your abandonment chart but focused on the *velocity* of loss. +* **Calculation:** Users who logged in during Month N-1 but did not log in during Month N. +* **PO Value:** This is a leading indicator. If the number of "Slipped Away" users is growing faster than new registrations, the product is in a state of contraction. + +#### 5. Login Frequency Distribution (Power User Curve) +* **X-Axis:** Number of days in a month a user logged in (1 to 31). +* **Y-Axis:** Count of users. +* **PO Value:** Also known as the "L30" chart. A "U-shaped" curve (high counts at 1 day and 30 days) indicates a healthy product with a dedicated core of power users. A "left-heavy" curve indicates a product used only for "one-off" tasks. + +#### 6. Dormant User Reactivation +* **Calculation:** Users who had no logins for > 60 days but logged in this month. +* **PO Value:** Measures the effectiveness of re-engagement efforts (like email campaigns) or seasonal relevance. + ## Calculate user statistics and display in charts Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. From 86de071d523097b5f35f3bbc20681840555d53ed Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 13:53:17 +0200 Subject: [PATCH 19/76] llm recommendations --- astro/src/content/blog/cohort-analysis.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 936ac22323..5aeae879eb 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -685,6 +685,7 @@ where users_id in (select users_id from identities WHERE is_primary=true and ver ## todo +unique user logins for all charts - not high frequency login users that clutter averages use 10 000 users copy in correct sql date creation code into article. fa From 1f05eebb8835fdeb5345115b25171da49d143189 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 15:03:14 +0200 Subject: [PATCH 20/76] add unique months --- astro/src/content/blog/cohort-analysis.mdx | 368 +-------------------- 1 file changed, 1 insertion(+), 367 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 5aeae879eb..7cf1bde60a 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -81,63 +81,6 @@ Create a file called `extract.mjs` and insert the code below. Change the variabl ```js import * as fs from 'fs/promises'; -const applicationId = 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e'; -const apiKey = '33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod'; -const faUrl = 'http://fa:9011'; - -async function getFaData(url) { - try { - const response = await fetch(faUrl+url, { - method: 'GET', - headers: { - 'Authorization': apiKey, - 'Content-Type': 'application/json' - } - }); - if (!response.ok) { - console.error(`httpError! status: ${response.status}`); - return; - } - const result = await response.json(); - return result; - } - catch (error) { - console.error(error.message); - } -} - -async function getUsersFromFaUsers(faUsers) { - const users = []; - for (let faUser of faUsers) { - const identity = faUser.identities.filter((i) => i.primary)[0]; - const registration = faUser.registrations.filter((r) => r.applicationId == applicationId)[0]; - if (!registration || !identity) continue; - const user = { - 'id': faUser.id, - 'email': faUser.email, - 'isVerified': identity.verified || ![`Completed`, `Implicit`, `Pending`].includes(identity.verifiedReason), - 'registeredDate': registration.insertInstant, - 'loginDates': [] - } - const logins = await getFaData('/api/system/login-record/search?userId='+user.id+'&startRow=0&numberOfResults=999999'); - logins.logins.map((l) => {user.loginDates.push(l.instant);}); - user.loginDates.sort(); - users.push(user); - console.log('Extracted user ' + user.email); - }; - return users; -} - -let faUsers = await getFaData("/api/user/search?queryString=*&numberOfResults=999999&startRow=0"); -faUsers = faUsers.users; -console.log('Got all users'); - -await fs.writeFile('faUsers.json', JSON.stringify(faUsers, null, 2)); -console.log('Wrote FA users to faUsers.json'); - -const users = await getUsersFromFaUsers(faUsers); -await fs.writeFile('users.json', JSON.stringify(users, null, 2)); -console.log('Wrote extracted users to users.json'); ``` Run the file with the command below. @@ -228,147 +171,6 @@ Create a file called `app.mjs` in the same directory as the `users.json` file yo import express from 'express'; import * as fs from 'fs/promises'; -const users = await getUsersFromFile(); -const app = express(); -app.get('/', async (request, response) => { - const page = await getPage(users); - response.send(page); -}); -app.listen(7777, '0.0.0.0', () => { console.log(`Express server listening at http://0.0.0.0:7777`); }); - -async function getUsersFromFile() { - const fileContent = await fs.readFile('users.json', { encoding: 'utf8' }); - const users = JSON.parse(fileContent); - for (let u of users) { // charts work with dates, not timestamp strings - u.registeredDate = new Date(Number(u.registeredDate) * 1000); - for (let i = 0; i < u.loginDates.length; i++) { - if (u.loginDates[i] > 30000000000) { // check for errors - log(" "); - log(u.id); - log(u.email); - log(u.loginDates[i]); - log(new Date(Number(u.loginDates[i]) * 1000)); - } - u.loginDates[i] = new Date(Number(u.loginDates[i]) * 1000); - } - } - // printMemoryUse(users); - return users; -} - -async function getPage(users) { - const chartData = getChartData(users); - const html = await fs.readFile(`5page.html`, { encoding: 'utf8' }); - return html.replace('{{CHARTDATA}}', JSON.stringify(chartData)); -} - -function getChartData(users) { - const result = { - 'totalUsersPerYearChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, - 'totalUsersPerMonthChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, - 'newUsersPerYearChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, - 'newUsersPerMonthChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, - 'userAgeChart' : { 'labels': [], 'verifiedData': [], 'unverifiedData': [] }, - 'loginsPerYearChart' : { 'labels': [], 'data': [] }, - 'loginsPerMonthChart' : { 'labels': [], 'data': [] }, - 'abandonmentPerMonthChart' : { 'labels': [1, 2, 6, 12], 'data': [0,0,0,0] }, - } - const thisYear = new Date().getFullYear(); - const now = new Date(); - let minYear = thisYear; - let maxYear = 0; - let minMonth = 12; - let yearContainingMinMonth = thisYear; - log("Start user loop"); - users.forEach(user => { - const yearRegistered = user.registeredDate.getFullYear(); - const monthRegistered = user.registeredDate.getMonth(); - if (yearRegistered < minYear) minYear = yearRegistered; - if (yearRegistered > maxYear) maxYear = yearRegistered; - if (yearRegistered < yearContainingMinMonth || (yearRegistered == yearContainingMinMonth && monthRegistered < minMonth)) { - yearContainingMinMonth = yearRegistered; - minMonth = monthRegistered; - } - let mostRecentLoginDate = new Date('1800-01-01'); - user.loginDates.forEach(loginDate => { - if (loginDate.getFullYear() > maxYear) maxYear = loginDate.getFullYear(); - if (loginDate > mostRecentLoginDate) mostRecentLoginDate = loginDate; - }); - addUserToAbandonmentPerMonthChart(now, mostRecentLoginDate, result.abandonmentPerMonthChart); - const age = thisYear - yearRegistered; - if (!result.userAgeChart.verifiedData[age]) result.userAgeChart.verifiedData[age] = 0; - if (!result.userAgeChart.unverifiedData[age]) result.userAgeChart.unverifiedData[age] = 0; - if (user.isVerified) result.userAgeChart.verifiedData[age]++; - else result.userAgeChart.unverifiedData[age]++; - }); - log("End user loop"); - for (let age = 0; age <= thisYear - minYear; age++) { - result.userAgeChart.labels.push(age.toString()); - result.userAgeChart.verifiedData[age] = result.userAgeChart.verifiedData[age] || 0; - result.userAgeChart.unverifiedData[age] = result.userAgeChart.unverifiedData[age] || 0; - result.userAgeChart.verifiedData = result.userAgeChart.verifiedData.slice(0, thisYear - minYear + 1); - result.userAgeChart.unverifiedData = result.userAgeChart.unverifiedData.slice(0, thisYear - minYear + 1); - } - let runningVerifiedCountYearly = 0; - let runningUnverifiedCountYearly = 0; - let runningVerifiedCountMonthly = 0; - let runningUnverifiedCountMonthly = 0; - log("Start year loop"); - for (let year = minYear; year <= maxYear; year++) { - result.totalUsersPerYearChart.labels.push(year.toString()); - result.newUsersPerYearChart.labels.push(year.toString()); - const newVerifiedThisYear = users.filter(user => user.registeredDate.getFullYear() === year && user.isVerified === true).length; - const newUnverifiedThisYear = users.filter(user => user.registeredDate.getFullYear() === year && user.isVerified === false).length; - result.newUsersPerYearChart.verifiedData.push(newVerifiedThisYear); - result.newUsersPerYearChart.unverifiedData.push(newUnverifiedThisYear); - runningVerifiedCountYearly += newVerifiedThisYear; - runningUnverifiedCountYearly += newUnverifiedThisYear; - result.totalUsersPerYearChart.verifiedData.push(runningVerifiedCountYearly); - result.totalUsersPerYearChart.unverifiedData.push(runningUnverifiedCountYearly); - const loginsThisYear = users.reduce((sum, user) => sum + user.loginDates.filter(loginDate => loginDate.getFullYear() === year).length, 0); - result.loginsPerYearChart.labels.push(year.toString()); - result.loginsPerYearChart.data.push(loginsThisYear); - for (let month = 0; month < 12; month++) { - if (year === minYear && month < minMonth) continue; - if (year === maxYear && month > new Date().getMonth()) break; - const newVerifiedThisMonth = users.filter(user => user.registeredDate.getFullYear() === year && user.registeredDate.getMonth() === month && user.isVerified === true).length; - const newUnverifiedThisMonth = users.filter(user => user.registeredDate.getFullYear() === year && user.registeredDate.getMonth() === month && user.isVerified === false).length; - runningVerifiedCountMonthly += newVerifiedThisMonth; - runningUnverifiedCountMonthly += newUnverifiedThisMonth; - result.totalUsersPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); - result.totalUsersPerMonthChart.verifiedData.push(runningVerifiedCountMonthly); - result.totalUsersPerMonthChart.unverifiedData.push(runningUnverifiedCountMonthly); - result.newUsersPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); - result.newUsersPerMonthChart.verifiedData.push(newVerifiedThisMonth); - result.newUsersPerMonthChart.unverifiedData.push(newUnverifiedThisMonth); - const loginsThisMonth = users.reduce((sum, user) => sum + user.loginDates.filter(loginDate => loginDate.getFullYear() === year && loginDate.getMonth() === month).length, 0); - result.loginsPerMonthChart.labels.push(`${year}-${String(month + 1).padStart(2, '0')}`); - result.loginsPerMonthChart.data.push(loginsThisMonth); - } - } - log("End year loop"); - return result; -} - -function addUserToAbandonmentPerMonthChart(now, mostRecentLoginDate, abandonmentPerMonthChart) { - const diffTime = now.getTime() - mostRecentLoginDate.getTime(); - const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); - if (diffDays >= 365) abandonmentPerMonthChart.data[3]++; - else if (diffDays >= 182) abandonmentPerMonthChart.data[2]++; - else if (diffDays >= 60) abandonmentPerMonthChart.data[1]++; - else if (diffDays >= 30) abandonmentPerMonthChart.data[0]++; -} - -function printMemoryUse(users) { - const jsonString = JSON.stringify(users); - const arraySizeInBytes = Buffer.byteLength(jsonString, 'utf8'); - const arraySizeInMiB = (arraySizeInBytes / (1024 * 1024)).toFixed(2); - console.log(`Users array is approximately ${arraySizeInBytes} bytes, or ${arraySizeInMiB} MiB.`); -} - -function log(msg) { - console.log(msg); -} ``` page.html @@ -389,175 +191,7 @@ page.html
-
-
-
-
-
- - - - + ``` Run the code with the command below. From 7b05d1ef18caa7f0a726bc7ba3ec704ba1ff5f88 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 6 Jan 2026 15:32:53 +0200 Subject: [PATCH 21/76] login frequency done --- astro/src/content/blog/cohort-analysis.mdx | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 7cf1bde60a..03a03f7186 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -24,11 +24,9 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Types of Cohorts](#types-of-cohorts) - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) - - [2. Average Logins per Active User (LPAU)](#2-average-logins-per-active-user-lpau) - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) - - [4. Churn Prediction (The "Slipped Away" Chart)](#4-churn-prediction-the-slipped-away-chart) + - [4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do](#4-churn-prediction-the-slipped-away-chart---no--just-mention-dont-do) - [5. Login Frequency Distribution (Power User Curve)](#5-login-frequency-distribution-power-user-curve) - - [6. Dormant User Reactivation](#6-dormant-user-reactivation) - [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) - [Summary](#summary) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) @@ -137,17 +135,13 @@ While your current charts show totals and percentages over time, a heat map show * **Value:** % of that cohort that logged in during that specific month. * **PO Value:** Identifies exactly when users drop off. If Month 1 retention is dropping, the onboarding is the problem. If Month 6 retention is dropping, the long-term value proposition is the problem. -#### 2. Average Logins per Active User (LPAU) -Your `percentLoginsPerMonthChart` shows the ratio of total logins to total users, but it can be skewed by a few hyper-active "power users." -* **Calculation:** Total logins in a month / Number of unique users who logged in at least once that month. -* **PO Value:** Measures "stickiness" or depth of engagement. It tells the PO if the product is becoming a daily habit or remains an occasional tool. #### 3. Time-to-First-Login (Friction Analysis) * **Calculation:** `firstLoginDate` - `registrationDate`. * **Visual:** A histogram showing how many users log in immediately, within 24 hours, or after a week. * **PO Value:** High friction in registration often leads to a "ghost" user base where people register but never actually enter the app. -#### 4. Churn Prediction (The "Slipped Away" Chart) +#### 4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do This is an evolution of your abandonment chart but focused on the *velocity* of loss. * **Calculation:** Users who logged in during Month N-1 but did not log in during Month N. * **PO Value:** This is a leading indicator. If the number of "Slipped Away" users is growing faster than new registrations, the product is in a state of contraction. @@ -157,9 +151,6 @@ This is an evolution of your abandonment chart but focused on the *velocity* of * **Y-Axis:** Count of users. * **PO Value:** Also known as the "L30" chart. A "U-shaped" curve (high counts at 1 day and 30 days) indicates a healthy product with a dedicated core of power users. A "left-heavy" curve indicates a product used only for "one-off" tasks. -#### 6. Dormant User Reactivation -* **Calculation:** Users who had no logins for > 60 days but logged in this month. -* **PO Value:** Measures the effectiveness of re-engagement efforts (like email campaigns) or seasonal relevance. ## Calculate user statistics and display in charts From dea4471d9ea997a2c4cb6a45b3581062c98aa620 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 11:20:16 +0200 Subject: [PATCH 22/76] add charts --- .../cohort-analysis/chart2025Logins.webp | Bin 0 -> 6180 bytes .../cohort-analysis/chartAbandonment.webp | Bin 0 -> 17256 bytes .../blogs/cohort-analysis/chartFriction.webp | Bin 0 -> 6988 bytes .../blogs/cohort-analysis/chartHeatmap.webp | Bin 0 -> 191124 bytes .../cohort-analysis/chartLoginFrequency.webp | Bin 0 -> 11076 bytes .../cohort-analysis/chartLoginsPerYear.webp | Bin 0 -> 34164 bytes .../blogs/cohort-analysis/chartNewUsers.webp | Bin 0 -> 37646 bytes .../chartPercentLoginsPerYear.webp | Bin 0 -> 34814 bytes .../cohort-analysis/chartReturningUsers.webp | Bin 0 -> 25446 bytes .../cohort-analysis/chartTotalLogins.webp | Bin 0 -> 42842 bytes .../cohort-analysis/chartTotalUsers.webp | Bin 0 -> 42842 bytes .../chartYearsSinceRegistered.webp | Bin 0 -> 7050 bytes astro/src/content/blog/cohort-analysis.mdx | 41 ++++++++++++++---- 13 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 astro/public/img/blogs/cohort-analysis/chart2025Logins.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartAbandonment.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartFriction.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartHeatmap.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartNewUsers.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartReturningUsers.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartTotalLogins.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp create mode 100644 astro/public/img/blogs/cohort-analysis/chartYearsSinceRegistered.webp diff --git a/astro/public/img/blogs/cohort-analysis/chart2025Logins.webp b/astro/public/img/blogs/cohort-analysis/chart2025Logins.webp new file mode 100644 index 0000000000000000000000000000000000000000..ed85d3c7b468836efbf78ba2bb391eeb2927c422 GIT binary patch literal 6180 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 YfwY81%O`vHCb}J2B%^-aGOy76ZxdDAT>t<8 literal 0 HcmV?d00001 diff --git a/astro/public/img/blogs/cohort-analysis/chartAbandonment.webp b/astro/public/img/blogs/cohort-analysis/chartAbandonment.webp new file mode 100644 index 0000000000000000000000000000000000000000..81ef21564eee73d9f306cbfd7f315d91e5599044 GIT binary patch literal 17256 zcmb`vXIN89_dYy39S9_Z5JC@CIs}kjwsaH~EQp92T0lh&s1!xr^xjcH5d)&)5f#v* zctqWF5Ja$|ax@enKB9tn6p!s61$<6@tC+n^L z^+Vt5|Exd8sIDfYRC@fv_pHcRdG$j5MDr3e!@b;Js>Q_*t|-aGT#|%CP>y2Kt8Y1r zrjJZyzqvM+z(jnuVL{oq593dtzpjs}+O@7HGdkG7E8{>!2lR{1x<$U&eBK>403a~j zM!m75NwQj#9K$U!j0D-C*e2&}OQ*r$D9C^; z_o2k8QMv_d^%T2(1~Ag{ELDKJ1QqgAk;Wjw_Ee0Ys+y?ft*C`1ZHHj-z}G{hHi`ox zJ1iR2qm0t7V3o!gm|B-@YDh~g8(PwuC8pGluXPDPTb^yzDeQwfE$)E#I%`40d90>$ zAi?Bp>aZgE=5)mjf%i6uZ&-w`*n_O39+jc%zuOEy_@nrk1wnMm;um*bg);ds`j2TQA zroQy^a5&@;5C+P6Dw?-Kel`6G4^y{H&=w`0tX@d|6NhIcUQez$-UO9ow z4-LWo@@TQC{KP3NU+a*j@3e$KivEqO{LK57Z($e5Q5pPcMgIfYsdEpJjKEOs71wsU zmjJ_w5b5rZWEs@$wj1NEv^KiysYZt6D)6A54xd{zrTi+sowi~|3NC!qwvAC&up6O9 z<=Ua9=Rm}p{H5ypGb*ru+%ZjuQ5hYB{A&h5lI|5c*ul~Dv_~%XX!E#%dXgS;OU(hq zQ`+!%JjZmB>g z3gDS@WWvruYjKYeDSQofUgrA|TBYRocOl{PdZ0br`w)2@i(pjTTR)VIZu-w7B8$6k z$hGHllEuZ*pg@(a@i@U9C;4yqT9r{!MGwDF$;JcCx^9q)6>1;5+PKVWfo@x~#Wu67 zucLto(Q1jNM(4QEd6{0%#n4U?zmTzca!8x8FPMbTO%FHGBUL8V*2Lw8_twgBR(6IH zR<_3VOpK~boA7bT6~{3=Jhf>}*_dvS6)cZ*=cUIc9+@Eagota9u-;_Mfcb?|?J=s0 zLkbdqGd&c@4Z-5po+Ne|nCvUeN{PETCC$%YNgmO?3D#dhg6(n^Z1lnMiDvSXw0@;| z;RTpwY^*LahUuL)cXK$AKsq;VFJQToLJ0>(`ye@9_Nl2+{mmXAd-MjV%I_ziOrJ*L zU%#~(DyyRRb+s-J|lhS?np!Ae0Udb1|n?kc2J#aF*r{txyH*oFH z-3+#v9dx=Pkuyj&B}?&-SSa+rm2=?G74%9y%p)&G%EBt4H0-A1(uVtoux?N|US(C3 z^77Oj60+K|r^e*ANk6IKsSXe>fc!W6sf%9bIuU z9Tz-w2)xNq#@#6wNpEU8ZX-%<1xJGXGqf_-M2;x&>0)*1}aNWap{54;;qEW_sEs7OW{D zRAb9ry)et+&D97tHZ{B)Q_TeVR5EK;I9M?!{G)`biFjXkD3sqtvL?xKf+0UGupL=| zD#{?dNlYxX(;RcjY06rlf;ewP?mNkR0j-LCK==T|5=$Srb)=@E&<$nl+<_#)9U@Gl z)*Z22>#T*0nWXD&Gfh`3-l1sZ3|yp0xRP-24oltscoTl-O(+4#2$uN5k(j<*x^?K_ ziGysv@RJzvJLwEK9<<8I2x1hVFOZ#!ImW*LN~a(~kN{M{CR{|y@D9{|Cr=uqiM)=7 zt^*nL!MsSUz0f5ZA{Rd>-F!+?V(IsX!B}Jl6Ax)4IZ9NL2{bPq|HBg0EWk;E_4*jv*~d zwQM6}c8Y~i<*qn6-1oxmd?*z@BHo5<1i^K@M9ybuqU1Zu;?n z=fSW!$IAbDWxg$-iFc0cwES#K993Ml7g*ZO3UZr6iR+jiN~jGm zdX0k!fm{;*<&osc z8Xs(S^;AA@LNGbfR5of_0ZbD*J|0NQ##2=p720{5PokmfG7asPF4!Jmd+euFX!&^D z!R;RpHyI>L)IOggZ+;71`Y8M_ZuRmn>(qQt)V!r2w$s%`7;}ki0a1`;EN^sELSW`uL?Y- zSYLvdZFdl=1zTriFvR6=>RhY_r_vMM&D)rDyi_K*%2-4?T@$DjIO*4`cCabf0&WV3 z@>p=t1YB(ow0Tp|wge1Iv}q3ufCuSx2u+Ijg%a=$`|z7!x$%?e()ZSRm%b%Dja%~U z{E{;FCq}a==echQFZT=XY*D2@Sd1Fp@zj))LCRPuA#WjrBju$!6-g!+imd7HGIbB}ivGWr_1Lbz)ssW=l(i zr9-t_c3g2XJ(8hLR_V5GHI3~d=#(sxdeKTFa2}4dDX0+HZC3`dI4{}PROCr_z7?B-C zBplxGivrmy&*t7BQ7E6}?evWj+{vN)uR>P3G-(_T%J#EzCL`~ia}D$FE|Em zdl8kkVCytLLf#{Q-_fOZ)UO%TJh9RNQz=0*kvyQ8yvkIJC_0P$O$py^&q3w8e8Ql8wH3^P1`;n?Dy3C&!C&jUp7NOGq6O*n&d+ z&T0bHP+QZZAEb-x{(Js!v1yyyIwce3Qy8)Wy3b_#Nu~y)mx|>)-0)nlE5sx_Jl0^G z+AUx!@;OG5HhHK z)Fp}yb&9PJMGdrG8D6d}VdaJAM$_CG`zEl}Rs>gt=fz;)*Fdi}8S6anMe+$QEUrSE zpN?i`f=8*7G_qbo3-m40!g~MBc%E>Bh{2>vyaO_J*Gr@+X+E}(3$nODX4iW#BsK`w z2ufxGmpl@@#V1(e-n$j|IcVIyiZKV6!Y*6GQ?BK^dZ5Th~ zdc!D^apUQ|0ciL5@7+DtcOAk4|AYC9j`zRbofb2I)orhcUajN)`Pizu8&H$RpQ zfye)J#;e+ax-_u0?Xspi}*bLRz?q z!0tajBl$nQ&d2l@$R$fmY=t?fbQ0(9%@39s{X9-nM>ox=cc|?Z#i-8(Bl$4SiXtB+ zif7e6;XcqZX?$LICOc?|%m&e0DfBcQWLW0kT3rHX>{9vPT5ZV>(1G(c|d(64s=E?WJj&(}D>%Dr7F>ZW*+~{2I z@aGfvUxg!2%!#E>@qd24LDI~%;R9%58soDh(& z?!%{&su`~d9^n%_IK zPR;xBEs3Ab``Na!MFlaloWgh2Q~^P&;RILuZsI*FO2E)ZEAvQo8um0iI!NfwOnJ@{zm zEpv+iQ}!;)3*(o@mR&w-=Y$uiEz49yucXm{kY5OaQ@=05c6f5N=7OdJw4a3U-02Lizc|&VvVUr$ONlDzUZXm>;_+nN-uctcnt5U zoV7Uq8d1;~=6%~KdfKuP>b)W_9>kTW`x`~k#dlK#YDSROgE%mLP4t07rWpkuMrY(D zcy~7Fym%LgU0fpu9)3graGbeYe5^u;(6{H~MnpNQfmnN^@Uka%aJl3|=*AQSu@@6O z+X+f;G{FxrugBfD0YBOOsguflvot5rRYA?~xg5btnU43cd2?5sb;vVRHw_xKI@855 zW}s>DZKnHhem69dyrS>4E?hRLZwoyLxgLtuEgN^f6L-uPU2jpB8>5RE43s=p=&HS@ zq4z`Cb45gPW04nO4LA`IDD$KN&#|>BX`+~8e;X0F>9ON`y?py`%7W9Qh8u=VHlO2_ zUG`ffdkRvz8F!=~{Fc0=sy;FLy;<=B`KD)(uhh0GTFZD(i0s(_C_>|KOl(Tt=``ns z!5)FMG_gRsOa{?BDA0cS4(6nmac%Y^I`E?ymk%$2FKd8BGgOeb&m7aK`I+fSz2Vd2 z;xbv%8Vcgb`;lLhNp=F00&)1EG{TA}A?}U}r;nF=!2AF7fp}p!zGDuu%;>g;=o6?d zsO~tn226C&w|R>Rd$DK}7PcyZT*xdZ|4m~oddPx5fI4ocg$9Od><`x410_3J54j5@3j#<-LD}4Pu>3-Tnq=lAH&{T(FLnFAS%3rS%^_^1FXpC zHBp-UWE!uFTUDus<^p;E%;j2j%s}V0xM@m2QwGncQj>R4cAPx=j+IH zYNt(;@jK;P{4DYpV^@M`&8WjMU0jAb@`|@lpb8XYPEN^NM`%M*$nVUi6+k(;FbsV8 zh|sxCY?WGhT@F(pgs9xcM8zfEkKl+SUO}>51}zekgyoosa*d+~cc|F%q3uZTEf1*0 z4`NNnGFYM3`ZM|ANMZ!=$(M}Hro_tPAAw4iBDMXc=7m)DtVN3w>8}9~XyDRqT14sZ zC4bglfsSx>$ly2R1Bia6Ey)Q|p8i;14qp~oyYS>Yg?3~qqXT+S6axKrWvK$%YBM&i zu?g8G7fC_Y$s9v|D&dmZ;a?GAh+PWUqBa8k{+Gt5--0L955+w4Fx>c79udaMVErvF zNUad7Rxir)>)3iHJk;`R$h6re5LI?Rq*hKspnaxucu523$Z>a7M(+8v#a@iyDp%3G zUA0x~a-UT7-`wWkH5PUU%sbIi--5P7Jm}h6rE^njd|4-uy3Zt*7TFcGaEePCf0T+h zijnVp0@Qh@5~M)_D~j7nz#3=f5TB5qE0>2UG8zU$S=+Jc=~reZ z8S3ClbL7(?{OYpyW}}luiK+znO+57}!21(|Drl1$L-&qzO<8oc%YYFy1b$KCKLak{bEBtyxzFWRL>JL-5Kv+Ks zR*|2pY4;??OFeJ3SE$BU;C>PYubfSF4Z=*}MHYz2PFd-{B2W!J-?K)&G&B~{F6huZ zSuedG{U&CPRf#f$W{yV?tZFoHv7-95=K5In0jqBqiidD*c0$^RTq+v)N`yPyQ<1Ui z!ErLYK-#W80w?9M5LopBP6`c{fJvOa$)c7nXB;QNWfDk<;=3AzM%v8)-*gH^U=jnCj7srJ){#V5OA3%0X~P*v z8*B5JawshlqF8!*f5x#y^?eGbLrmu!_Vu{wcIPQGWGb|gIP<&cSHl}8otw}CAE-t_ z=Q=caLm?9jUViWS+l5Joj1XwT4r<#4G?bN4l6O7m+p-G?O7sUuBoiTfCld8e^Py_U zE04<-hhzM2l0v1>-hKl&h%@>ffe~ICre+^r0$xHoo52FU4p#F*)=|wV6+KgrlK@^* z&>M6ePc^)vS$B9Nh~dvzzMLU&t~py|)Cl&VH>`*QZg`}3%no!O}??qMx`AHk?kiiT~E)g{xfV?`sL)r=^DFDe-&&_lkJ zxK)>}!LVuxkQ^=WvXPrtYoBdkg=3O+I=)Z&km?I}lZPMk7etP1ED<3W#0Wd5u_=u`=KG%G1p3RS>1-uF89hN}-}df;)IaLmyvNog zUBT*fq(#A60R+r1U^%bo3zDRyRxH1&(3!};AU=t+d_S?;bWfk3HF;Yt`i;en;T&8d#oV=U8{hJ+}0iHF)1lul1`aWfcMfa8(oL;X2DD5_Y4GEACpKo=-Mq_drD~;|k}{6iEt8R4 zMax!1bFO%~BMQ7ZObOHXqCMcG1}s@}JIzHVBSoAr)Mktv6R;0_3mKuLoQro-Q`TjxXB`6TRh<{n1#&;9$)f?p9+)DZz?mGQWN6bQWWigVA|^?Av=$Idvs=JA2~-dA06~Z)UlP_70ZY06 zMT`0#k%Xe7MWuA#Sv*`GX!Wc<`LZtRWG3sK?{*Q;0Fl~k77(hH^+=*ts;NhERr1K~ zUB58NtOOpk!pkqbQWc5CDuAOuz9JVIyW=lmA49DhFGF9f*i5F`CjqRJ|KgpCMmJ77pKTA9}j9ZE`|7KaDoJ;GUM=R zB+!9_!0@W%AmDIQGpsVPVpE5f3LFB+HAn#x=x z_(?<4SQQ;+=V}EKM3q8#;3tr^fCyUwjbj=iw&$@z_Qf5^+Re}`dYj3Cs_%_Hj*=2rJ2HYJUa6a!RFQi>K`Qg}y3nMQ?^^1X9b< zC&-FkHL!C;O6Rx&$5wjbDXV2-;)!DT(H#eZfIO6@sxyW|RNN(ZKeo!wl}1!`hH&U> z9dr#nk{P28tv9Mmc8c`?c3`VO#>vmi_8aE&2D(5$(<w(}p;$g4~EL)Kiiuf@`%K{nc0MTS zjdggg@5F?JlQg%lx4eP<(W&^GYm!Y8 z!3MW(hjt)B!qTQ<&P|J94i1aft=(nWTgY+BbOW$Crad-%+l;=FFmp8U^U;^_iO7i= z=(lY5-b1S}5vL|e8{ayJ5H53KpM3A3&z&P)7_Tt9V{c{Evcb;h(@eu;s56}FgBsyl z)kA2Z6KX2>1*fs^HbexfAe}x=p9T4-@6%Az#csf&j?Ra>E+An(l^oN>+S8D=7lFEw zQM5#S2z*DEEW}p~+}x}UI=AQyVQQXgUO1{r^KN!+J`(|VT_r<*MZxS&UMPIkxSY(N z)+)9m3eyS?fclIRpgz$H9Fpr&KV+E?Y%J^Ouy4LtNk-wX;78t{SLBdzt0D?;(srl zw-AtWA6Mm4?}^If)&C1qI6~Ro&MNNv*1|Mp{u4_W`By=Amm(3*y6zpJE+vH|=P%YC z`uhO|xpv_l6#e48;qx=h8&@hr6*-3*#J)(iOB#a*UyPpkdD)BuZJnBR(0twdYl`ER zxT9ZIRk~->Y^3?aO!}tcl^D)L?MZSFohrLK8R>PZWTqGE(xHK0P2$;+QVU!9gG0=+ z23nO7f;`gc4f$R2r9Enqm_aLyi`F_*uYx%wsy<`j<`$*V1&Mw)Jv4jx3_~X}sC37D z$L(t7FqV7AA-}jegylhHJEQu=tF7%|dRO%e@!g#irIWH6mZX!ZIje$(NPDN$|BgjH zd6@#nLOZ|rJQEn z`h=T4oCdD8F1_c_9KVD3y+C8Y-?sh>fe50z%I*$!*s0GJwf8^Xb7-r9_R$^xM1bEL ze_q@Da^e*2pXN027+1b18&g@C4Xabla)J!#v^KcPtAd1{OBu?_*ikK?tDuXdo7_$R zyAu0EMe*rPCq<|XsSgS_LtJI*4m`B#T>d`*nVaEk^t1iF0iPUbY@JW=ax+57dFQ2T z`kckX+mG_puO$8*>T?_&z*t{1bs%w`QmmujEdtZ(qXQ#9bvUPO?mvOQ^?MGS(JX2* zsT`^+b2dooh(HprjOH&h2n5k*9k=+@=f?gI(632VPXbx}AK~fi=cAQJ?ti%W3R6Qn zUp++mHIKdTL(FSgWW5uZKT*#(zSq9aDm_34Ufv>1^q)Z2?pB=&8Ava8QGuJamI&%# zuAFk|)mX)MCkYMaF@<@AtMBiYIbb1U%XFqH{b^dd5LYMhUAH2@;i5cRSvrtyd;u&n z2-T!kYGw3Tb;0H>UI&JlGZR^qv z#Q$Q>7W~%3prk80%CnO4zajv->tu$p2UiRKPg9Ks_N4{_6WNkSo=R(H>L~y9_0%~$ z;ooq);Vg&%|1J7O9LZ45R!jdY>I@%&3=U`9nlY7N{Tuh{IIV*1v8-%Yu_u%~uuj+#RI1}SV|KHT=Ug3(ja;4kNYjxn) zETxphr`WvbN7RpreMI~_Z`pAY&#p+7%#~=G?@9$*8eg)7y2G4 zwpomWtE>LFusedo!y5u$DBxStw_`uBN7mmW@DJqCKaZ)kQ~kf} z2v5IE9Q;xmV%kxB2J2^&ai2Dw*_(MJK)=OcJ#f%nEt+IeT;!B zaq?U0<_D+Wa5n6q2)|r!v7LbWE_*B}2=D??iS)uQqFrZW>$OuQ<7DXC)93NMJg}9! zATngA!vUE`EY}y+(!~%XjeJt8*KwvqiVK^nyHW>JyJf{7@Ljk9NC%#jmNW$g6`0yc z(T-<+j4MKb(}6OQBNGJr+*(BuJ6%N@vA_;k{GEF8Bg#+)?8zqQU2~KbL?7-s_Bl+> zb(MwD_kxf(<;@fQfyhTuHy_cuDEb8FiTr1acW@d5+w;shNBO>}tL(z}=E2BEn|mUC zZvJP;{=wClMn0+`ajK%=BM0?J6a?qtpq@_}9l1cXC>ct7?4;3n5H&IB4yI|N0~#)1 zdT&8+8b!3K&bi8asc0ifw5p;T$VZ6`pk7qlqQg^Sb_aK)hfbDAdYc?lx|5+rM$c*S zTWu(U|3w#?U!^3+fxnvj^LOb!P75&eM5%}}6*c~adHRpVvb=&@20=10V2%|vV)ZW6 zbPFj+jz7C04m7Y1n$pC~s$H{w5}`x{7UG18D6~|zOG%18j<=Wp|7Gh$5tphLJC+8< zM3B7uMo|oM$+f466qu)EixKH)fyk;wnu9v)T2!H)C87vVg?c`?<|_Xmo9rq{#nY|L z(ti%S&I8JdmSr7lZ>w*6Yx9$ZrEmGSTxI{V%`aXGqu@^ts9vP_wi=zQ8FAC#ds_Dw zyj}42#oHIr!LN%x4xgq>9;?+LmTXs)5)2w0{nWtz(Dga*6l1cFH)r^FoX5Az#Ek9z zMeHlqzfxk&1G8>NrsJ0{C(o=$u~{UO?P7@X^|an++OK;)tzJG^JHJuHrmwiR;pNG& zv2KTTh;kX+w`8R?^9^&%0W;uZ!M?xrcF(u?-GpeN^I-Xg|C|hKKhtac_$J=2`XDgb zo`LR1=JQCE%EmKmZSI$B|5%$yeDHyHaM{AKxDh!{nhE!Q$I2J0f*U^wWx5K4J+x3-s(SyRTWG+ZdW9v>z8m%#PZp>c=G<&J zw_&^L9^_kcSqTy+C0O)_ip|Tsja!~xV?X`sHbh6BZC^fo`NNypo^KjgFUs3C%e4D6 z=pLIB7!Ytb5)1?y91uj9oD-7wo&dIkLB4yhuexR4u74w3<#*hTHwVK;O5N{!1%F<4 zVdxrW!sOuMALImP%p0xRj%y376tnehTKx1-sl6v~VM%c->%gAR$G%Z|2_u=k;Qhq~ z(q)qEvPT0AWI1US0e?nZPrA_55N@2Hye;nOmz}>H-jw}plf`9A31Ruy!a9L{1 zw*2#zY~}mkvYXDXFNkg@1~?i8FYn877F{Pjx%U1|q`WQf!)5hXJw&7Z>)Xp0NnBNb zl})_->A=1X?NaC0-Jov@vupT0F6O#%u>12HZ|3e|IB}?Myr9jYVVB9XnTa={za^II z%Gf?2<+L6>GxO)@=g$GFACr4#@2O zaHBSNVZ?P5=$~dBjb<3pUl4F z|M;%U(ONQ-9SyE{(BvSpTy3FNyqhimK#pcTK@u6{*h@TGj78|P&Ht3DWF|4hcLiWM zUdYg_7ZDEbwaRH;D8ztGp&A)Ai?A$9zuQii?tohEah%DXq(2No^d*7B)wN!Fa!^&m zR?WKdBS41!;4C<`=RlEWfruLdE!f05y5^C)hG5URO3=64ts;3J0S#Aa8St=sVp1`8 z_R|^Pk&3Nx-^5)Q8J{4JjzaH3>XDXJz#$Z@ZLP<`(E<_G@td;NyH%-BNrX!mxn3-Y zGM~A4f9JUL-I^F(ct=bi1CA5>in=gTD-%kOwicwQegXswHktE#TKP`yg+l~Tw8q+# zCU4GD;uR9^#2wgcj(N*$cN>0`DmH(dV%`d7DrST!YR_{58*X|QcJdQOkT+K{G3ey# zWrZ#TNhMR?@|Kst6PJv6?K8*yMUqc=fCm?P+7EU3Vdc~v!8u666z)VC;egX4&5jj||yfZFY z+$Of1gv)M582_FhucVENOZLIDY;vg-&cPOgR2C~+50*9-xRU|{ntO2NF0hV3Wp^?- zRm0Iiie+%sZUokfRlu5mw{v@AcTjXchEuqN9Dop{zJ}*R>10`0M1XocPkYKvon=DZ zQ%@zbzJ4YMvBI|ti>TO=ciI?u8x=R3H6wIOWMK*8HRc?fiH7Syh?Jf@GItgS8{t#( zutYd8IsI1wco_*2eQ1;FT-JxO4lx^mq|)a(Hm;8e9lj}s>4dWNnc}SHIG-%03NkaT z_|yf62%57)1AfwCf?$~ezjV7W$r0)D#sKA2rig#* zBxpVMY;sm))}A;iHDv8}buda;glraZ#a;1p5C2((F>`3PFK>3zj|WpQu~t@XME0pu z$3D>Ff2jaboUO%hp12UTeQCE(nS+vr-|1i#Em(L@A6fVq)?JP*x!&$G24=HY^x*9! zHOMgYE<`>u(8Np(PoVHWnqwn~(^$r~m5UXTA&tQiU4x6wL@H$`@b9*u@s5jfv$4Bm zj_+T-@bh?ir$DZ?NHV81BJ!Ru4{sdN*#RDW9}QX_THREF=QyW7xM)B(P<}xi90o%Eo78(Fn;$URq?)d6c!=1+1g=^fc#@5`TnIZhR@8D$3CbF37o4 z%pB32Xbyo6E0EcgGGfb2u53K&b%{eT+58tWEb?k6*-=JuK_K-paRn{XSwvb?q(UBI$4pdpk+0vIuqNx8 z7xcJ`i)8su(`Nsm-U-5zKQtB;{GdA`XGzd*Fa(35 z*+K@AO?V8d4g>h%nQVedKzrmJ5`j9)k{|e*tc1s?pFRPhRew93gNVJJ>S=4jPdXy~ z&KEDxjlq<=Bx`dB;uc+pOo6#q5*X{%&)iPZ2~cQ4`~VcSU6c^Bp-l$SbXA@8!e}rWD6K zPwoYUe|)Y0^IP%`oHry-=0rJ)t3ww{e9Eu^Nw+z$oP^$=*pjWo!B1iG&(0C5LpC|c zv8i?nI=YYUf)UQKaw(io+oOZ|nYMNWPCdO45MjrzO|aR+bj;|K`WNWk-1`_rj_HqQ z&zCC}f0s~7H$@YLsO;lb#0J8#Ci5xwb{3)UL_W?6aF5KCSW>aVInFQgop;%%JaK|5 z6Lb2xG${H}QfkW{RuU-06YjQlG$t@%LPhdd)%JXdQ=gF+hh-!C3hyG^bJF@aYYh;O`O_tysAFQauTXZ9Jaa2*BP~LXmr-w&~s(uu3&KwE~>y^3~G`3TG zpMOzc58uiKq8~FU=B-%U&1N)1CUFJFz5DhE<_e6ctIpHo3YiBGPp0SdV~t{RXo%Y7 z3jP`>D7JW2^d!My@VUhm?>@Qtf+Q%4xw6!V{?2v2Snl1qRY$lQS?wJVCPz;J+OxBp zwA{RQvDy;g*pJe5gk13-Q$|PsA>1r|b^F)$am~7;xIaNjW2cXf&>p$r)4f7`EoLTz za1dT(i7ojydm%HYvY}Z8b^feCpZcV*xJDk(S_lX4sKTb+K{>5SCv+Zl+9d<+6FM)H zh@>C`ond=&GLI~j~C2%GbJ8`$St7H$TfayTQTaNaE}_A>*TsgedK9O2Bu-bgU}iV9jq*E%`^ zX7K~Tk52MBb#9oFcuB1XWJK{oY~C6ww$kU$i?%H~bzD%A?dEw(j`ibhj(ka-I&Gl- z5qVX^BBMe=v7Zds)-!CsVG%j~doM(Vi07CqXdT^vFfD3}zXILGHXZYon;)#H?**GV z0@ds#N7Vr0d@^V{_$cQz<%nYKrqpJ@mx!fsK5V@Mv>&jKsd{2}UQOSFY+HOjkUS6) zsl>7OWbltXse-&}f*l+S3BqXU55S-qJiu%Y=hz-!D-jE~uO!tnOjY`B{kKv0#j)Ke zD(+Cuy|-G&p!8fzHb2ztCF=m9XZkUH*PwQeZ}i>87LG*(R>#_Z1-;NgGGAK>X5h6FB_IBoSis%AYz}kB%FKUF!_BDG#DbgHeO7wPyhCi z!v0YF3UOw4o+xH}<03SQV`9s<`U#>AB{WL1)W?Qf)}@0{@s7AG*;SDW5?4!>iSJ{A z+-Z)vs9>AhA6uK_{d6eqQeZ;&dcs=^B)ueyvRw_6udg(2= zNqX}`SqweMk+#f!vo_XAI!c10#*pG~VarH21=9|lZtwI!i%KA=G87MVLok0-my$`Y zorXw?pA~Yh&C3Os=NWKPK|=#t9z=L|atGjot*H_$3>e}NvY(r79psRgmiPgDzc-Nz ze%mt33Kmj9x@|myO$#2fv1GH$w7m?F#PDh?3H-ir2UWbjX!lMMXjOLLTdv2+Ng}>O z6rt%s{Q#~Grct`0)kdZ7+7DLna0UcFW}yj6DyP!3?4*d>U3BVli96qPk&F9EV}n4x z1xdJc-1J~e30O_1NeNBU8NF=A|3!C13;F||%T@lLY{}jCH*&!v%^mqTH}D&e>1iDZ z>Jf>Mx)ja~^4hr+wy-V>(+L=!$tP#W20>QdsjB6jAOw=@43cP?gnmymO^ArHy6xT2 zI;AGhoNC1gm&!>mSFqMJm4daWV?b%oGidb2BXLzY-a|X(xfemFlaMcBH{$9TCdjYA zG-I{q1+p=!`PQ#(mBlcH7b1@9bI>emj?%``L$IA9J5BVHV50t@v{kQgZK@oH7FQFb zr#MCYd<-@ds6C`1jyJhTi;WYKX8sz!lOne=W7>EUNiJ_=#>T!OK}ru)WNKYru@hRn zz`;%&&yTnj_*UmgAtPkq+X;9a;#t6`J|Kl?c9113vdIz^5EV77q9Ot^3XDs$8U&G510n?6 z;9f>q9K{jGmK{NegF2|_1Qf-qgAu(BDx)v6y?fR7?tA^m`Bhh)>ZSdmSaDii>gQ9J@FDIFDJ&a=jvq7@XF|HQ!lRfjEHb9NrZf7-~@H5R$z@OI9 z2#Yv!d-JjIupfsEDnmJf3a>y)uhn(k*SGGkc~B4;{_dZZi~e>h8*1DsCN1tz3Hu7< z92|V`@t_kUliPXeMFs~)N`?V=^6|s$k~Ng0DS*QxTb+Jr1vmhpSfF@F07y7o7`nANliogpWBNlS(+{1?x?luUCTlko}Pk$hFdA2VT}u=x_srzi>QV#~zlt7Uv~^V&n7mN<}gHTIjLo zy#qFgZVh(6wPZiI938Eli8^XDK#p2XMn!jib3w-T=zxi*zjwMF$ks)!{#>xYwm;yL z5U{5A$D1v+%Ms^r>pGX>9XY$6Hi&6kB1Vn)h8f(}iWd;KD%vd$+S;MoVpGAZ;aDd; z;{3g1B(oTlEjlII6;W7hUgkvLJc;n9y^T~F-&%i1P3qN-DGB7&wIOzqPw+2(SjIE@ zZ3&=cvl-d)!9(TQMQ=mflg(3Gn|B8|7rxai+TFFGTG9&ZXb&0|oZPL(QE3)J8(V8! z_L%7`+!B-WZW6xk%kl9nvc&3s5v>7~JLct`bBnBMJ9{hH}kx^nC) zaAA3dx>eR45Dw306%<8TPP>ef_ns>1XJ%U}r$CP9+KM&e>3+m%E5?oCvB*iSXkvJtbNiKQUWd#GjW;8pAe5aZ|KW=0Y*B(HpG6d zJWDYv?S|@%2NuJ0IfNd(9NJp>YsW)U<4GdwR6^i&!@ zUasHNc*9z^WYhq`TO7i$eGBncWz&o~RW1H6jN30E`VDK0Vi2qeutzK3CO&3ONok&7 z?J3OjfOEs3r``x_r+5)*o^8{zFk=x#26buzFz$G+2%F$H?G7F_@7sR2V)RG%#j1?)*8qXOPLX=xZ^^OZ}m zIeKTq8Ea+KM9>_gFVj3@tYqP|z^0;WT#gc9Li2@{!?1NDD9N<;Z=jeV6{P{zMxb`v zQr%eV!fz&ee5eJFriOMR#rLJL0$+7xVDELj zFmA&85RGq|XdA=FaTce6z1y%~M>&oza^~sdT2`)ASPE+!xQ&;M#z#M1uS&_+OdSTd zvtg%r@Dzbtd|t~T#L%tN3$na%?bpTxm|_^-DToFX-2m{cP|H^mZ>5)fq9TMh#y3>6 z)-ZHN_ePgcmK$j>Re9>@+1?oagCXhKJlf%w@?JkNPHJ@owk|M)(X$y|?X}YrY8*G| zqjC{}@9AfF)DMxn&s%=C&fVE9W%xFxGp8f;m)v!lbp^|jCv+7sxsS7;mizIlEGO?u z*)n@y=tON`nQ0G+6L+F4kce!0PooY+47hh72MuV0y+?iqx|iw)CB=)umD_yNXcy*4 z#+H{RS~#1=-1-`3_KGq-4%w(YZA&&zBl~^|kwxu}&cRFGue1aGpyrBjh4uE)M!tpS z+eZr;ki?M`h60_f9$7jzNE#oCFwE4+s)f!#HWOQXL)?`eQ)^NLWc`Y@p|+5SYPP|Y z2Slny$Um1IG!)pNDt!C})0?l`5kswOQ7v;e-ONI&uF#$5Cpt+}Chr%MWIxuP%>E_4 zj&h01Au8<#&7fzMF;SGvZ0aKUN4*WkNWaaV}c`Pcl6 zs%T*J@P3V*jxjAOybUhSx9Lh^9Bf%PSKws#7q?P9EIxQ27vd|eD(GHT0klRS-$wp8 zm4UF05W#ptA41}X&Vb$b4v~#0LQj(L@28>f8v3Y>EE%4YvyQRlH=pJ6 z`nZx-<_+i#JtsF}aVwfEY67+2;BZJ~OYSjqpDuGG|01KrUxx~6Ee?bt_m!%5)2NUi zVRI~<_-`kl+=td*K2b8l22CdATv99S$7w0&O^!$!(?9;`qmzC;egzM3b2DeBG&B6-rczqAiq5D^z4l|LL% z*ntF$d}~tA@hB|asZha(ZzcR<7T;O&8$NY!qwo}}_cA)dY@N!ZVUQUC`~_KPy>887 z(@l&RUIXU237*&*8l5#sSp_v)ZqdoAhLV7F$FllUbvT^@<6PSh!&rlo&q3K6)Dw8S zY{&*oVS?NWM1Y%X+g5-je8l`2Fj;bU+2{qYm@9pk0{wVXL*;GTEQ#o6{)t= zF}Xb}3vl^ffjIfr9ZnwB&qVq#aryXQG`>$D5BN)1xk`pKHs%aV2=V z9`~ufKKPll8u~(8H*J0RQLM`OcAkDPn-$t62qs@O^_ReC`?hJ~Bhc_EJ9bt-b0G_Z z{#`Rxx3}dvflHqe6L*w)CIXIaRwQ-Znn$OSP@_l0pb_>1(8jxw^ zRqxeE4(OuoY-1AJf!5=deB%^vkbZ$E{f~S&+ggwpo66+>V~|_m*$h_tEFP=?>F4)N z`KoT0<1|}8mx>>aUzw6@DY{=Eadw$3r?Pv7xa<=Nt^MX0_q^Qpfw%;YSoDp;ii+&P zR*XD>p*N?sF-7M;>t{)LWI?QfiQop7Lyv z^XCZ1<&@7OXW{POYq(YBKJ>y|qvx?aT0CSsd=d$q5&`+vU&?b1hXpE8^b+R$y|Enq z6Qx1i-+y!d3KnQr^FmJS;S|c}$mph(TzA=-0%+ayO{9IltH)jIF>@vzRnatB9bn$y?suzkN&BGB!=If z?A8OHWL|r)FaDw7DQj&i|353p98Sv^9{*fGzko~U;ktxz3%`i2U=7144SshdX@FZy z09VdyS-f!q|2rUu9{4%01Bss|l<@v1xp2f6SX?h$mJW@72}DH)c%E4SJfn`YFpI&8 zdW<~9_yh@i`0Wabk70J05WLsA__0Bcu2TOPR5j6wIJF3YA(AO zQ8WYI7kGG@S4IdOdqNdQ!c`yB$$h;2%fs3$S-jDNzRaG#WS(cs^hVsAzuLdjp6IIcS3_&&|>ajh} zx?gAx<6qJ5Cv$WK;I@d}KNPyd_jCwrsl(cu@7z`gS!$h1vUQA0v;Y?L3$*p0twD7J(%nut7%1{cF3BuPct)!q0!&K~s^qw+fV7jt*|J zmF)YgB}>``I?@WBA@`om*9g${_5xMeKPUlD;feN}ZB@6#;EiBIFHV+TJpHImg@=Te zFW1P6yxMc`92l@a4|nX$8})xelYH%F2vk@5K_yq(wfOdOL!aBNq*N+@q_s?kv>7wL z&Tm==u~|J|lePro^*1FK0h9HL0^z#SA#amIhHRkb@O%hvOFVmK@-f_6H%Q zmBUXg)1VG%@RFlVILFLZf+h0MC*UozEb(+jSo0%TQXUfFuW{1Kc5c&$;3aoz(BXbt zITg*b^fxY~gORtqvhCph9~&v@J_J_wE=HZg%e?frAur}D5=R^cNX`3N&FnW&J{KA2(k< zLU@A-pte^q{$}dyO@HWbRJ(paJhEM^l#oBUhaIJf>{#zIv|%muCMdUbWL09eezq29 zGAR3NU!taITs*Y*vRdo@ClP(IJqWwHg`z6XR*?m`T@?`~orQ2e$ZRgcCI^I2S9Fe+ z3y@mR#^WlitePj*ZsHp@DwO=1%wQ@OI+UV==S?KSnr z-hdkov>d!$hH-${tIqSfNSvwlvx?47rK3b%dBnBEH?4ZoF^q`SXTioQyd6hEk(!j7 zm`E0;qb{C*L43L-#r-;%&5$oW4~;*YslpSyf?erO1uCg!{xt>!nElX^EOX1p?CpKg zJsi9@7kYg&pUjUeg$FK}=RBq}(R6ZTeZDEU;6e~;#-+iTyOA9=QP`_B(_}Sic4dZ? zf?2)!v8`<^HM|;fUs0fmn6a@fh1SlH>m^u3a6ky!5_J;a#R?LU`QGE;J_%5xFv&Uf z2hLj6L$A3w5l8}5vP2z+bi}|NkVxUbu9(T`!pns4ri%oQMMRa73NKmRy<%bb3hRL8 z^_u*A^R56JzUsW4T9n<(iq@jbX>iRY#mz04FkfI8E13=hrLkOfE&-z|BBE>@`%o}zg`WD{TmYZ1`lo<^lFFg*P zd_Yzq7!l+Qm!uSSPrxNaos(6Q;0$igxvHauF3qvj7_ox)ok`6qo#*8m0-N46+6XQU z@d<#u3*3pj$+AGs+42JArO+;y+T&?m$sz%A+{~UJ6W}z{%NY$6%W?EWP&#X=bX2zulW23I><|k+k z#9>lq=JAwZGb&KcoU`2l-o!|oPZF!+kXcT1ItUeXK#x-@BJC-;47CR``t3QE8ce|W zphD~t%PJiP{qd-hasd*fAb1q;{t0UsTQ;?$rWbq~u*`sw9@*_P2 z4-!F%$pH5VnSopo!<_9rTuTWIXA~|1a~i9F&e0r=_l4m7x*k}h!4ew0f>v(W#L`Y@ zN%YnDwvQl}2rpHwIpFQZMz+R8V1<|)bEfFg*p+L#Y{8}MP_VS@q`ARC3TpcS+i{`w zrE4k-bw04(`N|huIpVb>>#thCAF25FO7((!Um)16N4Jl>{@`v$4O*|RWrMg5tVMO} zOfbSY_3bOY@aR)G3DnelcWW!Ef5a8McT0tWN6Mj=wgV1L`WRUn|i-Ylf zrI`7=zy=+mQFZu#`7>+Odgzj?epX~n$j&=e*L4g;4KyiP_2|PB z8wR@texlRW#^$-0Q$oz^$=G7p&#C-kaqVWr>d{RMbBY2boqZH#%I#SdMAztoR<%I* zv1LF}D$&PNScs?vYG^!F-d=PXXZA{>k3R#)f=%D-#;Gita^5xodej$5)V!h`yPcYI zfA~}LAZw&O{QK;DM#?e!STJ>fVI>aM?*qcG=Aop*DeSEx&wLZc+UMn90fZbMuaF@J^6tIok+g*}j8u7!N;aq+1-w#_2>cqG@;h zG&ClnK+aRf*q{XA8iN4^(K%!DbY!7atrQkH44!Dq-3(MRfOU}$pW}o?Jpz6%L;mqR zHj?fZ?G)06cjs?Bw-|%E|CKptN9+LvVsDIFVw7qy?xt6a*yT5Y4TCRlveB>TR#W zkI)A6eXq0!BMA|xAN>2_JkAx*_B$w$X>w6XPv~d<=kyD@d`qInYw$=viBAAUKo+3o zquM2Y`df<4Xn39uSs8nqdH)ZO}(^wM@e z0Suq$zNNmku1~v+evGyNUc0;9!o6*PZs7TK0&o@x>>7P#`Vj(tj|n9J4uHUG9pK=r z-ofTq*pJZ;Q;5>T?y1m+HwfVA83cH_%Ct{B)td#d`aF$t#7-Rd7r@D@1QS+FRi!Uty!@hy-&-R*?Zs-a2sd~1OgY& z0Q*4sp15zPLS(6>EraZ?kR7r z*T;{pYw>;dmH29R6Ichld6#-%y2x7>8Ue-v4Zc5tuRlz4#QVErfL4Gd5cX&DvknOS z*i{FZ0kyuBUegvV&jFi&EkM{;^(W{L*VpW4?~3C>lBdj zU-Hxa*F(Tc?<^n^s0NJt%mV_y0Qq?%y@>$tpXnd`pR`w@|6Dys08JqP@X9yzI|Hcp z{{5u%1^zMmsWe;n*85-7xKK6wuM!$r)#U$gg@>h>>-*(Uu^ky?1GV~~WB|3!dy3Dj z7R$47M9&&hLL`)n`CD0!xJy_raWfP{8&R|LLg31&L_|$XW?Er$ zA-DPedCV0U9X;HL29|j8a|!qg;r;>fq>&Y0kP*;8zoq`MsM!hnv>P+)m=6esuV6FJ*q@ zGLeO*yp=h76TQwj$5#~ro#pneQ@TM*sKwgfZ7iR~jmZS!aW9hg!>r`@s&zEjA|Xe3 z(@32*g)`P|1r}*^NA{MtOsf$*ivAC>TLO4K&0+2?&X&k8&^?|+LdNgv3TuuaQD*zZ z+o%|)$BmEacp)*#AhVrjxxcmEh2me_#Lmzi2N+cbAJ-`=t7j*(mzJg9u&}r=b`?z| z%2XyRhQmX^iib}{r>R|EDB!dRgtWp@!Z4*3d5;b~Q2bE3W|{q-eMFd6ISQhrnq)&B z&o>THKGTkJP2VR9(GWyIHkS9)iN{%EfeKP;@O9E~lGCgCaUX`b^(`KLt>J@g{h#{FrjSPGo(;kL|j+NWjq4Wd?Rw>XsmVSneF;GueQXO)0mQ2`}r$HVs%By6(T2%A2&F$TWCx+ zV;>UUarSrxN_#rF3e=ss@6)9=$5T+aTm~Uf1FYJ{dQ=7_2!1f`7$! zs;wU8rL#wAEl9;(WQ{)Z00=e0C=`@f+tHI|qtO+YLXxHo)bR(oI<1iHudYf=`^#`P z($f%>B2+#yJWn%{KwYtXN)M}J>@$(3FWozrDGZ!e9kUCYJBvmrge6!G$znZN^|rn`quCjP#^BdDaj;?fF$*qFmM8P9H?vcQc?%}>orTbVV- zk%L-A6=BAXB}{{9jHImcErhjR>~`OAmhowXHez^6_2gql7y73{%36X2qgjw-%G7Sv z$y{Rqy(OyqC%y^>w6}1ez8%f5*kwRyI2=c#dMbBP_qY?PR{emMXu#NfH*Uc0xk$Ny z=jg>&jA@zzeA!g3YOQ2*@U`?yC07G)t+(CFb`<=N%G>U7fHslAVS#-FR+-gH{$n_~ z4(TLkO*9NyK2k(h$v)m52Y6;6Tr|d2y}S(dH}vn7g7(FXOL}*G-L7AX^Q_AZ*e>4T z0%wy%3g%bQTQYLvmVN)OI#;lzR0DJ{4c263PM}3>Bex4BCXP-Kk0b^%bp0Av%~be0 zX7Ke)un$*ppPFwmAxaz8@F$*9sa)e=XdK3j>^~`~eUE5QpH~c8Nn!!G0+svFh01<6 z5{%ODZ{Y|XcRxQTFJf`kP5Z!>TQjl*I#Xux{<=KL#$dz;G?cOQ#VT!_HsT$V^H2J* z5;XvTT`VmbA)^m@MZnaS+Mhzi_O)@W+So?sd?@i)B(w1{0{WOhcx!mNwsnU?Aa_Wh zS7=5bAY>BOlwHE7v{|YYT(8zEt^hz%7 z5vi)}IJoj!K*SZIo=8A#xkZ<3JSUCiMqzR=Ih96Jcw0ydWl*-jmhFJ=^pbfZc^=OY zJD{PY=q4xm0A+{bCq|vkybPH-(r@F*6*LxdXu0l;;u-jd5tV1}tK4eI0mpI`O(7?u z1Nu0pwX(Sow20xAI@%(kiz5y&WH%^weR(pHU%16CUe0B*-BthN9Vz6i=>JFp-AAlY zo3)8RZWAZg8daK42y0wfsN?(vf%0f52o;&>$>SEE{us|T&iT^;HB3zQPE5h1AX%UR zyBD*t)|!%=gXXtsWzzz}MY7s$OfsSp{E*pON=N}JjMCj^XXX+w2Ns|dpP}W;yosJ5 zrs6Z%?!EKEf|vIz<*EKUyj;Sb5l#H7ddH=mZ#Zd@g$p;9DxNdE7R__awh#W)%mMR< z+0@$CK+rMF?(~ut3vHl64n-cK^+7+mFbTM^_Qc^W9Q@@x{>t14fGfyrrF6>n5zJ2 z5zD5LUyoXpH0jE)ef%7&N{GubaQ!4+TZRjx@9&Z|A$ZYm+RBxp%2UP8k(FY$v)+Bk!Co(* zV+)s1XDWm~3mmSaJOdiq)X4+g)=wq0Ge{tm7}p1)Ee{fGH$1VnVuyhnN|q9v2O3e7 zf}8u6_IvrkKKL|(iD3d&&iZ=9Ummq zA(xYqJlebmO+XYOw@oHYpMg{?O0ho}dp$bKSwpRLLr_$=B;HOCInK!=LslSu{-PLj zvC8!EX19Z3dts@9#Z}q!BV9`NmFVbF ze3sL%Z&e|7rAb47xfWVK$l7q1C&a;Q*GmkU*iaaP>8bD?B$Xyui^c7|hvut0q)lTX zu;e!17Rf8#Mjk@XK#R&txL>m2GWS9dGB zmX*kVv9e%%kVImgKJlppnEsQ6Ia5A*M(->@XALwk{=v0ghw=@c_Mz6xgkGSWyd@D+ zc;c}ye;iUZ%!%a+O7K~qts9CjY~edXDNpuI$vaf&)_4!bYHxZN7cPwxpsMc=ADe&BMHmAzhjF5>b_`q z<;F4H9!p&R(;eXlni=!3>riqVu$>@d_p$t|nq< z!3-mED(SrbX-AVtK0>nUwvWxrekcpe1vMMWr8Q5~w@UG2_Cd+d!oz3-LKI8^St_<% z#1vZ$FR=Q^F6|TA0KRX-v2B7|U~XzF#GKi4NO){``myeMunDe>90(3k<%TSZo(C3Y zjKl_VqQa)w>FYQZIhILnmE4`QMedF%)QZgd;edO$);ZXrrhzkP`d3?-3cAAlHOSaA z#T*;dfv7^Tx0b;G()O!JjG~jIqaG)DTzXuDCOKW)+k_0%!nyzY?77Ae&yYS|GNfQ> z9tH%#oeqk*g8X*qjgu_iQI-`Cq=|6M{9+ntOWngKZVPy3>W|{gl)O*~{S=7G==;(V z?5UznLd!d+*>~n@7&S7U*|v{uoTs23#v5$Gg>7UTTof~&S4tFeX7p`tLjFBA5RtGEP>Fz zeuJxs*A)kW<+)@-aAOLU#obAs?mfJQWifbi@-MZ$0lt`M4o@yQ@je#=rLtA2ji+kP z+wn7>cxllL;CZhZA4Y!Q7kWiyw5u+5BTT6mm0Ec7^vgydJPQA2M?ul_tEYJ0np9jq z^92KWQA;sdfYJfs^-)mmM#Q{CCwdLpOyCEHV(!`m6rsCs33pv~;o2OnD3$8@vj%!* zPn3j`X}F|EJJ%?qOIQK~#NaO#NktLXQog}yy;awPUVD~Msc4beOkC-HQY@hcC~T{f zV2uHeeB0Yt4heWV@)Bl6uQA9P)z3$u67TW@Q886sCLCO}+m06Lk*z;9qbL3m`=!!hp+QBAW_ugN_5Bo(hPL2zB=HlqJ=j8%~ zMH@Y>q^%NQ#PUJavI|9PTw}&Pzt2c*RtLSKAUm?x2Ot93^a(MA-y8YYMiH#|H=LpLG6_^oyLz3g zH3kE;et{cgH7K8x?p(It00+;!g`XH~`yPqAJ4cZOnH;SPlvk9}S$0?GVIVq`2*jyY zoyg1^r&`4L;s2F%Xk2AM*gm=FL|X8(S>%3mDbO=!PlDank07|OpzNZi%x-;>dfl+Y z>s$y(4CQFZq*KkN>~N}H@Y?mBVFg4aMJf8qo~uuhYn^50UUapgHm%XTxb*E_vk+Fb zfKC^3)47%6m612)8Y@Swv>^3{tqfAHUNC;1)@ir>CCbw4Sjr?PKkNb%-D z{Ll!sHLmk5jlKHR&V~BC4PHir$c}D3guM1JU;*kwQ5He1t5-7S>b-p5H!rAtlc}CL z>DsszP8CbNl<}x3$z(d%kS*BDeH+dr^W zkJ?EPufJXEaGFGq^~od^3=H|~D$W?lmbMwMjk$&8^!>;>MdOEf57FbuJMxvs@Mn_f z64-O+r<|0pp3-csx-iEHL#Wxp$=ZL_l`#Ac)~bdWQ!!5!y;E%9Y7h z7~e64mOmHUr}DGgf#E1a&-O`^8B@~3Y@rQt1$oRz=;897l`Y(VNlhhNYQJ9NoqTui zDd*_16BriA`zDX7m$j0DLVF?#bDm{_#haw1)o>EBlz|3;$Y2Rd{XBsBBy%h!EvKD1>JcJi@H@!-|seU8@ANR`&;tc!D(-65a4{DjM-U=2f&OqoFd4;Sd! z4#S?HkX6$NOXk^Muwarl8rN<$U1F!S)CwM2;kOw?{I0Nv@cW0CXh>X75@A@(WYl6RZ(VjA9vX5m#u(hQ&odK zk#o2ahsNS_??b&ESK{s&h1|skgWnC``55{(fP0iU=WvS;pVx)#$TEYPW`!9;1vVJef;aNWg{_m4fApeeHruL_4VPY}LCl6m)TWpA)GT zwv}=u&Q)RV$8gdGG5aqgt=qwSch=-(*ijLU+~g!1q7BKG7cUCai|LAX$^2R^AdnN* zS^QiH?AX&$h`s6=5$<3~(ldE{Mib-4HU%@@ZvU}%A?W36SW}fgUp&CgWg<^O*;01; z7ZYKa+;eA-@_#+rVX)EX6b+pf_*)X9(&g5A8sy5pStw4F9DbY9&nN&PutDHlvcvk%p2Cf^X|svT%6gwt$)ro6!mD?D z7OhhF&%uEh=2?WjW#+8bSi#SCL}48SQHA-q9YP=L?jjmjkWxmWPebs09F5BCt;7NmWD3v3-lc0l-O04fBiYAi*-S ztf2!N2V`glA~$c4Z13$?%?a9k!^;EDr4^DU>A`c+y7 z7ru>0>6lXr;R{NT6g_(-ma;yyk|)ISASsOj{HxzwLVaIwqZD%RCaMiLNw^cIw~t%D ziwI2qkGQQ52FK=E$D6Yp`tA3 zU7NC(EGuifOQcTrV$E3e4TwwprCP z-wwv^siWayja_AE+>$Tuu(uu358#?FqVe(@oLF1W<6*lEvX}_@y`dPb?Mi%UQY-y6 zg_u02&XqNO1fVQD?*(`=vpK zdDo762=rx8ontY+EKHcez@rhQlbx3j4NyIAvKHV%Rf#fhpOx9W8PPjZc~#}BWj%JPN#PNV1&25nHX*kPPFGa`~oL*nd$rMJ=8L+VsV9uAnJ*C z;HNP{8q_F`A`2VIjO^*=TDtZZ@7$`{NKm&i>zj-*$9EuctWuk5%Z$XiV4e?+qQXQC zD&h|$6{GuK=W;6*D5U@wRgv<_gOf+K*brr5ehQZx;ZxO2-iTIq*g=UA=vXb(U)yR- z_%q2Dsx_5eoI9EEN8=18gBB5$tf9TNYzu=PEfWa4eUrBr(E9{0O5suYYRg`}IBGPO zQNbZ4_LA)F4dP%Y#j`CS`7RWJ$AP*;kRZ6QS~~bWz2`F|lg?KsRZ-q!yN|9Uv@9Lrxw?I0D+(hLd!hgG zJgp2W8&DcLJK%26el|tw=8ZqAsT9kyI^*>|=-*!trGJV2mfaJsQXbgsVG6pW`xHa5 z-rZFK_?;!jsks^nR@OmDcpt@Llz3(aCqyzY)03Z#-~5R=k)NC%P#Oy%JP@i?_F#r-y^Ko?o3$Vqy-7y4EIX zWoZ~rO;P*3tcwbZc}Fv2xf{2hG>gBKYAeyolU3{KXexs=pw4gmQ|P7YM^}}>qkKPb zCf4WA0I{43bpTWVzcD-waBEaaJjhT|@1OR7-wo2E0e>}D*;bj{QKedxm&6H;8`0_D4I) z`Hv2ZzWY!BLP)4lljRTxIhpnDlP6g5dnXh~RES&IaLJD97%V3&3|0o@6%Iymo#K#? zsKUq8IUngliuRf;I`EGJV}LRDUcpj;L}rmRomNyqQUW85pN$~qVwZ(r0Q&x#dw#O#jmo*BKA~CNl zv&tp7Y}k(Br5y8ZHf&&+#z^G?QfWJPW_(C23z+3dfOhVV0Py_#DD^oqT1~8-!BUs6?Pof^_>5Dzs9yQ{1iG7wtM1OPU;?+ zjRTzRg3xxm%bugjsex?#snRI}(q3IZgqZpX@4)vLPw31Cn+9$*)yuD!gq0|6?2-`N zB`F%O`~ri|Z0ILNzPD?T7{(x`{NQx3YPG*&YSrIRj6H^=haq%-RompHHKI{T&p?RA zNu9o@GeGRx!|bvrLmYFRnioRV!L&Vt2M|Kv9WE@k(1bBlY$w+9zV3AC(ZlL1>KIr8wh>x5KyLFk|ciVPC%3C*9M!9+1>Vve4Wx;aXlsPbiQ>r*S7@sBZ$|bz_4oY2D zFMO&UhD=nyA6P8yJpUW$_>iA=G9&kefLap(9PHNl) zX^n7A6Q{5st>t9WB>MA&r_o6qN}w9Mk7uV^(=8#1XI4*CgDqn2Y#n=+$XYzOKU!X_ zFzma59)(OE6UgV8?`|#a`-`R!L;)XC$MK55PtdeNNo<-~J_xLz>e~v0V@AS{nA`gX z?Z+95-G^16wNUQa`QbYR5p7jk9sHXoXX_JLV=lv9ZJJ%bmOoR^979`7?`e>#Gyg}X zWH>-{UE&8b@;8EUBc>>h4=}ux>qz{et&_B$MO1zkmsY(TVsD4g_bSr*Z00R!xy_Yjak5d9ul`NEXyll10 zplz0(H?K_(uBNC!{V%HAxrmTy_6(EH@o>yu4|Pg({l@ZL6Q0iLkH9QlC?aeviJdR{ z@hQ=Q8lvVgQn*m6XR(M{Uk>22E23~gM^}f=-yW^)rB6?0cnV=LI)tZRGR^_DBRBZ& zJFBxzJ&*`pi@jg<`8=QwCmX-%i?Mp6ZN;(lE!7mTzmCVbBa`>NqdPgQmff06#II-hyZ6ZQK6sDiHfs8Hb8H$A zbxnaEQ4k5CI#PATNvtW7e7_h)S{H|(XoJ8r_QKtmA`>wqLAiwS&b2=EQ;Ku$9U5D7 z-?p$M{pM` zy(C+J7GWtWMuz?)Mx#+pQ!a}~596NL(8}flaDoHK>Pr891WRwUbk>`i@*jG%CL<6R zK=X9$l}qsL(|J}(+PxAM9`}F17Q`vFHFoClm;m90Tj!+{6A{_pw@d0cC+6oP9~9BR z`3?~{7w-Ow%koQlU(eWerC%^COrlU$jYCeF;y1)l7C@A(Y(rjT2xE11YSUxeM@dos z$j9C;U6Qi@4^!w5ZqFN!#2r>J=E~s)X)uti7>Ku%#xX=4NH057t zp4m8Z71vNpoLnj9@2p+!O^R0CcIh)Qy3g#(YUtK7@UIz^H6W<8`9=eMAN@gI@6tZ^ z&0#J0&Zoh(A6_KL0OQYHR^B!W$BB9_9DlbZfV^6b zjamJ-sptfO5tERLG$uHRCQMK`+?-j-z(OH4)z>mchJPljIY-CEmcR+}1E#aKmH3I( z`%~)NJpyKGEyy{DcBod`p^6r~!9TsSZIRq+5-LTuwvA>32BL(is15t((a6`=Y~E_B z@h3rNA0?5TTl)L#A6rHw6wqS23?F)W=Mnimt69`oL^^x}FWG2ZpN&p_9O)KFaQQeNPUB6)i+3F zlT6R@lNFt4ZVUeHr)#y72=bfM8<})_+bVqOBwZyGTn#JOZwZ5@Mbe$*Z~)l~yILwB zP-q|y^7UjKmqIQC)!SzeJk(qe>J5*Iv6WAd$-lMe4;HM4wDyZh#7eUyJDoRkTX0q; z3vS&73(wEWSPlG$q`dXN;3DoMi%?O*1J$QfDBk6ud=t0no>f61pGqWcZ!lIw4dSUH z!ppm0_T5OzcT|fl?Pa{fPmCuat})6Dqr!IOqj_D5?@ylE%1V|+O$b|xcx949hGMHP z&My4zR~kJ_Os2#bl|wlSX@>;g%sCB15CTq$8Yf9!S=8iDZZLmzTM_>1WMrrb`(vRq zf=fg0FTA3}Jszy4W6<@+Vq3?*Q%}KYHvOTdr}wd98J#A^=HJ>YY>O>e`evRpf1`mJ z0dCj7djBCkcpc1}+VNF>P0mHCrXWQ6<}am~t>e%l@qlGJcC^IaEH?I@*2lvob1bd? zj1}7H-DA4b9}rfH*nJ79J!Zyl+vvyJ&aMjC{~{CWYE@#mKH{K8<=`|-S6d2+8HK!Z zKiGGOLH5weQACPXyM@?-7Ti!kbPqT}U(wyz3VzzyZwZF_upKwW9r9N2p3L)qai7(% zNG`U=chNeyTrQfej8vsYm7byQg{8w?sH{w>$bGSb0PI9S)!q5LsYp7V2Sdpt8`NjzPF}IK|PxDsV z9h0<)){k(gRNJW3xb;+OzA; zyg6KOgI0Ihk=77`4-RM9Tcvrze@|314VV?!f5#yboL3pPI=n?WXP!)~Cyv|w-vOiw zfaO83&8IDlNmi%okVjj92Ah|!FX zEX*fLq!0%u1){LpEN&qLW#HWv8=&5T8Vy~1WLL8baoY_J@q$JJ>v@G}D|1B~K~FBj zF?NjgsI)c(NgP%TuZZc!K8km>WiZzmaDlVCY@a($p|d>9Z}#xhcSq-#z``@E*;SkO zvDCk}7WM6~^qb<|iP6U%y~H7HYOYs!)#iS}rUJ%*1F@k2$~?=Pc*8AV99v9h57jw) z1{1Uk9rvZDqv+oR?f%l#l2C?82Y90fbP1!P0K3Ldq{=ln*nYh{C+bPh1!js?!xEc4 z{Bz*h^vkH?rgDUpECX866KJh(&ZpMYLQ%Ph*DzRp{vQ)70w8Rb8FzWF{+^4{2RLaF zl%YL;Ai_OF04#o50>%l1+!$LHG#F;%ue?>8nIf{^GjH+q){= zXx7gJ;+}l%Pg#|Wh+qhliS2m94i=nE0j{T>X1wH0G`!kdT_p~CfwZ&a{zJbAftZ!I zGzZSm-qLEh=Yo?9db}MTC)LL_7SEC8IG8K%B-*1RDTAbNg$8KEo`)R_J96TGed!*; zj4nrAH<5`);P)LH|89RKqp~=x1~#m}5MNwV^>_tm^eN=8omLeDOYepNz_VkGP>$Qu zl6Z?B6?p$^YEJ7E!2{j90Qg6M;NKzf#6a?!mSw!ec<_gqx{rwo< zX}~@6IKj*JGB$ z^e71Oqa}`<7^du=F0g>2PLCUsKoDPrsQy=X$j3taUVT}tWT#v4J}UhRC~0(gIO`b zF-T}#u&0BU6^VzR(42Cblt*BxWlS-}POC2XJZRRc{%ae!wdl8@0<3fnonc3nRjI{s z7cr#N(BxEeQ0SO(!W<=F=Y6e@+5)H(l8X=TfusQ&Qk1^2DVg#kb0ToAdN7Xlh)@t6 zfVT}gzKE!{SLEO0JMh=9^+;i5nTQo;s-I)SA9aoT+OX}fIa9|M>FBb7>e6GFm2!U) ziZjVd1Bg4nYZ<#P+1#o>6SwUV9B+OT=TDzO-Jbb|@YAn%b(5@z^)zR?zX)P==}YFR z-VvnmuYk{+C)u@oRMzrdVJKRJR|W%Ry$aadf(>TS`5NaO_utwG$~9il;l?78JAWNz z2=@)@U`b>liG=vGtjB)s6Nk9jp-$DF%`4;T9TKql5YsN0uoR8R5j&(<*r4uG&K7B? zHvwgO(04YJPtO*2lZhig)dlvxN1L6~pjU#yw>r9mzo)j$u~8G$G$iW&!kmovi@*9y zis<%FP~ZvABzfhyDQm>jW3$bM_y|@^&X6+XgS0aXP!h`j`psk8US`1zrYupU@WP#m zN`@D%nSmD3O%knAxAyZGZw;f1g6p|`QhqdN___4Z|57xpg-5CGu}yd)A20j6B^{Y@ zC?CcAyzacX#;3>0@+iI#@3zG;!(q=W3$)^+@aaY*+5RrVoN9$xY6PhsM5i2m11I6K z!#1dyM{_|7$Ht%mg8(@Lnu&bS%?L5$E*`BfrYAljc?q8~^LsP%Gm5EQTP0|s8*Jy3 z<2Z;%Js1cn#GgUJsLgWY&?rZsVcU?LTnxn_u$BI5$aD55{WJU*PkhU|`U+xYEOYbL zM7>}0D{Mp)uck1F#mWR2*QP+ulwB$srQJ6DNy;d~>5YplkAV$;1xCIXe95$Fs;YAf zNeX%I-m1`c_DCY0`I^N7$1$tD#O(uC_nU3jVF%UhhWbW9sD4PxtHKjsatesMRFyy?|29Jw8pWTi#0_F<}ni>{?ZU7K&3u5 zwpZJiq&Xs*;v9>ctOV9_Y}a`3Z`i;&g~vt-spZbEfjI(%ZsAD7;}Xdmhr)?~tLX=` zjET-vma;MRdC@XT(QYXz!{HzyBd%0Nq1|Y`J*OKqj0!xGM)7q@N84*-Gl-LQQPu)$ zQ_Q%Fa=~rrK6m{Nn<2{jvQY^WA?rQh{s{y!5SQXl>YGi;XM!-V(jny$uXmi>QEqb*wQ4ZQ{%rTuAMIM?Y?gU2i(bIgj_PY}gh`h>c;zE+ zy*+Aofm7!!2;O9~J5Ed9t~SsF!-rWnZp2Z&>OrutReN$gReDg9+R&WjlF&dQSP_IX zKtgR96{#o}=b1O1Pa)aSj@J$yMwwWL9f-(xjrMIqa7qd-U|EcS{>9Qyp9I$7h;nU$ z!7wApPZwOa3+4bx3tlN_IvW$u{4j(z#DdKHbbC9|HgIuPvYfschjt@W%4j!($eVm` z`ALy5Q|sGkP@)&k#Y$-@))@1-3K1_#rm$TYcOl})N3NuYI<5%{Gr`V~kfIz7;7 zvQgC$;ZDcd8ePmm`l6q`-xc1bMkmc@&Qm=$$eICL9W{qI{B>(sGMrTRyEIMXjLT(F zg%)}6hSN$L1WfIMMhvlZjj13&z?Dje^N~S$4*p%$_08BjVK!a_#UtmTz>f1?M38e` zQvdy8u(HA=4yNjlttaf_K2xVn?jB|a$RQPzbFI+Qg5eUjtxPt9SWH0 zKNd8c+)B=e?iP4l^Z|EFX z3Q@^`xzAA*yfaIgtP@9}2Lj_x{2`ZiVN2i3vsLTIKf*lp-u#mbHRcSXNM$NjgT5Je z0a8MwzhFonVcNpTs!c8XdYh;eJY-3k3>G0roST~{7S3t;W7HjmpZwvO&ukc3Y6%R} zTO<3(!3C0Tc~L=}L^0$j1?UPGD|$`vW6h?@@L(J?deEW!sq!@v@Hp z&4!MwsL|7*8$0!hHT@Cfon)l@x|ivn-*%z8W4e3LcFPXAmBF9zNnl1CO-Q4f$K$Y; zkMtsTy98y3Yd154>fglQ>`z_nx<4vdOb)?*t7K5dFGh$wmP$|;w$&rSc<5UOt5UuD zqgozaMl`nG<(L&T*IoL7K-c1{{tDrTOx|=%QE!%8MUmpxXq|Wh`ZFGM+1o648zOb_ zr2{|X&!&yM!qO5#ZcOsv~$SF<_{3?uAP7#zk*`@Bc|Qv*hG+BL$6P zXiFSkMh8>vj=JRnd16~!shZ_+U)V88^&x&j!P)GlTha)8hNN`|u%cc$nMB`c{iyiR z$_Dn>CjMPhv@-C3f}GV^UnmptY#T3#6McQ4Ff`Fy=7GF#98qV7hlz+btmA2i)Wmfys~AR~cw5|iw9rB)C2@|8ss3y3;V zArw&4_g>nUIU^t&)HHKMGwSqijQ1c2P@D6gmi95C6#AgdD)>hy7K7$Y z-wVIt8_uTN9m=>A3*gFMxOKqXi?_)Ld*WNIETC7Jeh0#VS7`6_xG8pWpH5^~E$Y;! z6aJtyhOgC2?e6@P#fP{zHcca51^pQZ=F#D(7E2PQyYK$$B3n>@22>B@@pUBR?3L=t zH@c+u>rp4(;|R?Au$X;LWD} zLF*|+_QR`zdgjUyuqrBx_+bMvJ<*xtWrv+9;`>0w%DNx4y_RhZb(6Meo{Xx@Y_FUviIf;SyUy)>zP~&K~23Ge@NDOFmjJcvIg>#bp%FTFo-iKyP-xd4!JIAxnsB)k=Y;Ui9M&XCk9PxYhbQ~e?Ozx5vj^wPZ34cw6q1>Pnbn40wmr zTCg|!hljy$M`^0O{BT`cloL&{2BDxFk)6eC`7NRnNaIhSR?c?=^s$_bjk~^!U{w zI*K-fgsVq{gnM&Z3J2ie33p#@O8<>p?v^lg){DLIlkH$L7>7v7=m;!sA*}pZjXXFx z2M{UTC-%ONf4yC%`rPdpr^~SBBQ4&jsNS-*^p!)E*^~OsfhcT*uI~*04lcTBp{s{b z`E*j$ZJFj$QJzj`1Ap_oKW4}?W5Fb?=_E`39*akvo#H03XAhtsKJtmJjHJ-Be*Y^h zva#OpM~U>`yvwW_+kCdrK?s-cLX8)3cYICx= ztT(#Bbd`+j(J8`4MTMeg#;>qX;?>X;uogMh(xQ=BKy#GdZLDuDo(Jh_3Sq6?)76q70S0OoB?c|aXYd$;L>3Dsd zjE`aSYDp++lgu6=Z5_hp&4c2BI`L3ze*$&B{ULJ~gM5u+M;Jvo7&G@WjB6<$?AEUw zAHSLhicm_YuO=JqqB@DA>;v3OzP_!jYE$8L`(l@onFwM?r)TV}zj7IxhK7ie@_n?? zPLrKsN&JXf2p+II86*)K<@})5Dl2*Y4|SUmgzLPzp)Rz46MrKzW>s3pjXK%lR9oHj z>>{qep!FoU(lJeL{37lK*=RY&+j{`mYsR{iqHQ`u$J85GX}4^C?m+&6VM(-rac%ge zT{}?x-%DVFkCL(gb{ORh7uizz+{9Y@H(IlYc#!Eu!1{%Y%HBdK$YQxLfG+4|t zj)dII#UsQ1Kh%YfqSYWt_yD((HVCSiS}3Q~5uPD$#9J^qG8+X-P``)M@|aVOQ32 zf-fGkaKt}GzN~39iY`~d)k3yQu2E{NRd;l{JjIzPobH3Tkvu+#1dC)=#QN$WQAQpX zYS&YK=)eOL($?6x{aGdmkG5<93i*_;Ydkmk!E%kUW3-3FqU_E zCia;YkDj#`Gc@jBDucsB=Q#wCEJ8=Q=I=f?#r?0-S0>N#WpVuebLrA3;i-BjWL!kp zR7U88&0gXRFK&~YO_vcuee;FgjLt?saxV8X;0j`_m4t=9DYa*RZ#IUsB5nzI^-rmbKEvr~Ji z%DsRbkjy@5Vr-~LrKLt*j%m>)q6w=D%B{lt$!3IM-0eFO?ywg5?{buhY#IocfY471 z-{fc6cA^SC2*&Q~7|s9(*9U2leU)vjsOM?s14MiMU_s2tghG`)*tUaCo zwqcdB*i(pQIO0SW`X(HNYs}nZH1W0Sp{T|@;Mu&$K#(i<{G+>CVV4xYsK1Y83-)YpDG#S9*ecGEO0hiBTdw|`z{pj>fV&mPP7s(XpN2@ zDrY310#nG#LTSayBmt0=o^p(teSE8ikLE+xi7c=pa^b%qchW7pDaZmaq7QC;Hx2~>_TU}c6yZR`43Ly zC-T7cH9YII*;2ArHumhnBfni%0KedC;d zU0}utyg~Y5JEpacewPi}mbm*Zf+EdpOh!j~bIGKF3z&8lyBT|5Y;A2JnBbmpWVReB zxrDywD;MibLFcY|b+=M%CiKm?1A^lwWn6-_0pnqMu=#p|oneBsFSPy$*^YY&@Yv6b zA;>7U-Oi}$6NGxm7PqHw2g@Ul_^`BG@jcwX`~iXoT=T#*qu%`Cwv@Ll+BV!lqBjis zE;HqM6zZCFAUU}v1{xsWr!EOm16sGo11Z#|t)<%T@L0Y#4E1?VG%rur5ac_JE7rNc zn(FxuM;6ftR6G42Dd_72FQ>*hZEgjHbh4M_;a@{UhURc+6MG5ZQQ*q+NtbQ14iq>m z0~8Q*k8Jh};*|e*PxXi3nNk)A4XN5F4GdTkSUFz%kWRw;p{Sj`Yk4 zY>e2QQ&Nip$Jw#fx}TJkeP=IhoG|J!!`|**XMk=dISastT@OLgVVOF0g)1L{q@xqK zBaQ1=QyvTkP)A?AB^wcHbi!C)lr;SDQlhDjX_eu(ev>S^n$IdKL<+s~@k)KaDFvpn z%t@~7n6V?1tL=ScWboAAk)DvaZx?mi!TGDZX*JI-^EB7P^>%Khz!PJ#YN2ayfr}Bf zKpNutK4wwcJ5$y%A36@L4jF;o;b-^5l`?@Zvq#rbc7O{X3)2%RGDfOeDt?dSOIC*2 zLvnJbpD?Rr-liwpE4s#h zq^3=R=>}>qn)(hIdL}Ilc-uoDhEPKbjh9-OIFt6qFUL%in12Y8edLel?y zxJc`IJ+{`;H1q{*udoOMPC!Zzj@&(##4!L&#qv?wrPT6j`KOV50f=4|ob;5E?IArd zjV&b2Vzo3}#Vfvqor3cu$#2OrKRE(pZ*1Ub$^TXb8M0AIO zwbF;Elo4RlDN$;J{KP-2%H3k=7I>#_e4^Xim+b*KvU0HW;J5eJ3{$k6FCz=gbJN_)BjwIj9fu8Zn76>5V1 z?y9z|8d}_~@S%h$GOxq`&5_?@4rguON7(<^^Hrj!?&t$OGbKn{7(od`z2PaA>f?2d zsTm7~g#`ECK7N6KoQo@0T#V@cT0sNIq0~h?9yu}GHz~tZ(l9maFZZDx6qQ2?!-5T5 zA*>9ZScus)p%ejhpNwEp_6N=louMy+YDda*PzVEWv0&J{%g|ZX9UeQt)gN|7zr|7OZPpYmZmk+~W^`a1Wi~+dp zui5W0C)Fm~ap*^9-(BC#kF+lsHz;kjeA>)U&h>CSr|t4_d53#N+Da7{^FAFHd6!h0 zA!r~rxe!hG0&?cF!E)Jc;lI?^Aw5&eoz`#J%xwUx_>E|faoWg+l+7`NFE~dXfRO5& z^&%?rTJ(I*DMuO}A2j3kywn8>HsHrpTzpS-x_HJ*VQOQ^P=ucBw#eK~RDGkL?@(lx zVp@bfP=|xh__hXPRG*hZvG(Db_^zjj0sOWgfLH0iTqa&}H`Da{W`p zDyFGH|Es6j1u-2G2)09)tPK`^g*KFf=LgdB{p}9Zxed1ZRbFIa zv(sOwA0n$}J`(F`H1(PGJyZR1VNSi0rtF_ zbKO928a;|_!Hzokl|{i@!?KD2oYACf5`b-*GKTfE43*dvj(S2lvl0M?9OQy?&P&@z zsw_YY%`+9Q$&N(&(3y??jOJ1N-u@StKp!c`;(=c~xNhaAel;+$;U&Qe0Dy%ssmqgo zjaJB^7XoapqJoR`4`MSnZ#t`Xylm6ZKHx(vY%^Q0LzpGPVtSzR;B6r%{J0y3Yh_?9 zpJoBsll00bidc3wzqqw>AU5zS-&wWf_SYhUt`sBH#}XrOZfwjlJo5*_6BArkkeIP4 zV7@V*6>EARVkSXB2l#mSoFJK6MBu>xng!&9HU?@c#^H#ahdyppg7xyg*FPvZ(5DMbXh5&H+Vt66l}-cGB6hy*Zo>2VP)dfO)+eEl+z|WP(6*lp_mY*Hnjbqk zW$yR(?#@(H75cfW|Ir6uf1y`H(@r}ZpB&hW)haYS&!45~sQ(Z5a&NfzC+F5i^UQd0 zjU{6G+kP7&h&&xHe;inq5r|U)?_d_U-|`&JPJ%1Uh_r}UG5&bRKWvIddELlL)$RU z?dwuK2k6Cw{h!NHlQ9PYPv+|JiwggzzpYx!ym0HlnD!Bk%c!g&)pNl1?yD09tsd0c zMj4XEa*l2AaQP1zmTBVH>jD_cx5MNmARx28rTb+OsAzemH$@7ZQi?DusPBA^7N06F z5pvuY${Z~*028M&^?#@@RKO6M5oeH!i&VAhqGk4Ja*#O~W|WBmVo7+}P-z3}XitQc zW_8lgAr}94O5*eKpu5hXV^rC)tJsJs_s?7XhoK8u>r2b)Yzan;F?)TBhqZTWuVxF; z0p|vS1}ek@?V$8+(A+r3x=?82be=!7LG!|713BdY<7I|~+dl(?naJ2XtYl?Px_Y=4 zMlS*I6AZ>#u0|}Wfq}17Gt)iD(7|qH`6swo0p?{em%feQ1ju9fA+T{XoK>W6gkMyJ znDR`7x+%@NqlM~};pZOrwK{o($gKXUGNCl9yqFZbM-Tch4@PhqSXHI|HdBJ{_YRD9eb`wBZ9!$!kvyVQ_fsMKOa?Bbjo@&+M28mK zxkovsYp^O^M0N>yRxbc-BBuXn1s1rDF%LXiD^&Nh?tAk$7P59~LZ!ipbb}-dup=m+ zF{-!JF%h9CZM(D8gA|pEDQEn+QN~SSduO6QKWgtQucX|dXrBP%>}Nzk>rXn$=mL7&KI<$e@8q(%v8U-*Kt|I3jbCuM)>_woJ#nykyElj-Ja1@hyhU z^o|bK)pC?-(RDy+YM7j_=>oriPqF`^Twc@560|a#w^$QQrk=8YDQHdP_9zBay)!b^QnO$l2=?1e&iDA+V0yo9Pt{kPZx z`q=-L>PXdB{efAIcVtH`jiem|O#~qFCTkqi~Noj-M91LXKBpNsfJy^RH1P^<$VRhb)vX>f0 zgzFS-i2)*A;vco4%k_+PQ<}PuV+|0KiXMv59IbOA3)1k1RLJym{C^IZ5l)wI>zPSD zPa7TXf21u67&`N9Rn{8!*XOaw@&DufEu&FD{z8>*@Pmmj!^)meGg*gm?F?LKf+Ix; zN5-J+xr%Nu`e@CbZ^BLpBoyj`hk*C)FMfG0h6s2DX3hd%aPYU><92O&y_8{R<~S{% zFvy#9#^SAj&NRFX^NVaFTo$`}yNk+S_#_1N>U}}PNJx+R zKLmSHb(#|u(T3x&$}&)V-=|Z37i2QxEuS3M*VBrA zyUI#L7x55$D|n1c*VmwK$*07kS|EOJ4Wch7P|190w7pmIc+(qL4_?-Dq|R`wk<LqHS?ll$ z$k&&E3oVo)`rotRVh_AA&8~d{OJOs2@Gs6XAszXa-e4@qWhotKV~7-Pwp>qNX-i{8 zuQ$>9KgXDWtrq9=#kck{uGYh2N`P*)Hc{z4@iiewKEBYpFtjkbpYHp`1qGdk{TP@+ z?mOjss<9U{{t|GvvEBr4;lSZxdCg+e?M8xXV6z}jF~tJ%m-D2T=+j05v6GBpMg1c3 zh$REsKj8&)9!)XT^PnrnLtEL^_-?epB;r*4{_eHRJYlk$LWT3tTCQnp-^jg840XIg zDUn6-Yx$5Gc0h8eXhh{D5BhI&CCl2KV98@K4j(TQj`^H79Px=GU^O4bf&e@AN3G)98gGT3@9&IM)46UYx* zwPJ2i-h+D6eRQWncw4ya_HOWlmj`sN4YC&d^X(!72Dolr)GEO9QtKe!aB9{jD&2%8`>Cl7*bhDJ=ljK>9+J=l@*1nhX-nxs#q}aB=lR~1ai-@ zvEZ~g2(LJl1TQqT^bv`DvFS96c7B&+bc1swzRq`nSux?DCn%+9|JObt9)9-k7YwYt zeu`;Go&g)%D^&$&!mWq->@5qya7FJ0h!0(=7r9LxHO4WOAYAzV%a0Dzjw` zjZ5jr(f-zFFnQu|9(9kV({@$T=>P@@atFL;Al}%x%HlD&lkcy29B^mmAER(W#iaq-a?X z@mu<#ZsV(*oSLsLStlip2uDZgPyoMfa$umFw&fg@(7!kVDF6m}nTs1mXjMzShM^S# zg@MP#EZ_YCa|+_eDg6N0TU;lX&(k0Av5XY$c;;mU9$jf(EMraHUiqj7g=V=3;SQl$ z-iJL=BD9gYbPIGygQjeb3s0dxZM84*wQK7dnMQa^4Ba82wrDfK+QQXr zjFC}jrb#OW^_cLb)R@W>AD zkIGijZp#5f=h}3e_p)}ERbpt&`kx|*A9gBL5XqPlU6a3N&&lIp0e#UlwEr2iDcpm3 zy-_7)<0rQ=+@4e6;8eK>*N}!0p@q)~XpF0W9TiR)~<&Xz)hK`i#XnT^2bBr_=5+-l@OJV!&iQ z)jbVxT&n#MM&U>QcoOypXlGMa**wAc0L{mR{2|6v6{T)4L8 zR~D4HCG?C4M$jM|NEWWTectLiuWe>$U?N?MS%9Lb%WZlfh(JH`jNV+CGE2)XrggW@ zWcuX!A{B6`wn}XY?%q$rXsi%+K7>+7-^Ss)p0lP$b0BCC0p`l0YgJjrfZ%1M!W#MF zR?k3OXJd;~%Kv1im6HWhG)^xWACc);OwB+7&iP-y9x)FOO+~b`G4tkq5rSsZSklXO zu$I|aY;o9Rzw(&>)2Vz6_2KaJk7O|(ilo77w5EcbfX^3Lp1w;m^QcsyJA!`g8S zz_M12yr^5i zfL%RkIT(NhF{p9@R{qpgvw9}(38TGEr6ZeM0zO@$jnGFK{@;dT6ZUK%LvyvI#_Inv zm5r??DgQs`Ej20-006&V(sZF2@{AA+q6^cltCH}iW zU2{xmq38=#U_nt=X-=_Ho0V`abn6O%uy%0k0?SoSZADTHpCiq!&7!89BC(ptcm?J&3D6ft1<|$H)l~`eE^^L_AX1U^W!I;Y z*H<=y%;3#^nod-%PZUo~E&K0}Y2e@@5pb9i>JV*-{AP*v8s^1cOj@F!o!)UqPK$b) zZULVXHgSCVc;>)MO4o1+1xFpQ|{gL(!uqT2`ZiKwChiVMf@`W%POOH7tq* zs`X=%D!oPltCB40>l`*zbi??DrqDeY6<7Dj zn{CH>D5k^r&&(W@o5HU9%?L=U!={&&xa`oTd0lnVMHA|)r}Cya?iap!t9te(DB-eORQ@6zW)tRQ92G|~bbLmB6b!#_u9~F@>%99^c3^gQ zL@3-$lBz0Czi)x0q*~cPpJykJM-^{GGLBPEHB@W0i_h&gMh34wD9S7!N z{UQ&?qd4FOjD-R#dm-O5X|nh?mOd53>qBOhJk_)6b*jrZt~fJBfi0VWj^g6wYx8dkq$XOk?30tkH?TOpl zhXJ$O7IKxiF5#KXC1Czt@+V0zOOa>7pv%3iM@VhAM+6>}?&>1c^aCv!#7h83d@X+E z`f0)4Bp9A2@;QQd8HU7Tm#fPv=t)X`yret{Rl5WhLbxpBT`*UOrqw=3Xi?R9hj!aA zg0y!)iT$z-!BTowk=$zFCOB!Kf`D2@Z@LwT7a!whoRobYoF1vuaXr9Gu#`^GGy7si zcxau|)8PQUL&7V<`^qX9Eu7Nvq~?Tw&F9X72txu*)aBvV4DylC?T%i!1~=rkx$oni zN7cUVn)R>dcN;GOc&Na10`!aoao2RBF8)FFndW;ls%D!LYWr09$-V!U%Q4ipQ;Dft@u0Tf%nB-2A9#{_rdKwzl%&u%$kb$n#dSM(j-8RxtWb8(l-R^m(jl`+rg}K}rS1~Nhj~rX7QD3|+ zfQ+7fQW7Ki_8A*Tgm+~#>kZ_wzQ_y_jG;R%dEoFvX*RuBeKC!Ayra>Y~>g)!M#t8=2Ca=-j*qOw{`c zbH}tAWgB@DiA@;N)gDbv9o?aGT*|k%NgxjmUruFP&wLQ-+>$8iD_bNe34iYJ z@$-k&`diTfgq+N5({=|Kz)F1rAWK!F{?@4B%!MjGvar#A`nH?NX5a|#lBxb(oVN65 zG{C~S@5FlaGn156Fh($PGHvo$`b`VCWOE)7iVen^$9>{Hqi`-SmUIhWayZxnw8IOk zh_O*GM0t`N*`V)qC8#(8`6P87`K5izg+Do9BYeaQd4?EyUy|5khuoa~BQI%1a8vm} zEFreSA|CfB-d1Y47JDntu2^w5diCXfdToQsZ7L+=Sp6``-$j;ZBID~G)8p8kCE`*_ zMW@JKAmPAZ!x+dEqc&OM4jgm|wfgTH5==7JSh^2L5s(=Dz&Kf%B#v239p`;ivXXt+ zJUjGBby+I*M7)v;DQ=aUF{ov`wT4G^OrJVR>PCL6+l1=&zdU_*I<%^&1G)(6eM&U>= z*LkRrU9DEKH-RRlj%!lOkzrkbc>EdAM1KeVRPeNf1& zOHgQ)SE_Xa*=?ipG7Cn6o_ZLLHKvvMEx0iqp4S~!q{I+RdwLH%oPLyztA+rP-Zq6! zC?7LbQiV;0UwpjX2*S?*Hc3R%5vDS@xmZ<%X^nRcHB4)RQDs)H980@f7A^jx(Z~QS zZ5Z#mEvsJHLRJ7bvmL~VRz#7DS2@J; zp%ZRFt#|28q|cfkxY5WtcQDwbpz#2p9wAQvSsStp${1wN8nbTI-qo3mflw5H$RVdp zULh|!oI#P08&8Ng{Ns0bxxfE`7-HiFfM1Dzix4IESsF_%nlNpE*Vl9swKt1DdUc6& zOxTnN#?fnPq3$UcMz7&hzjC#qZr_lq{$l{Q<5%jpvSug3Ddg_y*#jlTQ(FZH-_3K$ z-ukR6StcOT3f4u%=gZHw8Aeg9iL{p%ql3ejBBfpsU@HjYuJbRsu8$vhi@CLKtv^i&TUC4wi%* z^V(NT>`{mL4qVJ9WFl(nk}q+sNgiHTFedbeS6}Y}D)z#8kALqSNgeRcpfgUVlzGh) z0q)A}Y(*Plb3${NnzNy&aW*vy4*kPqd*}yADLhY|a4c~`o_sJ@XYRu;;C<`uOkjL?W&dCi!Eb8&@1kVGxrC}vi(cK zX$lL|U3y-;uAZ;CO5R??9d?dl+homUQa`a8jK7Cz;{w>=%Ig{c>62VD`CQP|qHfhGZUrGdUi z^2lDWpP{;CKX{^YmFw=~Iz>Om$)C5(z>tX|#P^*-my(W+B;|-aRTssCoM(6R^s`hA zU3K)IKZ_hp)<%@h`QHSD3L^~IHd{}t6`@*i)wbGu|Eh7Y@0++U?;>a)r$@8deSBS* z{6%yICVBhFX>0h^NiyrHx|DBWheI_ALMzVONT!>hE1nZ6#G4`1MTtl;bLLMG%eZ{D zi)vDVt{w8y$(_ybrgY(wI(;`&UChw*`E+?WOUh+hA!IXR$qpTEZLdE(?F`oP5Gu7pGS{1p32Pp>Uj*baFat8+(!st}MTtGv`5j4;`4%OGXaqYrcmbMc)A zre^=8_iqoi(a@zdqL4O*f`r=hd!PeFZC98rWRffP>#)DLaCSW3VgcGp0{7ARmQJS5 zt$u(CAi*e%MXig6rD^c(;;8l|mw)r#_2DrwSBqqLmlL-{fzC&FG}02VT1w4E;n;!YvirZ)x1aRyoo0cpUUQLy|h4UX%u+J(uY#Xg{Z<8WOKIoT<5QEDf?1ZQ0S#6z$h z&X)ggZ+7<5AjZF*L;y7%UqK4<=q2*C#XR=Z{pi_hO;AXXEF?vl%|tP;`31W7K86Bv z{IVStVp(*dsC=Lq{H)Cp7y-Hd2!G8tc6*!iQ(KUM@?~}kyALkA5Cud^tfA;yXLpx7 zAo5#hN@(lA_6H70_~i7;CbZZT3ZHT;ZB-YIQmQdNMoUNOVukCf6x}ryu~)a2TCz)} z$g7iKfpW6#+^rZ58&j=_4Bh~~gq%#6R?Z|8@-|ec$B{`1@owoDA0nwu)hSW&dY1>f zb@hT3H=JO|O567!Lxb0%@1!LDx5qy%m$!K6jAc227i$w2vkgS<(dGfiPFsgXr_nA3 zVRwYgQu!JuOg4Dw?{jJZa7QBGDT>jL^Zghvz`V0G2IEpDU}L*ZBdKFx$AO}Lkh*@Y zSdTDD-)duE|K6c>qw;Cw#_ieW^TPb6?zS17*MmP&Bx~;=`TJ2~9fbb7aZN&@+2JO} z3}K;_Z`)C5rG~}_6l7^A>%eGI_EaKdF0otG{g@ob=q7QTeZI2efWZ^^x5WmBwMo?; zoXks&%v=EHMPKLG7rQ6sz)385#jV!nf}w#b{4k0AY+f;P4<@W54>|_aRbx4w3kZ^f zhY|R68r6mtU5_d6p!p6%2@XBxQ)p?4eM zlr-<>=(FpT+DpsXz?(uOBoucgSWTY(NS6>7EG!O4M7Oh%UhGkaYHpnN|whXq_}zGy5WX!XOWXxLT9 zRvh>mmBLwjsHFWWYqW(awpJNZE!+vP9tUD25v{&QPa?sl{t{?YVXcbtBFe`0gw)Xk z@A=;}*hf0gF{Vy(mH8ANQd+A`SeY{^UG%KtD-t(bcI5}M>CY9Xz$@;uX0jT)kd{0( z8o`%GGRCUC|GShST!B%2q*63221QM7;^>oGU*$7#lo~JR-!XH-3Y$ji01@7*qc+iU@Nicn7}IZ!vROpmkjd`q^q20EX`3?bD8pXS z8-;iqcpgkMvw9-~?;iKFy*w6`L3Vy%YoZF%R}<~YrL7)6dd^AsIjh6%fX~Rd;XeBy z^ymUbS84rVaul6wyCeyoPyJec(a@+?g;ola={xs|3!*H85XTji5o95KyV;aQ^D(Bq z;PS`wUO)wpt)H#OT#b*C#tH8zdg|-^&#Bnm%y)VnKU;PG2~SDy44v>NlFd}jdQ`(q ze>>z}&^(6wJ6V;UNB2@q`t#&lQx(lZam^eZBd}eD`8{^FtCew8CD#A#%2Ytl1^hv( z`I^%N#`w!DW)tQ5NQI?43f~z$dm3zy`#Jrl2g7I;{t0H~#Af#2kDQgzQgX8t5x4^K z1c`F^2WjMlCj8fM;gor;>vd8VO(lrL_~qAYD~(k!We-ehk+;N~PbI70%#27A78pt;e;3QP7) zLQ`s;tQOyxZ)PCS4H;asumM}e$J@>mr^rlCoUnxjhUi+vqf&GJtZ@EYB*0aR`yh%ixv_^kfj#DnN6OUU0c)vX0q&vhS zasz?XaDoXt=DeIpMm8^qKnI|GwW=9`Qw~1wKC-@R*ch9|| zq6!Yp5NABkXl1HDZgp+iPdR)OuRv&IPe=>%(sH)ge+#aaf{2%;!b@F5ad&qqWE^t| zrpb9-o~~1ahN9m8(;d;9&qr8~8H;7};%y5JR=c^!@oEQjbIEu9z~HP9?bNKk^D#O? z#)c;Bo2N=b>v1QjW{_E)jP&|Y1L}rqcIW~=={-vW>gpN3d{6DBg`iBQi76uvN;Yd- z+Xg5;hQ{1i;ChBz>dJF$_Z7E7`ZN{hh{Ykutl^@6je|SI`TR*Q3QQ6)$8$+}5-;uH z^bs(WJ=uC*Kr(+8rF%#$dH9w2eSRBs)rTOs5<~!;A)6jZz``0^qh5yz=1zw#KC%_T z<|Ui!r+^(CZLdrkbL;hOp7=#rDS2;g(3w0iQMKXL-A39}2JVrK7L*akv!u2MoKTZR zMTfc~c7%(5(Bv1o#_#5z+;k&*C@UaDDLR~c5EPU24S$FMqyeUbxb$oUUVfl2s-}QP zQ$l{4La*t-jl=_;Am!Eq04oa>4g-EBkRp?$B!>9uI)%b<{#FT8#?A`IRgJR5tzIeL zrfi^kz2wEd`IY!6H9&l_l5|Z)$QZK*#`Jd4zL~iuwnA;+a#w)zQry4<@JLGSS$@ZK ze6;lrPr?uH zz$tZ|IU!06`8^eHVs6IjGr9XPk!|(yQdLm>2eISIJmWlDBuv-qiMM6BXdSk@_~_0}tRh3$SIdmnE%49%HO^Wvgy*vMwz#PdV6fA@XPaYT>k8S!}$( zzK?P|LeY>r8N}8!E$Ak5=~cq7>_VjiM}Nf`D&RDoeGNsw=RZDIo(-_@yk?~4FX{(O zIF1eyX+sE~Z$d-Om>Ra?L3}f6T24F{*7EJ}JtPfn4tfkHG55sSwT^|^L|x6kVU@?e zB04Iq=-eZjJ>d>hS>S)F5`RRh$aTEppMvM0{te`D;|B37}9 z_uJ??aC3C?$o4&&n%XeI9E8?(oI+DB2+W2y4g7ky1XaL;-~FlHgkR2lY%avb&bXc! zsKyG3HbEG#z&;}$!42%<90jfQcA9cG_HwlEEmP~`PA9G{AE-BGN{K8k7o7`~b@aS{ zmYUa>51{N=E6R+czJM7XFSy7WOKr#YB0{7K|A#gV9Ia4Vs78b|f({`QzGuSet}CqaJosvr{|R`1;P^Vo&9{ zMj47WDi5sEM#X%*6=@6YTdsQ$-vO4wLIz3EGh3(2QcvLJkb3ysh6tlLK6@*|LYQ11 z{A+Bq0-v-XP&E8d5oU_p5O*pNN(Cjq31(Fje!NjTj=mV#t|OyNl_xC)=JKz+AJgCX z5W3TK66Uns`M~`S(QaU=x0{XiMX0f4g3cnz1FU!+68UB;PS1aCB=uwPE*_^?g%@hjBtCXnXg8kfNCt8zIWU9<=Z74ET zhw0nKjigSQQ+GutOxv>CYf+;qgt_MWMT6zlnxwTpn&F*RbH~npVl6kOvBV$PHbBV$ zdDX~{0CzS31Ff*vx@LAP2$jD09$5Ky$bJSm8rhO>&R&J^GP_`NGgagygpx-qemB1O zrJz~jAaeF2=rrhgC(2tM54!?7a=)EjzKz!|^wSPMr$(ey3X|e3IysP0B7y$4!NZ7d z9B^T{aO#SbUd&UhN^309iuDkHQ>sx0%}{A|o0Z5=CAU3Y=jYm^!0>FNHtTCQ$IFSO znG9cS!a{eNe~v1bHQhO?g1jdy-)>k$bTtd-98>8FUmSh(K@OVO184J+^4Z}tw z5^O`f4|Mz?^5a(EIlbSo`jaJJNY_A~X4$9mvGmiq#eGD_dYtBbO}rNhaMB|_-*I5O z&0pOqi5qr=1T%XfS*L&zMY}w7mPmGtYcxqw)@Pq7S)v%qd-o@P@#W?ot=mgtdlS3i z2vjK|v~=Hd1olOV&#u6Skm+@gVrGg;DulL~fe~uC)7Q#l|5QjwdJIn3YNsmH3Bx;j7clh22yu7Jvo!Zv_asnY2cd-+gy*mP%ch`G2Ye!kl_mLk?iCHx& z6MTeiK<5m)8$P>`YT7eX>#*L?X+PH4C7dGC0XWF<-vuo+n-pvi{pU-mZz5mnzA-{R zkkHN(Ta#d|cVTc;)bRpf%=`fC=|?8Ws4!J6ixqJqB_a!_a_jKixDa92M8^odp(YE?=YD*VxhE-q=||MI`z?G51=IVyI`Kn&#kmw@I$~5L1|C z7O%E$$yZmOM@yIbrz!n*zCrc=idt&P#j>KiUBn8gSowZ0_WUQx>J1;!GFJzB0Ue1T z^?p4f7y(8R9ChM`}V<-PAF4AzSOZP{_iUvK0Bi^kdvKM|<9<%G#_a_c12hlpE2^D!{r#QHK}ap zt8bNqSx33069Kq9M-l|ok4L1maz?Nj3i@%%>}{kH;{u5gA62#fQ~B+R=#wbPjC)i_ zH+}Ng&O`>nLTrB+y)#?ApO5^}>vi23{~PDp6Z`vdoB9uP zJH@a}uAEw8yURC|&<3|Nl=7`o5AS&IPR^Um6d+JNq}4p)2ODDb*j0x7N}YTp&p;R{ zq1CNTywam^FK)rdaf4Bw-mP+;?-0z^Zd^A?vsv;|Z?IEslth3fAE$%ryP@0F zj#|qEvA33k9U6hY3-;;ikT z1c&h&67m{c*j)Y*Gn#Je!V<>AXQupu)FTUPwDhPda1|O&qjLU^=Z3WRzoRPwS!;70 zV6Py*1np73LGg>VvRaWFi^epF1}Y9-h^J%~t2(89t@gWjlicEC3S$a|=U!yBz!4|X zW{)R`=PTiXa)VY)v!Z*J8UgeahCKw*7)naFv%I*D~kY6mpZRaSx<10VNX6@EA z?0j-V7nMJj1K~JP@Rx7JP8{D^UM0R}0=V_lu3XetK8G%|YZ{`W1%`uU z&+pmq>WylFD*OsZV-^&EOyRVVsaYUdnknu`R%~D=Y==@et%!07rfnfG1NJPr0L$_n z5SU%kqWhQAD?GJ$F{`wQL0(}wU1YuIm=?KrAn_E?mpG`4_vQ^|u}toG5j&_(A;&`0 z^YAbs@)a!f{^n8J%U|GIk2!c*#KDIA=F8C{rg3QH3n@O%YN8L~QIMVCLiN7_mQ7vq zP{iLK<-ZQ1pL!;K={>CiFY?kKVu$+j68D91B(;82F9WGKjbw9oSOKDsl}7$leYlO^ z=AV3JQZyZ)Wy{9d#-bIRh;nbxja%s?^;=8kS>mUz9oDuACh2^SVsTswQu*aVnS?Yf z3zwpzNFdli-X;Kt?wraO{*#=#2$Arz%eEr?_ER?vYhtD{Lq7bI?uLZMil76uMC1u$ z8hfD6r!7AUXlZ!h?wM`6_CltXG1jONeU zbYn2O9yTE+<_6Tpna+317vc7O6R$KhOs?=z3#j~E0{NUxKF|<834rUA;RgNAL(enj zw{0(&qzk)a;)45HoRfy;rBYeRunBh)L`}twSC`Z9Ff_*sG}<50>i57^lFw~-{|A%uKJ7X9O!)IqObd{-yGqgUC$#8Ofli>rwpr?4) z4Df$u3Tgp*!VZ=sfO?M1VMK_gnBrO|Z&~)BFQ}kN&SWtSVZ29&`JVs|fko;QvZ-rD znkfmh9avT(a`#e#sp~Tp^Z6vDu#pWm?*Tx$e2`?*N&YH`4dgS|33f=1i76g-lALNS z9PI<Q>IAzY!en`r{Z%=qFmBmw7+V6LNkva!kUyuj35 za(yr~#szkTfwd9sU0fsbiBiK^0a7A$UOEKn!tzMQEp1-?G;A~wc>2uZTvnRsBhd&j zHPn<>IoS4bde;jo(E<7qTyI)#Zh+b88K2E8eJ}VwAW@goK5jf!V1HG{yMC6!Iw4re z%q+?WEY%EgInzH2W2Ee3gtFOZT!WO%I;6@bHEE@v)29O&cUi^TrU}iFZMBu$$xB}B zqP+Vs(H0o1zJ&zbA33Oem!ROn*}JUwb#b7Y^qmaQVkYzN?(loF{T%w(rVseghPyM2 zbBk<(TH)+E>U`rivlc4ig9?6-;gbP-v8gVa-j1J5r6A7TBHAqF2!>fj$D{Tb9e^h zQpd!_y}OH!F#!+XdDcKf@G8_DFm zUQ|um7Vti?$;a>cHY_5S#enko%UO3KNm5q)@qu!B1DF5GR2f#x{rgOH>vsT*`Z_?v z%-p(2bA(x31?(P5x63$jrAwp}jJxqqw_Y0HsU!3=nNzxS4=pHS8NGl!dS!&60y~5M zn8kRV2^uEJaQ}o4O6QE|2{#aymG8YGvkYwDiC7OnrlWZ{HFTrff{yWc5 zZ03s#M`7WMq{~{d?Xk6IaH*}3%vRAuTr-TTc23%4y`~}fu(j977pIi5 z0_nm82u1m}mLd{l{~%7lZF<>3YoHX^ah!_qRec%knCkM!ui$k{J{h)nV~K{}FK`el z>xV=eiNpl&JPuxn;}S`WYOdfWrTRG4H#i+pQj@@a>OxJ{KNyB+YQ7Ozie-wGEYk2j ziyjw8k@{hLQ|dB7wW)rr`UvEz{^m`;D#$EN%yN=0;#64YBlJ#Us7d-9pwSQ<_E<@HeHqK`>z7Jj=qZ+C)J)bwjpL|tGMYG z|A+@0Q#69vCSJC;n)D>GDN90{{rWxV&c*HJz>a+feb2rJs4y@{5HvO!6WVbBaxZsQ z?3>;W8D4%zN&)L6gv{teUni3?asH|fdT~?=&1j_g+88?lalG8|BQO=}8aqsS`tV<7 zW>I=HhbRfwv=H#NkcG%goT9xVH4v=N>UIcU4z^R{* zrTspzx_LV<3m0iP33N9q?n~im2&la$Pn=YS~)qpB~sO2H1D+AS5V09OFd1$7uIr8 zy1k8{vD*i|%5pxlL5@ct-c>mmM{n<2jp2USHzK)63oTW5wzjJyN$e768)pFj%Z2!h zjXY=9P!ZQ$@_;mfrTDCq;UmU7cKk(5trC-0+1RJxh6QF!iRoYhCl9sj*zLC-bh|wQ z&^@S#*z=)dYvqnikk+mpoWN8)4#*Fc+CbJmkW*TNklZ5LiDfh{Uy!wn+h_{j#1 zw8|XVKB_~GHAPflP<_IF*j!`*UVfRC5S4Nt7=)Am82-zL<{4LSY`CeTclO%YNxAXN z3`fGXDw(@jhSTT0FB3ThD(<;%3#?6_L;`k#DLwA}_abpr7f+ayZGs zGsurPyN)2C@!)AOF+2;j+rHu~UysT&p4Cr%m%nqFH*h^?(4&fTLkC;N0 zm#2V-EEF|5g=gypt7tgxvitU#Mzibvm0`|5dIKFrMYT~VKK&pauq6A7jUiSgY}>sT zNH~ zMI9c4GnKCXj+%R1fXQt~O+ls>5zHK1a@^uYFgzd%T8s^K3G_#J3lU^r#&5`M3Ywq5 z0Q!|y=w>?AuHh@OvEQu1oqS*u#qIAPc8lS}lDmxoNv!>qVdVO+St$fl zdy~G|pcFOWNjZ+Szak0HV`T`A@H)>N{ol=~qh?}F0*@(ZBwkyn#jPYQCSPRYJ+W_M zT0J&~!lq>;6MjLRtV6b%6K8J#wtl?GGig?ZFtUEn6vI)zb~DtWr(j2Bvh&Tx+Hj8; z-```J-qx^2U7cFKQ}FWn%_AWICKiVw(0*RLXCmEM_&NLLk}2TUU^-v>!(45C$qQA_ ztb!5UP++3)aWY?=?&x&ZKgjwO@ydowug#^`qI1|(D!ZZGsLXhmu6H--JoE{}R90vA zi@iZ%?8A>1xG;svR)#=}n4Ohx)`hfY&CDyNY%rsNU9Oho{**bW&zfjMyKTi|Z8DI> z(W0htXypqjKF;c54-!$3o#EzRaxz!@7@vMjv_*y*A0Yvc=MB%Q>c)*sq#5WHxvwO? zEnsGlnU~J6Kwc7kOWpo**lud0K-CyJ7{P@L9#f0x3~8Q&r35;*#h8Pn)rah2F!^G9 zUmYB25@>MK!yM-h?kr(%p!M^|2htUz6{{Y{BW3w~!SsvlCox?|#fOI&>f0m8+Z?A$ zYvg1UVgtqFDeSJnjRdaeBU2LVjPQyrH#^6A669X~_9GAM1{p=4Vh;bI-m4m>%-nM5UA%dba6aq6yn?{b^P2yMu_DY(lTymC;( zR6Bt_S{^2T9zE;l6yvrW>Z;QgJ?3;E4T9W|XD>+xI8)pn{F7{t8KjM*)zfB8hl*2O zs-ipv3H;9aJYT61fuy`{WpgxHyq)==cs#-V@O@=!>|tTI(eIV2@P z(c@wibh8jDD;f{FA8N!)oXxkEkodB-NFYrBu5&NtHb4dSo#!|Q49)h0Qys+%ik!g; z7?LD25@Z2K^n(bQ%x$%g4l_&38t`=@A!duPVy#i@aYOT?QJdKK;#2mh+fYDdz2KHi z2W!IIlvLirLq-)hut2^He+~isXFW|cRCuDbFZUFgf}?WP@0XOp_HtRas$5jjFr4g`^Yq=;}Xq`>O8jR{#J(g2gX62R#iyq^T+2fQZ)W)hHUF0gq_F zBNPZ{noLHmSl5F?Q9R%GcIuJ!8eT8MXzXkY#T73xd37vG4C>8po z2=7LMVq^DxW6QvAZHutSW!Fcq`NvUhKSs8?3yiC1yHPNj22u1A7S*QY=&5X{+Z z$8Ik9!})PnC>5# zB>AO>u=B;Cgx_?tpKuP*im_+KL%&MakpN|1?nOw6u7ivsEEzG9gN!iWY~%gmX2wE} zj0~xDu8S?yI-VJeZA#4Hz|}0;twz%hC|%1XQkXl}GPcA(Z?zmp;6um^{}ME-Y; zwY6%$UGO>u$vI8POkZKt6u)1{_q!$ZgJf50FU||3ot|O4#|o3PGGt=}wRXXV?#Iy5 zCLR^hET~b99h8jO4zni@*k9##Q=|1(8h^EUe<_5#VplL@81ZUDO5fL2$+wdEjL?n@ zT8C3)Zld5n(5w*pxo)M*zyB8?BA>_!|md}>cnhFM8D(OT?-?@Jah8i|Fl|_G2&Oz0V3! z9PNNE&D`J8?vvvL(?92BFLYj=K$JL}O2s|wdZ$U05dJ9tbrAd1Gx1CBX_cQNAIgH2 zT0^;S4fe95nh%~2(-g|i#Yu-eT_Z29LhXDIvmBaqBa&g$r|h-S27y(5)nIpjkd z>B%z5CkZcjM5YE?sQCum;#hC}OFuLWZ(-ntqA@ z1|PoWW()*K{em8#nltNJ0P}1aLOR;wd%YTkg>SW~oFuISy}3SfwXWHiF*CazLYBnZ z2{3{{#n)buQgzSg?cUuA)4CI$`nDA_U&T(Cw9CvBPNqTeD(iA2c1jEB=XS?5bbAxw zr@EnGFIla-_YEDFuFV#0x%Zy}%PseB{XcFBx#ermPy_5B>3eiBIyBT9-=8h;7G*Xt z_Wij~*LmYw-?t9@f~K9ASc``CYMSSL*aB_v>VkLG^umt>fs@n?o8X06FuWTiI);fEUJemY4KTM>p{KIDQKi4rlla9Huk zqx5wy=Z3L6Hn~e%4^rw4LVPk!M2M|Ib#_Gz5Yy=spxz&iNmDXyfnripHo9+IDadNPVm=jm0rx{M%-0x5j{av8ECRb2S<_yyt>QAiz$CBRn@nb$3tMMfNmCnx9tT zyLtUI)ZNbE;eAC_sq~sTNTfSODl6)8!vwBZZCSz8*y%;@f3_(9<;M|-F1Kgi$F)#u zL*KW7gO$>{G^}mkZLX`D*cRu81Q`=qJL1U9*JH4rDbe>x!!zJrJ1jW3YLr)2Qn{($ zdaMG}Qnd2T)O%Pq==c|5$RA76-wPK0YqG2jvfVsyq^kuJhb#M$rDM6b6qa=p~7}b7Ia< z_-p2|$5{+EK}h*-oY4h__-^0=QaHk`X5Na6#2Eak;#p*Zc*%1A`j-D8W%gN?w7kYO zmagk@!bEB8#uU9r5OHX=5Pd}HK3vtj=EEG(_w1Kig$N%pv;Po|uc-T;W1H6N@Vqtp zl@IGta>C!f{pyiIy-imL2w(2NyibSvS?nAtrN0$Q#RD}Ayu!Puxf>GI@2fq%a2f}} zOuz&4PZ<~1#4^72WBI0U&6sZ#kyVe;yr*+w-wWhfYr6lRy$KsG+4GhmaXfLlTj+W z?Rk>W*04oG%2wKb-eYFtBd5zbEH)egAf1yB0}DYr3W(o*KS`p?`t71one)TS@}R#-)ID(*^tXPh{IL$~p|$T4HKONkjS+&pbc z&4^6?q0XiT4&u1bI4)&$o8Z7Ii)tL1VoDGsdq)k}%8!5_mIMYA>jY&VPcWskxSnI% z59$RtSHIYKop`A2uT&g?m9I)xH|WGh4Y zev++(IfDS-lNk5`e6nImO*G}W3N!~WqO0`mBSuRLkvf;5=$(I-(vW6w_MP>930paf zRfr*l%gcc=-+Y^~N})Q^M-|5sVa4T<@H5VjbFM&SqX06qCg&{W;^;|K2V`rSZN07MvT=AB02 z|I63_$W+xPMa!Gg{*dhu&IY{~G%amjz8`(FKE+rF2}H;An=v2~x7Arj;>*<{jx+_h z$+wc*1Qj%JndcZZGT#?YcM>lmegP}2Pm#<@L^rOkGh?LQzQNtS=s|JYb7rfl)wtrL zu^s*K1~Fw+glqDtB(VcwAx|2AzU&ECj$@q=EI>ViU(!!hak7I@S!6Ba1z|YsxOTir z^tTUsSRI;sPx3LmzNRUUO*_pGBte|~dHkD zz0&Qzfgt~!S-Sa^)AUs8DI>|HGjiGEA^Bth%pU244_&dg6P_n{kUch;eQOgb|DQK0 z&wrF=G?VD!bU5_!UOq$`9>dTU{^I+ki4icwA5_Ix&REv*kMXd0kn11=cVbVNs%iG* zU~((KXyH>uaoj9sGAm#KUPeuC)O-UePfiKD1qb)nEn1#y&96~Ym>O--(K66gTvp10 z6=~c%a7m6RR1FI~cCOiKHBYjU`@=0=-#;^YhGD|{ZqA1?`s&by`7upsH13|ALyd%N z)It1F7)1beJ`SN!HEk}jk#3}hhl%B-n+n{;C45;3Y-950G>ksZN`*VyoiYC`ex&;y zr$VEBcU*ICft}A|y>Rc;@+BS)l4{NA;{cHmJ)yQ$YkuOJ@m;RU<|l+L!Ry_+9Q9ds z$qHbh;x)XxIGdcp$FQ_m6%@Y#*3SEZ7MH}IuGo6}(Is5;6nBxF@A2`B`b~v49z4>w zfDtoy(y+5HyfE^Tk2-v5Kt3WK_iAayK~^G{eYf0 zAGUG(kaQpd7hxE<#D1m#p{Ba3f%sIlmn~g`&$63^91B zeIV-;AB5@S-!992Ch%vve{oqV-uV^X< z>u{KrBR*#dkfgmqJa%ExBVsm6+BudGe7zP`h_~57N;{dqK{+!d8YLe9#Aa1#&}<~H$k+`$ByzJE>wnwTsZUrO>yWbzKwCoonGGJXoXn+jqO$U3 zKdiy1@nKdxc*V(fx+KZ7SQ&ryLbHy_xKi6oMiMaC3qIkqO%dFe^Hq0KG5+ADO8I}4 z*rUH@n-&=y$?caNKK?LcNKLp>h^8kkz zgr?4v2idAn&y4s}+21 zdLs~he=>!X&MRtS&swtsWiG+KyYy?e``RgyDM?&I5XTY909LaC2HiLw{z(@Jkn}Zd zZOz`J+@_-TZ1PYbd3ck!{?^$;4uAM~

*nMYp-pTWCgV^ zdhByw0F230Q&A=*^-Q~#k^iBW>fm6>Su3|!kYg;P9NCLHAo#J) z-_-n#MzdnJD64j+I#G%;!dSUdF+Oo=m&N_B`Q_r%GWE_voPll3n>o_Rt9cD?@2Y;} zT%4%Acau*B$W+5iQ#{W+{&{^?rwH4PcDd%IXrXW;l-<3&15v8$uY85}J_xulC;67k zd!b7$zK$sRnqQRAlUvxZ6fXea-#Iv&Ho3W0UjlF^7J$)kmjSV22npkmDmTZ*N(4_c z#mZkQ5dq$e`Ypgadz{6QkKk1xe(xp&CZ+eHet%PUg_aqLwBn}Ro~wS0$d?+BFKI%? zLZtQm3(B<(C%USG4C&kbz-%F~Tk#e53P`MQS$s~6I?s-HO-#M}^Xu)g2d5ha)5WAG zBTkaLj>p#n=z7R?_3gSgCaX9G$$Bwa8t$~JEb~G0SBml+Z`A8O>lwTWAyh+r{X# z#0CSrV(abhiM|Bccc4R>IUGlQ8Yo`&s%v}sW@>o+Ku+?q$)NVj(i}!X2#EED>WJmo zcJdtc7($1B)(v2u*XiCeHlIc! zVP7YC?{j6A30V81W#2533m`Kkj88wyftC`p0ypSkT-kZgaP z+r}Rm!8rd~fs)1Ag$~^VZ;>fCcMV;MM$P{oUqVh+wFTS9 zI$pv&f%nA6IXU>_R0%2&z-(Ds9kXnOXn!7CJP4T_YGk3shC zs!e0GT?Y)R&u5$XY0f`}g&VGK0<&5CJ!(gyS}fu)LMM~mLZIBdsi z*3(!|>6D-O_BuWC_1KtV6{^|Ljq|>wm8ln7ru95qdIzizl{!9WtD&Kc%wV^Q+3{Eq zQum~3XcfAU$RVDL{#V0d!c7kzNx1g1^6wGOzq$yM;{lB=PcKj=Ym_<>W4VF;Op(QJ zRA6F!>#4ZiM41-d3nAu%$p97oo@juypEkZ&)!_uZHfCc|7q8_-Yctm1V^wY~&iPI4 zcTfLkqQg%9^(iG@S(Vf^2{2udW$?&Dn@%dBqZ^gd^#u=1zsw&{ok~o`D_l|Wx?@;e zx&ELHSair=Pk?jtA9BqcL#fqu(`bx++6FKinWaBa%kfwb(Zr{Kh9E7mO9l zq$v`0hN|m2O=yo=V0wix@AAHqgEc8a`5skJGRM#7z215uKr?Goj^NMg5!h#E!Pk^f zxJg2YDI#Bfl>Qb58o^-^QL?p1$=D0K@-8y_{QKtyU>~8>#u=C5A{v`ZV4EpMb*B;3 zUNmUhZKDDT{wTNXn~&$wquP^=M}HdErV5ry8WApd5kusL-(o|?4mZ6(v}r$MYU1rN zS_pzv5o$f+g6#0?eBnrVHcGC_?iG^wmj#MD2qz4){YoZEUtSOTAWF24bD-(mey9)W zUj0v|W+_jhPo>%hQcrWs3xA7@O3grMur^p619O1X2m)9jPI>;cr#CPp!ltd{1%qvC z^JB!AC}Zt-`b-*_p~a=j2wVjb8}UqnhD32Mc6Txgeu?cQqc&qqiRsLeB}Gq7Xq(ua z07-5bKWb*9ZQ7`w|ES_NOz4z}(^V+BhW>Anb&D;sy^vL03V~%hRP>qqnin@ zS4yCh-23je^Ul~!X}RBoASR8`0_bBgAcEOI7diuy+G3-Bpy?&l9Kj-XCMu}!p9ZPh zJPh0b-3^k&Xp04c9de(l4!=3N1C*BYhoZ#@t zxsOy}1kr@Hn9>IP9m{&qIm9R7&OOsrHM?LqnOeDiu!u2;4x*C%pM>Y;PEAW7)xjzN zg8iRek9skHR+aPz`ZRd+>DehLkK3hL!9xB&sSoJt(_y z(${gobsT&Bmwd)5P^N(0h^VYPGVBW~G0C z>^os>tmfIeDf|PEA~y%6U9SR5==@X0v0k#Io*Op&*-0ppNtl*Q@{a~8a{0#?=?2NW z&15zDvY8Am5njtK(zEVzx6p~K+^+G?CY32nKC= z9WZ7o*s<0hL-_@T$1=vi_58cLzy`oT>5WSq{Xo)^cQC8Itj-KZB)t&hch=C-y-qwH zyR%BwO)H)J1`8!wx&exaH#iX(Zb~gn5osGwMyAl7j@#i*a-GTd9!_1Jpe6pDbCJRLi|WD`m@{9C!1Xw0f^T(NgLh*oKYI)=IWwyax-_I^i03G zVu--^0Pb-~$_3;&)qjlw0SpawUS38(9w6m{mz6(zbhc45hfu#T;RYoHSt{pfev4RQ zBXl&7Y8{U?dhR$0!(Qw13j1PftRy&hhXo^!GuwZ0+=JCWnv4Qzu%73O%gZx?gRl|D z6oQN;c_SSPGWPoQhBr+QzoM5Dk?FcCehYG(ZEd#ql}8RHHdez$WsJ0SIL(mx6iMQvHa zn-SLOQjOY|H`JFR*sYpO%6Xf)UBI34;n`l6NDAp2)tw8uSje8F?e0dQN~pda_=ibb z{NjWl*dbT6wgUf(P=x0@2;|@PV9hYjq)7=I1`1#I0bjU7@m?(1;ll%|GB#oVk*)Np z+Wx$I=W-Ngy>6Kp7u-XG@--7RbEAqF!`#kv$Icv0XLRkxmN|qWLt8bg7}IY z*JkgWXBbQ{k?r5s6WBD)Dgdyj2 zn5(3hm6ne$(0);B`F4oRnWmteD@C>yLXY2MTw_mPVsxMfP$~{a7=U`Zi63G6t@n;d z-XtfIp$(UFPi%OzD;h`uYZxHyv^7Qd(T;69$$-1CAa@pEFmy{V~Ta$uTQy^Ww}1p zgGE7#IWy?ASnA5BF|`&fr*OqWCGBicDYQ$sV{f)N6ez)5_`Hj3N_bCjO;^@|G-PrqWsgUj}MDv z!!!zChHrmi;H6+o;D5htlK(!wnCVd-vg8n#0nZ>xpO$-0uA$-w2K1JUY$2Uuo&wXF zzyqL5Qv3KGP;X^S^jy7_r)wUrS3yY({;r@kPK17 zR5YkX&C4NcUA1fL3oM`HEo|inubbEE3NFsFgzUHd1QC;jSYFYHapJZ;&+c1^g;r%L zL8AXAU*4YBYdZ8SN$pc_oPW)4Tk-79DrNzJme>NKeW9x!p!@+LIzGh(S>JD>0$HhR zA~||tG?qS%5haazL)&?~jmcxh^Cu|NUw8>x8?L=G&+32)s|&&rG`uf+?j@5Y?-|;94E11bOp?(Ja~K z^)PrVG#A$dW8ClIAl6{XO3-d3Z0$FC4eZRP25Uj${S*15DZ-Kc*7{<8Y+wWt1i&4k zZS^VN7x*rj>`2|fGkX?K3;ASOxO-NV* zAjAH?@QY)5Z=?4Jp2p2Bt^;0Jbi$hbIL%0X^$ZEA(_v}3P5PIZtbG{+2Lx1q^FfBk zb7CyRAgt%Uz-PSqu_Y4S@wOKUveWwg4np%*6{#v5bZ;B_?j)0RFYl&6&puO?{%tF> z5i)b8xXCh@cx5vXEe^wmRJEpN+X_udu>voXw@*FHR}8mp6es3^hPFm zAF)bclJ4x~Z%f4PRdwPvI?dF~dKP!teg>@&G6QW7#b-@R7c=R_*%3P$ERp&t`^EU3>m_t4$)BKUKJdX05 zwyS&tl%Ki-gHx9n8=LVNPb2GwGego^RjWboodJO2IQ=5x z^{q+4->k9e*!qxgGB{zIKNWTS6z!E!IC9#zx_0H=v8qo`X_m!0S7piOOD9YE$BuTW zN$j-UmB;=9VbnangaRJjc{)r&(2nmblxB}sN97*BfW??YcMc!irLR~NCZpW4?hBXv zEveryBT5s0{v6n(_3t+QlwI0obS+m+$0u^$6i)I^Ll&!!{s7^1}sb4Goul^!QwTY zVdqHh#Bd|U2*ES&A*BcrDbb~cW5zs$(rKUr>JIR>N2XRoQ?OroV@mw%RNWV@3+l!TOPA|{SLggSn#A#h+oX32xL2na z`FgZ8r>R-<8H~CfS0m1TEVe7*0!7zT9hFRKonH+gR7yWgsXe@q>|nf}w^Rr)F*Xwf1Ysi4bB%U$c99yqK>L-Q*+18C9kEC!gm z@-b3E$?Yp9QCtjlw{B3_pP*1dVH+E_4AaO2v+6;x1)Y083B&#*1`Vtj@QtRQjsqTi zCfI|+ykoF$i3W*&5B0!NUV7-Vj0VNK_r@u9b6Czz>=|dHG>CML73|KNXQ!9Lj}T{V z(?!2TP8&bQi_NSrsfzgF#drJAH%z|z6~km$4@0~qg3ok?|4@z4IJ==vm3kUH-D4W* zwuA03XhvVFJ{{@0{$K18+s8sf7YzxEXJcv6;Z}IW52`%N^>_mHWA{EG}UoJ3FyMwow?T02%#rqG=Ac;(s`_#GTDfvwybA5k+N;T;xM-Ag6G)V0aq>Q0_v95#Os)R|}Ew zin)%}tC21m&Oi*_-u>WwvTk^kFFy#LVh~kvTMXMvDAY=}Zd5ov_x7 z&D?ockKvhaGy&Fml#r;72ip4Zo?}z<&|!CafDl^yj&<)yef>}FgW9G8WP@AXIh+%! zaZe=tkKy7>j(Mpc_;%%1qJ0T7j6xSlVPYKNm}@p-57+ri1}ejqw^xZxndix(;R`9m z0z(NdE>5@b*gFlB!vEAq8x`7ox-1zncgg8ncb-4@-iO@h!PD~VJ*OPp^nH-*?z=9MF!GGe@n5k4A+zMoHCwgeaFTU>t?t)%%B*u4a6 z=|*I_>B7Hw!k)1J3b8fPEkm^?yLV?k2ugOx!Do+EKFpM{tZan9dBbNB*>DJ-{{->W ztjnla2zcwLU8%o##2BCyD9FzNY_%Yqj{^!U^+{(V4S*qg@Z0Ca|7*QxaI&OJfCv1T z{cL;S$LCs6t*8%-1>n4kT0t*}!@l=j!#GjO-zN#H%~|w=h*fe`+lt}sp3S9x%nZ=G z(y(h)cH;AKPY2(xa|$?m+6s-yeePB+a!6G0Db9INP&r9Qz03AfrC;^{A0xEXTbDV1 zUa^K9623ZfvvSb1f8f2|O+0rQ;GM;CWwwSKjf@TZzyZ|Gt9wvV!Pz4_V2I2*DZ_DN zK)!!=MEV#w@6TQC@r?VCZXT{4r_I5S4Mb%3 z1NfCk5$k$z?CQ{kp^<1sdetlxqS*DmvTASF110pQk_tya+kssN2Y^MV4;wC^RkZ@a zQe!0!dz#}@4G6eyrUXe85t$fo;p)S(zfEUSSnVWVW~Q>c{M^yUfb}}q5|SAaXuu+g z-SqABA{Ox3{ziC?0xpD8(;uJRKyI}wF_&rveIv+cj7F3ygTVo{|R7CWMp)k!nWPBf^TJcbhf&G0jSXQgMu^kwvdq0eE@Mt=6ZcdY%-S-W68GK?Em;5XZV2hx#d;5FAl?cMA=9W< z#0cl9B#U`C0k;64GxcVphRz!z1D>aNRdDUy=hk}ZKI>ccXfqA^SYBmat!Pb=yf)V~yJL|!QcFG86ZCPAX^h%^8Z zkIc5N1INcJuUGAi4P;=w@xT_9Di6Yf>72A)W;qJN&1?G4g*?{5+6dbRpudyT+JqB% zxv^?uh<1y2Pavu7AAT1&0<4Fpiju^F4_O}CE6-zT=cO+gbnRhTSKf}h9|sC{E7cN?d#HmyYl^n42~Og}?BF3+G-=J$~RRkL&VFt`~`t1>pk z*4c1VgcPpIyCPX{e%*eF!isy*!co zoO!Qr58(@-Ua-rwyuGI!8M?T>Tr2ywz%cV};%S*uBt}8tw~EW?3P8Of$aHh<-8A_O z2ivK=Qg_`ieXhR#M*+p2rz9oYmQ0aBj^O9uTD`TYFmrcenxw&nbrJhkZ;Z2@fewCA zKi^cL`IK5nTva~ANHtku4_9OKW$A&dp11&Uk4!FS)7RAoJNQ}WA^Pwvr(OZc6(<1e z&CMAiq*XXa*QX029;DA+Rpk&0fdo7?)*1Rtiv6`e9&DzgcI||_PW;`_`?yx*ia=LQ zjI3o2IJ#E5-(QB5SD~iU)PP=r({^Xuu~BM*$W35F6lO+m=FV_?y8vRihUU67%%JdB zL9Pnx*!;eJP(>&Tw`RSR-iM)HnS*UN1?gTXo10+Y^~9#LQ3n*)lT0`e25k*=5g1vU z9&QVS%);hV28moSH#G&5P!fbc@(r%{YoUznv$~D8)u$nM;AJ_A|FQ( zx_<6jn+2GZqC54d6V0$ku`1zNc&fc4 z%x*pAt}7{9JIe!;wXAv6Vu(ONQIbI(@s2IHrm>D6%M?^Pn`>qs=0%9wK#=Y5r(RSG zh`>zslX%{H8RdGKdt2-C+4-PIFqKfdv|V5Ds8ggya6pz~2HxB!!3=RUJ*8Yar#fuV z{3>~F*isnlwF^z4Ga}5aia5FMHk%APEr5u7CP*FItDCseNdOKN0vRIL!v>z(MIs#1 z|Db%TgShYjF~M}YC}{dI?~Xar2~j9_JZV+oNIad*V5-0g`TDX=<kGGZkEzZidSl3XJ|YijwIM3>(JNQty-RcBS1op!P=EY%n>NE><1TtKkK4~ljp~kP*;&THPej1 zWqVbMae@ecyaZD1M0TF_YxQI*H{6D|v6Q3|c`8PQg7_P^Y2M1{Lv)~K94##H+auJb z_12$wKB0Csb?l_@}D3VK~h-Mv_9bxB<9lHDZH&@?ctPi;$AZ&~EKw!h!_{wzD3$ zozbrMTnQ%Zlgl_?qW)W*L3Ap+jxJ;)P3%l#RlKq(feV=OUoO`T7sokjoPpc_K1mo# zTS}eR58p6(R{L`#WdNiB(%!xWrV~VeI~r*r-tG{4=1{0F@OT9pSp&3WJpN^*Wh27W zHqu6|l9&s^t+qm^T7jFfXc|3Q?73+7HQ&ML$a^)Y5I|~_=%f~dGB4A+P-1&GcVO7G z?X!4`O`9n?iCP)xdw+efrDjiBw*sq!Wy(P7iY?;P7cb?7=b?n_!Uqhx#-NmO$_W-( zo_;H4zrK+(uF>Vjw-#jufo>+B7-6R zk%FN}@mG@)g9cP|cMF-u*7T23W!-*F3#sEjPU*Y}7bit9-rKbm)WitgdFVhX{r@8E z9NPqoqUGGSZQHhO+qTVV+qP}n=Cp0wc4v|s=S!aCKkU8FSyi>(qG>0Q{X{G63Y+Is zQu?4t8lTC^{Bs~P$C>|hD4<=6&Z*WNHMgIQ_|cA<#{$y)i^-Hj&8JY0VOPqsLDvOt z_j!JL5&DKP+U&7BlG$eA_9O(fr)?W;BKN3r|I)INddSun<}Ts>0{cyN0brD;1a^0M?PluC+|q--M|=v$#>*0wd}G_EE+v z8n)awGg%SVn^!MUUtBxSh834tGbG0V+7~m-7WfS>sHbe1l0yuiC@g0f{Sg9Wa6F*H z-@O1Y0`b9^3q-xk-7_GCvGeiaa`I~ox;f=!<9CK1j{CPj3 zT0h$s%ZLW0yLkZ4jtZ%M+zXJ|y(;XzB!bO#E@E|5hBHfaio7H39Oe+;2nPlYh_(T; zX$*td4roBl25cpWKM}TX_&$n$t(NvOfL~~9wdi(4Lz<<*w|m+? zwwA0j-o0DZL6-&x(696&;8UOXMb+u7t(dB)c;wu=j@^`A8Nka6esZyvx4B@2*k2#z zhikePfb&KXs?X=Rg2NQx>9J5NlrQ)@*mo?hc0i#6oanX%OEr^aua9K|ss2mJXhAeP zBf2឴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

)lQ=M05nKG;S>>6{yfGn&*P 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 Rr?U0t5C8xG000000011l3!nf1 literal 0 HcmV?d00001 diff --git a/astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp b/astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp new file mode 100644 index 0000000000000000000000000000000000000000..45584c2e087073c88b7b82e7e8eb2322fe9bcce1 GIT binary patch literal 11076 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 N)|bp}{nnKL{tq(wOI`o~ literal 0 HcmV?d00001 diff --git a/astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp b/astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp new file mode 100644 index 0000000000000000000000000000000000000000..542dc68268dcee817ecf9cd832e10135c5b97b91 GIT binary patch literal 34164 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 literal 0 HcmV?d00001 diff --git a/astro/public/img/blogs/cohort-analysis/chartNewUsers.webp b/astro/public/img/blogs/cohort-analysis/chartNewUsers.webp new file mode 100644 index 0000000000000000000000000000000000000000..e14a2efb4463a645786428918b7f0d90f1890f0c GIT binary patch literal 37646 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 TyC;&H;%@4TSf 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 literal 0 HcmV?d00001 diff --git a/astro/public/img/blogs/cohort-analysis/chartTotalLogins.webp b/astro/public/img/blogs/cohort-analysis/chartTotalLogins.webp new file mode 100644 index 0000000000000000000000000000000000000000..52e9264355ea07b0885b63e94a4070ea41d3c4e1 GIT binary patch literal 42842 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 VzvAX2;vVRybmgDze4R&u{{lKXzK8$- literal 0 HcmV?d00001 diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 03a03f7186..4e35013950 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -18,15 +18,15 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Some useful customer statistics](#some-useful-customer-statistics) - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) - - [The Three Core Components](#the-three-core-components) - - [Why It Matters](#why-it-matters) - - [Types of Cohorts](#types-of-cohorts) - - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) - - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) - - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) - - [4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do](#4-churn-prediction-the-slipped-away-chart---no--just-mention-dont-do) - - [5. Login Frequency Distribution (Power User Curve)](#5-login-frequency-distribution-power-user-curve) + - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) + - [The Three Core Components](#the-three-core-components) + - [Why It Matters](#why-it-matters) + - [Types of Cohorts](#types-of-cohorts) + - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) + - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) + - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) + - [4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do](#4-churn-prediction-the-slipped-away-chart---no--just-mention-dont-do) + - [5. Login Frequency Distribution (Power User Curve)](#5-login-frequency-distribution-power-user-curve) - [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) - [Summary](#summary) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) @@ -43,6 +43,29 @@ FA has a few built-in charts with views of total logins and registrations in the ![Existing FA charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) +![Total users charts](../../../../astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp) + +![New users charts](../../../../astro/public/img/blogs/cohort-analysis/chartNewUsers.webp) + +![Years since registered chart](../../../../astro/public/img/blogs/cohort-analysis/chartYearsSinceRegistered.webp) + +![Logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp) + +![Percent logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp) + +![Abandonment charts](../../../../astro/public/img/blogs/cohort-analysis/chartAbandonment.webp) + +![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) + +![Returning users chart](../../../../astro/public/img/blogs/cohort-analysis/chartReturningUsers.webp) + +![Friction chart](../../../../astro/public/img/blogs/cohort-analysis/chartFriction.webp) + +![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) + +![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) + + data available: customer identifier, registration date, series of login dates stats per customer: has verified, verification date, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) From 4a6893899464b308469d22491dac983aaa6ee968 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 11:58:00 +0200 Subject: [PATCH 23/76] text --- astro/src/content/blog/cohort-analysis.mdx | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 4e35013950..aa754326a0 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -15,7 +15,8 @@ import InlineField from 'src/components/InlineField.astro'; import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) -- [Some useful customer statistics](#some-useful-customer-statistics) +- [FusionAuth Native Reports](#fusionauth-native-reports) +- [Understanding External Customer Analysis](#understanding-external-customer-analysis) - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) @@ -37,12 +38,25 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FA to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FA login stats to work from lets you know who to analyze. -## Some useful customer statistics +## FusionAuth Native Reports -FA has a few built-in charts with views of total logins and registrations in the Reports section. But if you want a deeper analysis, you need to extract your customer data and calculate your own statistics. +FA has a few built-in charts with views of total logins and registrations in the Reports section. ![Existing FA charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) +FA provides several simple charts: + +- Number of logins: Per application, time period, and user +- Number of registrations: Per application and time period +- Number of daily active users: Per application and time period +- Number of monthly active users: Per application and time period + +Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. If you want even deeper analysis on a regular basis, you then need to investigate the world of business intelligence (BI): data extraction, denormalization, and dashboards. + +## Understanding External Customer Analysis + + + ![Total users charts](../../../../astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp) ![New users charts](../../../../astro/public/img/blogs/cohort-analysis/chartNewUsers.webp) From 4c97c81d6a0ed9d103c12d9c08028037518c58b2 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 13:42:45 +0200 Subject: [PATCH 24/76] save --- astro/src/content/blog/cohort-analysis.mdx | 42 ++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index aa754326a0..52e41d4e3e 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -16,7 +16,13 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [FusionAuth Native Reports](#fusionauth-native-reports) -- [Understanding External Customer Analysis](#understanding-external-customer-analysis) +- [Understanding Addition User Charts](#understanding-addition-user-charts) + - [Total Users Charts](#total-users-charts) + - [User acquisition Charts](#user-acquisition-charts) + - [User Age Chart](#user-age-chart) + - [Logins Per Year Charts](#logins-per-year-charts) + - [Percent Logins Per Year Charts](#percent-logins-per-year-charts) + - [Abandonment Charts](#abandonment-charts) - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) @@ -53,22 +59,54 @@ FA provides several simple charts: Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. If you want even deeper analysis on a regular basis, you then need to investigate the world of business intelligence (BI): data extraction, denormalization, and dashboards. -## Understanding External Customer Analysis +## Understanding Addition User Charts +This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the program. +The charts below were created from a thousand users with random registration and login dates, so you won't see realistic patterns, but they're enough to understand the concepts. + +### Total Users Charts ![Total users charts](../../../../astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp) +The total user charts show the number of users that have joined your service. This allows you to see if your business is growing as well as you expect. Users who are registered but are no longer active are not shown here. You need to compare total users with user activity and abandonment metrics (shown later). + +This chart, like many others, separates users into those that verified themselves (confirming their email address) and those that did not. Unverified users can act like an outlier in your data, distorting your statistics. But it's still useful to know how many there are, and to try ways of encouraging users to register. + +### User acquisition Charts + ![New users charts](../../../../astro/public/img/blogs/cohort-analysis/chartNewUsers.webp) +This user acquisition chart is useful to see if any advertising campaigns, or new features, have attracted new users. Be aware that there might be a time delay between your marketing effort and the number of new registrations. You can also investigate any spikes or dips in the chart (such as in the middle of 2018) and see if there was any extra conversation about your business online, or complaints about competitors. + +This chart doesn't show if the users actually use your service after registering — it's user acquisition not user retention. + +### User Age Chart + ![Years since registered chart](../../../../astro/public/img/blogs/cohort-analysis/chartYearsSinceRegistered.webp) +The age chart groups users into the number of years they have used your service. It's an indication of how much experience the average user has with your business. + +Notice that this chart is the reverse of the new users per year chart. + +### Logins Per Year Charts + ![Logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp) +The logins per year and month show how active your users are. These charts, and some of the later charts, depend on the expiry duration of your login tokens. Longer expiry times mean that users login less frequently. You can adjust the sample code to analyze a period that makes sense for your configuration. + +### Percent Logins Per Year Charts + ![Percent logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp) +The percent login charts are a more useful version of the previous charts. Here the value shown is a ratio of logins to number of users. In 2025 you can see a large fraction, 0.7, of users are actively using your service. The increasing trend over time indicates this example business has shown increasing value to customers. + +### Abandonment Charts + ![Abandonment charts](../../../../astro/public/img/blogs/cohort-analysis/chartAbandonment.webp) + + ![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) ![Returning users chart](../../../../astro/public/img/blogs/cohort-analysis/chartReturningUsers.webp) From a1f5f9da8ea076f8c92dad5b4c566362715da72b Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 13:54:55 +0200 Subject: [PATCH 25/76] save --- astro/src/content/blog/cohort-analysis.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 52e41d4e3e..37218566ff 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -105,7 +105,7 @@ The percent login charts are a more useful version of the previous charts. Here ![Abandonment charts](../../../../astro/public/img/blogs/cohort-analysis/chartAbandonment.webp) - +The first abandonment chart is the opposite of user activity. Here you see how many users haven't logged in for 1, 2, 6, or more than 12 months. The majority (over 500 out of 1000 users) haven't logged in for at least a year. ![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) From a4c65ff9714a4b827733464a65f9818e59d11173 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 15:32:27 +0200 Subject: [PATCH 26/76] save --- .../cohort-analysis/chartLoginsPerYear.webp | Bin 34164 -> 34988 bytes .../chartPercentLoginsPerYear.webp | Bin 34814 -> 36446 bytes astro/src/content/blog/cohort-analysis.mdx | 6 +++++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp b/astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp index 542dc68268dcee817ecf9cd832e10135c5b97b91..4f2336838b17c04a423087b7ce8e2395e8b37ba3 100644 GIT binary patch literal 34988 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 diff --git a/astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp b/astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp index 37119b06989507a7753e1d495861f573795cd670..371fb79a02bc3573edb881e1884ccb3c1e871f47 100644 GIT binary patch literal 36446 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 G3;qL{(e)7k literal 34814 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 Date: Mon, 12 Jan 2026 15:48:17 +0200 Subject: [PATCH 27/76] chart explanations --- astro/src/content/blog/cohort-analysis.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 06ebfb8fdc..5bb1cda247 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -23,6 +23,9 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Logins Per Year Charts](#logins-per-year-charts) - [Percent Logins Per Year Charts](#percent-logins-per-year-charts) - [Abandonment Charts](#abandonment-charts) + - [Activity Cohort Chart](#activity-cohort-chart) + - [Returning Users Chart](#returning-users-chart) + - [Friction Chart](#friction-chart) - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) @@ -111,12 +114,26 @@ The first abandonment chart is the opposite of user activity. Here you see how m While the first chart is a static metric calculated today, the second abandonment chart shows the trend of users who haven't logged in for at least six months, per year. You can see this amount is steadily increasing over time. This contradicts the activity chart shown earlier, which said that users are logging in *more* each year. This apparent contradiction is because the activity chart was relative (percent of users) and the abandonment chart is absolute (number of users). Depending on which statistic is more useful to you, you can change any absolute chart in the code to a relative chart by dividing the annual value by the number of users in that year. The total number of users is found in `totalUsersPerYearChart.verifiedData` and `totalUsersPerYearChart.unverifiedData`. +### Activity Cohort Chart + ![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) +The activity cohort chart groups users by how frequently they use the service. Here you can see most registered users don't login at all. There is a large number who logged in up to four times in the last year (you should change the period to match your business and token expiry duration). And there is a barely a handful of dedicated users. + +Like the abandonment chart and other cohort charts, you should take some sample users in each group and investigate which features they use, to determine which parts of your business offer the most value to customers and keeps them engaged. + +### Returning Users Chart + ![Returning users chart](../../../../astro/public/img/blogs/cohort-analysis/chartReturningUsers.webp) +The returning users chart shows how many users log in after at least a year of not using your service. If you notice any clear spikes, it might correlate to the release of a new version or feature, a marketing campaign you ran, or customers leaving a competitor. This is similar to the analysis in the user acquisition chart, but for customers who are already familiar with your offering and are coming back to give you another try. + +### Friction Chart + ![Friction chart](../../../../astro/public/img/blogs/cohort-analysis/chartFriction.webp) +The friction chart groups users by how long it takes them to log in the first time after registering. It shows both how easy the registration to usage flow is (low friction), and how much the registration process interests the users in actually using your offering. If they realise while registering that your service isn't what they're really looking for, the time until they login will be high. This example chart shows that nearly all users do login, which is good and indicates high interest, but only after a month, which means the business should make it easier for users to explore the service after registering. + ![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) ![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) From 4ecd0e091f15fd7e445cf571b81c8e5e95f8bf97 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 16:00:54 +0200 Subject: [PATCH 28/76] charts explained --- astro/src/content/blog/cohort-analysis.mdx | 42 ++++++++++------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 5bb1cda247..9443d93dba 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -16,7 +16,7 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [FusionAuth Native Reports](#fusionauth-native-reports) -- [Understanding Addition User Charts](#understanding-addition-user-charts) +- [Understanding Additional User Charts](#understanding-additional-user-charts) - [Total Users Charts](#total-users-charts) - [User acquisition Charts](#user-acquisition-charts) - [User Age Chart](#user-age-chart) @@ -26,7 +26,10 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Activity Cohort Chart](#activity-cohort-chart) - [Returning Users Chart](#returning-users-chart) - [Friction Chart](#friction-chart) -- [Extract customer data](#extract-customer-data) + - [Login frequency chart](#login-frequency-chart) + - [Cohort analysis chart](#cohort-analysis-chart) +- [How To Run The Chart Code For Your FA Instance](#how-to-run-the-chart-code-for-your-fa-instance) + - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) - [The Three Core Components](#the-three-core-components) @@ -62,7 +65,7 @@ FA provides several simple charts: Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. If you want even deeper analysis on a regular basis, you then need to investigate the world of business intelligence (BI): data extraction, denormalization, and dashboards. -## Understanding Addition User Charts +## Understanding Additional User Charts This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the program. @@ -132,39 +135,30 @@ The returning users chart shows how many users log in after at least a year of n ![Friction chart](../../../../astro/public/img/blogs/cohort-analysis/chartFriction.webp) -The friction chart groups users by how long it takes them to log in the first time after registering. It shows both how easy the registration to usage flow is (low friction), and how much the registration process interests the users in actually using your offering. If they realise while registering that your service isn't what they're really looking for, the time until they login will be high. This example chart shows that nearly all users do login, which is good and indicates high interest, but only after a month, which means the business should make it easier for users to explore the service after registering. +The friction chart groups users by how long it takes them to log in the first time after registering. It shows both how easy the registration to usage flow is (low friction), and how much the registration process interests the users in actually using your offering. If they realise while registering that your service isn't what they're really looking for, the time until they login might be never. -![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) +This example chart shows that nearly all users do login, which is good and indicates high interest, but only after a month, which means the business should make it easier for users to explore the service after registering. -![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) +### Login frequency chart +![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) -data available: customer identifier, registration date, series of login dates +A login frequency chart groups users by the number of times they logged in in the past month. You want this chart to be as far to the right as possible. -stats per customer: has verified, verification date, acquisition (date registered), login frequency, login regularity, abandonment (date of last login) +In this example, you can see the vast majority of users didn't log in at all. This business is not currently healthy. -groups: for each stat you can create groups to get an idea of numbers of each type of customer +### Cohort analysis chart -aggregate stats: customers per date, abandonment per date, acquisition by date +![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) -stats granularity can be day, month, year +The cohort analysis chart is a heatmap that shows user retention over the following year, per month. The x-axis shows the number of months after registration, from 0 to 12. The y-axis shows the month of registration. Pick any row (point on the y-axis) and read the chart from left to right. You'll see how many users log in in the first month after the register, after the second month, and so on. You'll most likely see most users login a lot in the first month or two, and slowly decline in logins over the next twelve months. If the decline tends towards zero however, then your service doesn't provide long-term value to customers. -look at how users used your app or support service before abandonment +The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart (but this is just because users with later registration dates have to squeeze more random login dates into less time). -List of charts: -- Total number of users (split bar chart showing verified/unverified) per year and month -- User acquisition per year and month (sales performance. also cohort by age) -- Number of users per age in years (mirror image of user acquisition per year, but shows customer analysis and retention) -- Number of logins per year and month -- Percent logins per year and month -- Number of users that haven't logged in for 1, 2, 6, 12 months -- Number users that haven't logged in for 6 months by year -- Number of users that log in 0,<=4,>4 times per year in 2025 (cohort) -- Returning users by month (users who haven't logged in in the last 6 months who returned in a specific month (new feature, competitor change, or advertising) +## How To Run The Chart Code For Your FA Instance -logins affected by how long token lasts, so you need to set your own values in the charts. -## Extract customer data +### Extract customer data While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. From c3ba383d4e90e3e0b2ba85207a9c6acd026129c0 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 16:13:09 +0200 Subject: [PATCH 29/76] chart explanation proofread --- astro/src/content/blog/cohort-analysis.mdx | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 9443d93dba..d30599c718 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -18,7 +18,7 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [FusionAuth Native Reports](#fusionauth-native-reports) - [Understanding Additional User Charts](#understanding-additional-user-charts) - [Total Users Charts](#total-users-charts) - - [User acquisition Charts](#user-acquisition-charts) + - [User Acquisition Charts](#user-acquisition-charts) - [User Age Chart](#user-age-chart) - [Logins Per Year Charts](#logins-per-year-charts) - [Percent Logins Per Year Charts](#percent-logins-per-year-charts) @@ -63,27 +63,29 @@ FA provides several simple charts: - Number of daily active users: Per application and time period - Number of monthly active users: Per application and time period -Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. If you want even deeper analysis on a regular basis, you then need to investigate the world of business intelligence (BI): data extraction, denormalization, and dashboards. +Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. + +If you then want even deeper analysis on a regular basis, you to dive into the world of business intelligence (BI): data extraction, denormalization, and dashboards. ## Understanding Additional User Charts -This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the program. +This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the code. -The charts below were created from a thousand users with random registration and login dates, so you won't see realistic patterns, but they're enough to understand the concepts. +The charts below were created from a thousand random users with random registration and login dates, so you won't see realistic patterns, but they're enough to illustrate the concepts. ### Total Users Charts ![Total users charts](../../../../astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp) -The total user charts show the number of users that have joined your service. This allows you to see if your business is growing as well as you expect. Users who are registered but are no longer active are not shown here. You need to compare total users with user activity and abandonment metrics (shown later). +The total user charts show the number of users that joined your service. This allows you to see if your business is growing as well as you expect. Users who are registered but are no longer active are not shown here. So you need to compare total users with user activity and abandonment metrics (shown later). -This chart, like many others, separates users into those that verified themselves (confirming their email address) and those that did not. Unverified users can act like an outlier in your data, distorting your statistics. But it's still useful to know how many there are, and to try ways of encouraging users to register. +This chart, like many others, separates users into those that verified themselves (confirming their email address) and those that did not. Unverified users can act like an outlier in your data, distorting your statistics. But it's still useful to know how many there are, and to try ways of encouraging users to verify. -### User acquisition Charts +### User Acquisition Charts ![New users charts](../../../../astro/public/img/blogs/cohort-analysis/chartNewUsers.webp) -This user acquisition chart is useful to see if any advertising campaigns, or new features, have attracted new users. Be aware that there might be a time delay between your marketing effort and the number of new registrations. You can also investigate any spikes or dips in the chart (such as in the middle of 2018) and see if there was any extra conversation about your business online, or complaints about competitors. +A user acquisition chart is useful to see if any advertising campaigns, or new features, have attracted new users. Be aware that there might be a time delay between your marketing effort and the number of new registrations. You can also investigate any spikes (such as in the middle of 2018) or dips in the chart and see if there was any extra conversation about your business online, or complaints about competitors. This chart doesn't show if the users actually use your service after registering — it's user acquisition not user retention. @@ -93,7 +95,7 @@ This chart doesn't show if the users actually use your service after registering The age chart groups users into the number of years they have used your service. It's an indication of how much experience the average user has with your business. -Notice that this chart is the reverse of the new users per year chart. +Notice that this chart is the mirror image of the new users per year chart. ### Logins Per Year Charts @@ -121,7 +123,7 @@ While the first chart is a static metric calculated today, the second abandonmen ![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) -The activity cohort chart groups users by how frequently they use the service. Here you can see most registered users don't login at all. There is a large number who logged in up to four times in the last year (you should change the period to match your business and token expiry duration). And there is a barely a handful of dedicated users. +The activity cohort chart groups users by how frequently they use the service. Here you can see most registered users don't login at all. There is a large number who logged in up to four times in the last year (you should change the period to match your business and token expiry duration). And there is a barely a handful of dedicated users who log in more than four times a year. Like the abandonment chart and other cohort charts, you should take some sample users in each group and investigate which features they use, to determine which parts of your business offer the most value to customers and keeps them engaged. @@ -151,9 +153,9 @@ In this example, you can see the vast majority of users didn't log in at all. Th ![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) -The cohort analysis chart is a heatmap that shows user retention over the following year, per month. The x-axis shows the number of months after registration, from 0 to 12. The y-axis shows the month of registration. Pick any row (point on the y-axis) and read the chart from left to right. You'll see how many users log in in the first month after the register, after the second month, and so on. You'll most likely see most users login a lot in the first month or two, and slowly decline in logins over the next twelve months. If the decline tends towards zero however, then your service doesn't provide long-term value to customers. +The cohort analysis chart is a heatmap that shows user retention over the following year, per month. The x-axis shows the number of months after registration, from 0 to 12. The y-axis shows the month of registration. Pick any row (point on the y-axis) and read the chart from left to right. You'll see how many users log in in the first month after they register, after the second month, and so on. You'll likely see most users log in a lot in the first month or two, and slowly decline in logins over the next twelve months. If the decline tends towards zero however, then your service doesn't provide long-term value to customers. -The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart (but this is just because users with later registration dates have to squeeze more random login dates into less time). +The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart. (But in this hypothetical example, the increase is just because users with later registration dates have to squeeze more random login dates into less time). ## How To Run The Chart Code For Your FA Instance From 47dc510e77803ea9552cebb4e5936ab9501b28ed Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 18:21:57 +0200 Subject: [PATCH 30/76] explain cohort analysis --- astro/src/content/blog/cohort-analysis.mdx | 43 +++++++++++----------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index d30599c718..3a66dacd79 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -16,6 +16,7 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Introduction](#introduction) - [FusionAuth Native Reports](#fusionauth-native-reports) +- [An Overview Of Cohort Analysis](#an-overview-of-cohort-analysis) - [Understanding Additional User Charts](#understanding-additional-user-charts) - [Total Users Charts](#total-users-charts) - [User Acquisition Charts](#user-acquisition-charts) @@ -31,10 +32,6 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [How To Run The Chart Code For Your FA Instance](#how-to-run-the-chart-code-for-your-fa-instance) - [Extract customer data](#extract-customer-data) - [From Gemini](#from-gemini) - - [Introduction to Cohort Analysis](#introduction-to-cohort-analysis) - - [The Three Core Components](#the-three-core-components) - - [Why It Matters](#why-it-matters) - - [Types of Cohorts](#types-of-cohorts) - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) @@ -67,11 +64,30 @@ Unfortunately more complex charts aren't possible directly in FA because they ar If you then want even deeper analysis on a regular basis, you to dive into the world of business intelligence (BI): data extraction, denormalization, and dashboards. +## An Overview Of Cohort Analysis + +Cohort analysis is a behavioral analytics technique that groups users by shared characteristics or experiences within a period. You can then track the actions of each group over time. + +There are three concepts involved in an analysis: + +- **Cohort:** A group of users who performed a specific action (like registration) within a specific timeframe (a day, week, or month). +- **Metric:** The behavior you are measuring, such as logins, purchases, or feature usage. +- **Time Horizon:** The period over which you track that metric (Day 0, Day 1, Week 4, etc.). + +Cohort analysis is useful to distinguish between **growth** and **retention**. A product might have 10,000 active users, which looks healthy. However, cohort analysis might reveal that 9,000 of those users registered this month, while only 5% of users from six months ago ever returned. This indicates an abandonment problem, where you are successfully acquiring users but failing to keep them. + +There are two types of cohorts: + +- **Acquisition cohorts:** Groups defined by *when* they joined. This is the most common type and helps identify if newer versions of your product are better at retaining users than older versions. +- **Behavioral cohorts:** Groups defined by *what they did*. For example, you might compare a cohort of users who uploaded a profile picture in their first hour versus a cohort that didn't. + +Since this article focusses only on FA, or any other authentication gateway you use, the only data you have are registration and login dates, not purchases or features. Thus, behavioral cohorts are not covered here. + ## Understanding Additional User Charts This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the code. -The charts below were created from a thousand random users with random registration and login dates, so you won't see realistic patterns, but they're enough to illustrate the concepts. +The charts below were created from a thousand random users with random registration and login dates, so you won't see realistic patterns, but they're enough to illustrate the concepts. Some charts are for cohorts, but the dashboard starts with some useful general charts first. ### Total Users Charts @@ -195,23 +211,6 @@ The `users.json` file has structure below. ## From Gemini -### Introduction to Cohort Analysis - -Cohort analysis is a behavioral analytics technique that breaks down users into related groups based on shared characteristics or experiences within a defined time span. Instead of looking at users as one monolithic unit, you analyze them through a "lifecycle" lens to see how behavior changes over time. - -#### The Three Core Components - -* **The Cohort:** A group of users who performed a specific action (usually signing up) within a specific timeframe (a day, week, or month). -* **The Metric:** The behavior you are measuring, such as logins, purchases, or feature usage. -* **The Time Horizon:** The period over which you track that metric (Day 0, Day 1, Week 4, etc.). - -#### Why It Matters -Cohort analysis is primarily used to distinguish between **growth** and **retention**. A product might have 10,000 active users, which looks healthy. However, cohort analysis might reveal that 9,000 of those users signed up this month, while only 5% of users from six months ago ever returned. This indicates a "leaky bucket" problem where you are successfully acquiring users but failing to keep them. - -#### Types of Cohorts -1. **Acquisition Cohorts:** Groups defined by *when* they joined. This is the most common type and helps identify if newer versions of your product are better at retaining users than older versions. -2. **Behavioral Cohorts:** Groups defined by *what they did*. For example, you might compare a cohort of users who uploaded a profile picture in their first hour versus a cohort that didn't. This helps identify the "Aha! moment" where users find value. - --- From 92f79a78e343a9e4b5935994f168ec1434ac7da5 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 18:25:42 +0200 Subject: [PATCH 31/76] other name for chart --- astro/src/content/blog/cohort-analysis.mdx | 45 ++-------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 3a66dacd79..9d43087942 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -31,12 +31,6 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Cohort analysis chart](#cohort-analysis-chart) - [How To Run The Chart Code For Your FA Instance](#how-to-run-the-chart-code-for-your-fa-instance) - [Extract customer data](#extract-customer-data) -- [From Gemini](#from-gemini) - - [Recommended Charts for Product Owners](#recommended-charts-for-product-owners) - - [1. Retention Heat Map (The "N-Day" Retention)](#1-retention-heat-map-the-n-day-retention) - - [3. Time-to-First-Login (Friction Analysis)](#3-time-to-first-login-friction-analysis) - - [4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do](#4-churn-prediction-the-slipped-away-chart---no--just-mention-dont-do) - - [5. Login Frequency Distribution (Power User Curve)](#5-login-frequency-distribution-power-user-curve) - [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) - [Summary](#summary) - [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) @@ -165,6 +159,8 @@ A login frequency chart groups users by the number of times they logged in in th In this example, you can see the vast majority of users didn't log in at all. This business is not currently healthy. +This chart is also known as the L30 chart or Power User Curve. + ### Cohort analysis chart ![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) @@ -209,39 +205,6 @@ The `users.json` file has structure below. }] ``` -## From Gemini - - - ---- - -### Recommended Charts for Product Owners - -Since your dataset is restricted to **registration dates** and **login dates**, you are essentially looking at "Pulse" and "Retention" metrics. Here are several charts that would provide deeper insights for a Product Owner: - -#### 1. Retention Heat Map (The "N-Day" Retention) -While your current charts show totals and percentages over time, a heat map shows the percentage of a specific registration cohort that returns in subsequent months. -* **X-Axis:** Months since registration (Month 0, Month 1, Month 2...). -* **Y-Axis:** The registration month (Jan 2025, Feb 2025...). -* **Value:** % of that cohort that logged in during that specific month. -* **PO Value:** Identifies exactly when users drop off. If Month 1 retention is dropping, the onboarding is the problem. If Month 6 retention is dropping, the long-term value proposition is the problem. - - -#### 3. Time-to-First-Login (Friction Analysis) -* **Calculation:** `firstLoginDate` - `registrationDate`. -* **Visual:** A histogram showing how many users log in immediately, within 24 hours, or after a week. -* **PO Value:** High friction in registration often leads to a "ghost" user base where people register but never actually enter the app. - -#### 4. Churn Prediction (The "Slipped Away" Chart) - no , just mention, don't do -This is an evolution of your abandonment chart but focused on the *velocity* of loss. -* **Calculation:** Users who logged in during Month N-1 but did not log in during Month N. -* **PO Value:** This is a leading indicator. If the number of "Slipped Away" users is growing faster than new registrations, the product is in a state of contraction. - -#### 5. Login Frequency Distribution (Power User Curve) -* **X-Axis:** Number of days in a month a user logged in (1 to 31). -* **Y-Axis:** Count of users. -* **PO Value:** Also known as the "L30" chart. A "U-shaped" curve (high counts at 1 day and 30 days) indicates a healthy product with a dedicated core of power users. A "left-heavy" curve indicates a product used only for "one-off" tasks. - ## Calculate user statistics and display in charts @@ -401,9 +364,7 @@ where users_id in (select users_id from identities WHERE is_primary=true and ver ## todo -unique user logins for all charts - not high frequency login users that clutter averages -use 10 000 users -copy in correct sql date creation code into article. +use go instead of js fa https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis From 27c9739246362979ab4a982b5a54ddebc78fd54f Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Mon, 12 Jan 2026 18:27:43 +0200 Subject: [PATCH 32/76] save --- astro/src/content/blog/cohort-analysis.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 9d43087942..eb0a63a22e 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -27,13 +27,13 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Activity Cohort Chart](#activity-cohort-chart) - [Returning Users Chart](#returning-users-chart) - [Friction Chart](#friction-chart) - - [Login frequency chart](#login-frequency-chart) - - [Cohort analysis chart](#cohort-analysis-chart) + - [Login Frequency Chart](#login-frequency-chart) + - [Cohort Analysis Chart](#cohort-analysis-chart) - [How To Run The Chart Code For Your FA Instance](#how-to-run-the-chart-code-for-your-fa-instance) - - [Extract customer data](#extract-customer-data) -- [Calculate user statistics and display in charts](#calculate-user-statistics-and-display-in-charts) + - [Extract Customer Data](#extract-customer-data) +- [Calculate And Display The Charts](#calculate-and-display-the-charts) - [Summary](#summary) -- [Appendix — How to create fake customer data in FA](#appendix--how-to-create-fake-customer-data-in-fa) +- [Appendix — How To Create Fake Customer Data In FA](#appendix--how-to-create-fake-customer-data-in-fa) - [todo](#todo) @@ -151,7 +151,7 @@ The friction chart groups users by how long it takes them to log in the first ti This example chart shows that nearly all users do login, which is good and indicates high interest, but only after a month, which means the business should make it easier for users to explore the service after registering. -### Login frequency chart +### Login Frequency Chart ![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) @@ -161,7 +161,7 @@ In this example, you can see the vast majority of users didn't log in at all. Th This chart is also known as the L30 chart or Power User Curve. -### Cohort analysis chart +### Cohort Analysis Chart ![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) @@ -172,7 +172,7 @@ The y-axis is valuable because it shows you if your business is getting better o ## How To Run The Chart Code For Your FA Instance -### Extract customer data +### Extract Customer Data While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. @@ -206,7 +206,7 @@ The `users.json` file has structure below. ``` -## Calculate user statistics and display in charts +## Calculate And Display The Charts Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. @@ -248,7 +248,7 @@ node app.mjs ## Summary -## Appendix — How to create fake customer data in FA +## Appendix — How To Create Fake Customer Data In FA To create an FA application with fake users and login data you need to run a JS and SQL script. From 761cc67697395ef65287ed8ba9d14edb305dc3fb Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 13 Jan 2026 17:22:47 +0200 Subject: [PATCH 33/76] save --- astro/src/content/blog/cohort-analysis.mdx | 65 ++++++++-------------- 1 file changed, 24 insertions(+), 41 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index eb0a63a22e..6edfe0ccac 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -171,6 +171,9 @@ The y-axis is valuable because it shows you if your business is getting better o ## How To Run The Chart Code For Your FA Instance +Let's look at how to create the charts above for your business. All you need is [Docker](https://www.docker.com/get-started). If you prefer not to use Docker, you need to have [Go](https://go.dev/doc/install) installed and a PostgreSql client (like the free IDE [DBeaver](https://dbeaver.io/download/)). + +You also need to have an instance of FusionAuth with data you want to analyze. If you don't have any data yet, you can use the code in the addendum to create test data. ### Extract Customer Data @@ -178,20 +181,30 @@ While application databases, like FA, store data in a denormalized structure to The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database using a separate FA instance. -Create a file called `extract.mjs` and insert the code below. Change the variables at the top to match your FA instance. +Use git to clone the [accompanying repository](https://github.com/ritza-co/fusionauth-user-charts), or download and unzip it. -```js -import * as fs from 'fs/promises'; +```sh +git clone https://github.com/ritza-co/fusionauth-user-charts.git +cd fusionauth-user-charts +``` + +Edit the file `3extract.go` and update the constants near the top to match your FusionAuth URL, API key, and application Id. +To run the extraction with Docker, use the command below. + +```sh +docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwork -v .:/app -v ./gocache:/go/pkg -v ./buildcache:/root/.cache/go-build -w /app golang:1.25-bookworm sh -c "go run 3extract.go" ``` -Run the file with the command below. +The only parameter you need to change is `--network faNetwork`. Ensure that your FusionAuth instance is running on the same network as the extraction code (`localhost` won't work in Docker), or if you run FusionAuth remotely you can remove the network parameter entirely. + +If you installed Go directly on your computer, you can run the command below instead of using Docker. ```sh -node extract.mjs +go run 3extract.go ``` -This command creates two files, `faUsers.json` containing the raw data from FA, and `users.json` containing the processed set of users with all login dates but all other fields removed. +The extraction creates two files, `faUsers.json` containing the raw data from FA, and `users.json` containing the processed set of users with all login dates. The `users.json` file has structure below. @@ -205,46 +218,16 @@ The `users.json` file has structure below. }] ``` +

## Calculate And Display The Charts -Create a file called `app.mjs` in the same directory as the `users.json` file you extracted earlier and insert the code below. - -```js -// clear; docker run --init -it --rm --name "app" -v ".:/app" -w "/app" -p 7777:7777 node:24.12.0-slim sh -c "node --watch 4app.mjs"; - -import express from 'express'; -import * as fs from 'fs/promises'; +The last step is to run the webserver that displays the charts. -``` +TODO run code -page.html - -```html - - - - - - User statistics - - - -
-
-
- -``` - -Run the code with the command below. - -```sh -npm install express -node app.mjs -``` ## Summary From 9853940fca3392d7c7007f40169c35b8da6f99b0 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 13 Jan 2026 21:25:21 +0200 Subject: [PATCH 34/76] explain how to run code --- astro/src/content/blog/cohort-analysis.mdx | 140 ++++++--------------- 1 file changed, 39 insertions(+), 101 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 6edfe0ccac..76040e16d6 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -175,6 +175,10 @@ Let's look at how to create the charts above for your business. All you need is You also need to have an instance of FusionAuth with data you want to analyze. If you don't have any data yet, you can use the code in the addendum to create test data. + + ### Extract Customer Data While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. @@ -219,135 +223,69 @@ The `users.json` file has structure below. ``` ## Calculate And Display The Charts The last step is to run the webserver that displays the charts. -TODO run code +If you're using Docker, run the command below. + +```sh +docker run --init -it --rm --platform linux/amd64 --name "app" -p 7777:7777 -v .:/app -v ./gocache:/go/pkg -v ./buildcache:/root/.cache/go-build -w /app golang:1.25-bookworm sh -c "go mod tidy && go run 4app.go" +``` + +You don't need to edit any parameters or constants this time because the code makes the charts from the JSON files and doesn't talk to FA. +When the calculations are done, the terminal will say `Charts created`. + +Browse to http://localhost:7777 to view your charts. ## Summary +In this guide you learnt how to use basic FA login data to analyze user behavior. If you see any patterns you'd like to investigate further, edit the code to log user Ids in any group that interest you. Use those Ids to investigate which features in your app affect those users. + +You can also edit `4app.go` and `5page.html` to add any new charts that you need. + ## Appendix — How To Create Fake Customer Data In FA -To create an FA application with fake users and login data you need to run a JS and SQL script. +To create fake users and login data for an FA application you need to run a Go file and SQL script. There is no way to create fake dates using the FA API, so having direct access to the database to run SQL is required. -Create a file called `fake.mjs` containing the code below. It will register 10 000 new users when run. +If you haven't done so already, use git to clone the [accompanying repository](https://github.com/ritza-co/fusionauth-user-charts), or download and unzip it. -```js -async function registerUsers(num) { - for (let i = 1; i <= num; i++) { - try { - const response = await fetch('http://fa:9011/api/user/registration', { - method: 'POST', - headers: { - Authorization: '33052c8a-c283-4e96-9d2a-eb1215c69f8f-not-for-prod', - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - user: { email: `${i}@example.com`, password: 'password' }, - registration: { applicationId: 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e' } - }) - }); - if (!response.ok) { - const errorBody = await response.text(); - console.log(`httpError ${response.status} for user ${i}@example.com: ${errorBody}`); - return; - } - const result = await response.json(); - console.log(JSON.stringify(result)); - } catch (error) { - console.log(`networkError for user ${i}@example.com: ${(error).message}`); - } - console.log(''); - } -} - -await registerUsers(10000); +```sh +git clone https://github.com/ritza-co/fusionauth-user-charts.git +cd fusionauth-user-charts ``` -Adjust the URL, authorization key, and application Id in the code above to match your FA instance. Then run the file with the command below. +Edit the `1createMockData.go` file. Adjust the URL, authorization key, and application Id in the code above to match your FA instance. Then run the file with the command below. ```sh -node fake.mjs +docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwork -v .:/app -v ./gocache:/go/pkg -v ./buildcache:/root/.cache/go-build -w /app golang:1.25-bookworm sh -c "go run 1createMockData.go" ``` -If you don't have Node installed, or want to avoid running code directly on your computer, you can use Docker with the command below. (If you're running FA on your local machine, you need to put FA and the command on the same `--network`.) +The only parameter you need to change is `--network faNetwork`. Ensure that your FusionAuth instance is running on the same network as the extraction code (`localhost` won't work in Docker), or if you run FusionAuth remotely you can remove the network parameter entirely. + +If you installed Go directly on your computer, you can run the command below instead of using Docker. ```sh -docker run --init -it --rm --name "app" -v ".:/app" -w "/app" --network faNetwork node:24.12.0-slim sh -c "node fake.mjs"; +go run 1createMockData.go ``` -Once the users are created, you need randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. This can't be done with the FA API, so you need to run SQL directly on the PostgreSQL FA database. - -Run the SQL below. - -```sql --- randomize registration dates. a day from 2015 to 2025 -UPDATE user_registrations SET insert_instant = - EXTRACT(EPOCH FROM ( - '2015-01-01'::DATE + (FLOOR(('2025-12-31'::DATE - '2015-01-01'::DATE) * random()))::INT - )::TIMESTAMP WITHOUT TIME ZONE)::BIGINT; - --- check dates if you want --- SELECT * FROM user_registrations - --- set 5% users to unverified -UPDATE identities -SET verified = CASE - WHEN random() < 0.05 THEN false - ELSE true -END -WHERE identities.is_primary = true; - -UPDATE identities -SET verified_reason = 5 -WHERE identities.is_primary = true; - --- add login dates -WITH user_min_instant AS ( - SELECT - user_registrations.users_id, - MIN(user_registrations.insert_instant) AS minInstant - FROM - user_registrations - GROUP BY - user_registrations.users_id -), -users_with_series AS ( - SELECT - users.id AS usersId, - user_min_instant.minInstant, - generate_series(1, (1 + floor(random() * 4991))::INTEGER) AS seriesNum -- 10 to 5000 logins - FROM - users - JOIN - user_min_instant ON users.id = user_min_instant.users_id -) -INSERT INTO raw_logins (applications_id, instant, ip_address, identities_value, identities_type, users_id) -SELECT - 'e9fdb985-9173-4e01-9d73-ac2d60d1dc8e', - (users_with_series.minInstant + FLOOR( - (EXTRACT(EPOCH FROM '2026-01-01 00:00:00Z'::timestamp) - users_with_series.minInstant) * random() - ))::BIGINT, - '127.0.0.1', - NULL, - NULL, - users_with_series.usersId -FROM - users_with_series; - --- delete logins for unverified users -delete from raw_logins -where users_id in (select users_id from identities WHERE is_primary=true and verified=false) +Once the users are registered, you need to randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. To do this, you can either connect to your FA database in a SQL browser and run the contents of `2createMockData.slq`, or use the command below with Docker. + +```sh +docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwork -v .:/app -w /app postgres:16-bookworm sh -c "PGPASSWORD=postgres psql -h faDb -U postgres -d fusionauth -f 2createMockData.sql" ``` +In the command above, you need to set your database location, username, and password to match your instance (these will probably be in your `.env` file or `docker-compose.yml` file). + +That's all. You are now ready to run scripts 3 and 4 to extract the data and create the charts. + + ## todo -use go instead of js fa https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis From 60c2cffeeae173a35fa71ee54bc604c5ecd8d1bf Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 13 Jan 2026 21:42:21 +0200 Subject: [PATCH 35/76] explain code --- astro/src/content/blog/cohort-analysis.mdx | 60 ++++++++++------------ 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 76040e16d6..7ac0efd12d 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -1,7 +1,7 @@ --- publish_date: 2025-12-01 title: "Analyzing why customers leave — cohort analysis in FusionAuth" -description: "" +description: "https://github.com/FusionAuth/fusionauth-site/issues/2990" authors: Person McPersonface image: /img/blogs/header-example.svg categories: Education @@ -29,32 +29,31 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; - [Friction Chart](#friction-chart) - [Login Frequency Chart](#login-frequency-chart) - [Cohort Analysis Chart](#cohort-analysis-chart) -- [How To Run The Chart Code For Your FA Instance](#how-to-run-the-chart-code-for-your-fa-instance) +- [How To Run The Chart Code For Your FusionAuth Instance](#how-to-run-the-chart-code-for-your-fusionauth-instance) - [Extract Customer Data](#extract-customer-data) - [Calculate And Display The Charts](#calculate-and-display-the-charts) - [Summary](#summary) -- [Appendix — How To Create Fake Customer Data In FA](#appendix--how-to-create-fake-customer-data-in-fa) -- [todo](#todo) +- [Appendix — How To Create Fake Customer Data In FusionAuth](#appendix--how-to-create-fake-customer-data-in-fusionauth) ## Introduction -Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FA to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FA login stats to work from lets you know who to analyze. +Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FusionAuth to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FusionAuth login stats to work from lets you know who to analyze. ## FusionAuth Native Reports -FA has a few built-in charts with views of total logins and registrations in the Reports section. +FusionAuth has a few built-in charts with views of total logins and registrations in the Reports section. -![Existing FA charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) +![Existing FusionAuth charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) -FA provides several simple charts: +FusionAuth provides several simple charts: - Number of logins: Per application, time period, and user - Number of registrations: Per application and time period - Number of daily active users: Per application and time period - Number of monthly active users: Per application and time period -Unfortunately more complex charts aren't possible directly in FA because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. +Unfortunately more complex charts aren't possible directly in FusionAuth because they are overly time-consuming to calculate. If you want more informative charts, you need to export your data and calculate statistics manually. This guide will you show how to do that. If you then want even deeper analysis on a regular basis, you to dive into the world of business intelligence (BI): data extraction, denormalization, and dashboards. @@ -75,11 +74,11 @@ There are two types of cohorts: - **Acquisition cohorts:** Groups defined by *when* they joined. This is the most common type and helps identify if newer versions of your product are better at retaining users than older versions. - **Behavioral cohorts:** Groups defined by *what they did*. For example, you might compare a cohort of users who uploaded a profile picture in their first hour versus a cohort that didn't. -Since this article focusses only on FA, or any other authentication gateway you use, the only data you have are registration and login dates, not purchases or features. Thus, behavioral cohorts are not covered here. +Since this article focusses only on FusionAuth, or any other authentication gateway you use, the only data you have are registration and login dates, not purchases or features. Thus, behavioral cohorts are not covered here. ## Understanding Additional User Charts -This guide is accompanied by code that creates charts from your FA user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the code. +This guide is accompanied by code that creates charts from your FusionAuth user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the code. The charts below were created from a thousand random users with random registration and login dates, so you won't see realistic patterns, but they're enough to illustrate the concepts. Some charts are for cohorts, but the dashboard starts with some useful general charts first. @@ -127,7 +126,7 @@ The percent login charts are a more useful version of the previous charts. Here The first abandonment chart is the opposite of user activity. Here you see how many users haven't logged in for 1, 2, 6, or more than 12 months. The majority (over 500 out of 1000 users) haven't logged in for at least a year. -While the first chart is a static metric calculated today, the second abandonment chart shows the trend of users who haven't logged in for at least six months, per year. You can see this amount is steadily increasing over time. This contradicts the activity chart shown earlier, which said that users are logging in *more* each year. This apparent contradiction is because the activity chart was relative (percent of users) and the abandonment chart is absolute (number of users). Depending on which statistic is more useful to you, you can change any absolute chart in the code to a relative chart by dividing the annual value by the number of users in that year. The total number of users is found in `totalUsersPerYearChart.verifiedData` and `totalUsersPerYearChart.unverifiedData`. +While the first chart is a static metric calculated today, the second abandonment chart shows the trend of users who haven't logged in for at least six months, per year. You can see this amount is steadily increasing over time. This contradicts the activity chart shown earlier, which said that users are logging in *more* each year. This apparent contradiction is because the activity chart was relative (percent of users) and the abandonment chart is absolute (number of users). Depending on which statistic is more useful to you, you can change any absolute chart in the code to a relative chart by dividing the annual value by the number of users in that year. ### Activity Cohort Chart @@ -169,21 +168,21 @@ The cohort analysis chart is a heatmap that shows user retention over the follow The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart. (But in this hypothetical example, the increase is just because users with later registration dates have to squeeze more random login dates into less time). -## How To Run The Chart Code For Your FA Instance +## How To Run The Chart Code For Your FusionAuth Instance Let's look at how to create the charts above for your business. All you need is [Docker](https://www.docker.com/get-started). If you prefer not to use Docker, you need to have [Go](https://go.dev/doc/install) installed and a PostgreSql client (like the free IDE [DBeaver](https://dbeaver.io/download/)). You also need to have an instance of FusionAuth with data you want to analyze. If you don't have any data yet, you can use the code in the addendum to create test data. ### Extract Customer Data -While application databases, like FA, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. +While application databases, like FusionAuth, store data in a denormalized structure to save space, data analysis needs data to be normalized for fast retrieval and computation. -The first step to analyze your user data in FA is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database using a separate FA instance. +The first step to analyze your user data in FusionAuth is to extract it and store it in a usable format. As this process puts the database under load, you should run it on a copy of your database using a separate FusionAuth instance. Use git to clone the [accompanying repository](https://github.com/ritza-co/fusionauth-user-charts), or download and unzip it. @@ -208,7 +207,7 @@ If you installed Go directly on your computer, you can run the command below ins go run 3extract.go ``` -The extraction creates two files, `faUsers.json` containing the raw data from FA, and `users.json` containing the processed set of users with all login dates. +The extraction creates two files, `faUsers.json` containing the raw data from FusionAuth, and `users.json` containing the processed set of users with all login dates. The `users.json` file has structure below. @@ -226,6 +225,8 @@ The `users.json` file has structure below. If you have more than 999999 users, you will need to edit `numberOfResults=999999` in the script, and possibly extract your users in batches and concatenate the JSON output files. +The extraction script uses the [FusionAuth API](https://fusionauth.io/docs/apis/users), for example `/api/user/search`. Users are retrieved first, with registration dates and verification data. Then for each user, all login dates are retrieved. + ## Calculate And Display The Charts The last step is to run the webserver that displays the charts. @@ -236,21 +237,23 @@ If you're using Docker, run the command below. docker run --init -it --rm --platform linux/amd64 --name "app" -p 7777:7777 -v .:/app -v ./gocache:/go/pkg -v ./buildcache:/root/.cache/go-build -w /app golang:1.25-bookworm sh -c "go mod tidy && go run 4app.go" ``` -You don't need to edit any parameters or constants this time because the code makes the charts from the JSON files and doesn't talk to FA. +You don't need to edit any parameters or constants this time because the code makes the charts from the JSON files and doesn't talk to FusionAuth. When the calculations are done, the terminal will say `Charts created`. Browse to http://localhost:7777 to view your charts. +The app reads all data from `users.json` in the function `main()`, calculates the charts, then inserts them into `5page.html` and returns that page when requested. The HTML uses [Chart.js](https://www.chartjs.org) for chart display. Each chart is calculated in parallel, using the function `runParallel()` in the function `getChartData()`. The chart calculations themselves are simply loops through the users and login dates. If you want to change any chart, you can edit any calculation function without breaking any of the others — they are all independent. If you want to add a new chart, create a new function and call it from `getChartData()`. If any chart is taking too long to calculate, you can comment out the function call and in `5page.html` comment out the chart display. + ## Summary -In this guide you learnt how to use basic FA login data to analyze user behavior. If you see any patterns you'd like to investigate further, edit the code to log user Ids in any group that interest you. Use those Ids to investigate which features in your app affect those users. +In this guide you learnt how to use basic FusionAuth login data to analyze user behavior. If you see any patterns you'd like to investigate further, edit the code to log user Ids in any group that interest you. Use those Ids to investigate which features in your app affect those users. -You can also edit `4app.go` and `5page.html` to add any new charts that you need. +You can also edit `4app.go` and `5page.html` to add any new charts that you need. LLMs handle Go and HTML code very well due to the languages' simplicity. If you provide both files to any chatbot, it should instantly be able to add any chart you want. -## Appendix — How To Create Fake Customer Data In FA +## Appendix — How To Create Fake Customer Data In FusionAuth -To create fake users and login data for an FA application you need to run a Go file and SQL script. There is no way to create fake dates using the FA API, so having direct access to the database to run SQL is required. +To create fake users and login data for an FusionAuth application you need to run a Go file and SQL script. There is no way to create fake dates using the FusionAuth API, so having direct access to the database to run SQL is required. If you haven't done so already, use git to clone the [accompanying repository](https://github.com/ritza-co/fusionauth-user-charts), or download and unzip it. @@ -259,7 +262,7 @@ git clone https://github.com/ritza-co/fusionauth-user-charts.git cd fusionauth-user-charts ``` -Edit the `1createMockData.go` file. Adjust the URL, authorization key, and application Id in the code above to match your FA instance. Then run the file with the command below. +Edit the `1createMockData.go` file. Adjust the URL, authorization key, and application Id in the code above to match your FusionAuth instance. Then run the file with the command below. ```sh docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwork -v .:/app -v ./gocache:/go/pkg -v ./buildcache:/root/.cache/go-build -w /app golang:1.25-bookworm sh -c "go run 1createMockData.go" @@ -273,7 +276,7 @@ If you installed Go directly on your computer, you can run the command below ins go run 1createMockData.go ``` -Once the users are registered, you need to randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. To do this, you can either connect to your FA database in a SQL browser and run the contents of `2createMockData.slq`, or use the command below with Docker. +Once the users are registered, you need to randomize their registration dates, set 5% of user email addresses to unverified, and create thousands of login dates. To do this, you can either connect to your FusionAuth database in a SQL browser and run the contents of `2createMockData.slq`, or use the command below with Docker. ```sh docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwork -v .:/app -w /app postgres:16-bookworm sh -c "PGPASSWORD=postgres psql -h faDb -U postgres -d fusionauth -f 2createMockData.sql" @@ -281,11 +284,4 @@ docker run --init -it --rm --platform linux/amd64 --name "app" --network faNetwo In the command above, you need to set your database location, username, and password to match your instance (these will probably be in your `.env` file or `docker-compose.yml` file). -That's all. You are now ready to run scripts 3 and 4 to extract the data and create the charts. - - -## todo - -fa - -https://github.com/FusionAuth/fusionauth-site/issues/2990 - cohort analysis +That's all. You are now ready to run scripts 3 and 4 to extract the data and create the charts. \ No newline at end of file From b687af82ec9d6b63fe295b75b39fd05640b3d243 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 13 Jan 2026 21:46:50 +0200 Subject: [PATCH 36/76] add description --- astro/src/content/blog/cohort-analysis.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 7ac0efd12d..3837cc4d94 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -1,7 +1,7 @@ --- publish_date: 2025-12-01 title: "Analyzing why customers leave — cohort analysis in FusionAuth" -description: "https://github.com/FusionAuth/fusionauth-site/issues/2990" +description: "https://github.com/FusionAuth/fusionauth-site/issues/2990." authors: Person McPersonface image: /img/blogs/header-example.svg categories: Education From 3139f7bce62bb37c56cc12044df0d00248f9eb47 Mon Sep 17 00:00:00 2001 From: RichardJECooke Date: Tue, 13 Jan 2026 22:02:25 +0200 Subject: [PATCH 37/76] proofread --- astro/src/content/blog/cohort-analysis.mdx | 54 ++++++++++++---------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/astro/src/content/blog/cohort-analysis.mdx b/astro/src/content/blog/cohort-analysis.mdx index 3837cc4d94..77f186b2d6 100644 --- a/astro/src/content/blog/cohort-analysis.mdx +++ b/astro/src/content/blog/cohort-analysis.mdx @@ -38,13 +38,13 @@ import InlineUIElement from 'src/components/InlineUIElement.astro'; ## Introduction -Do you know how frequently your customers use your app? Do you know how many people sign up but quickly lose interest in your service? In this article, you'll learn how to use FusionAuth to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FusionAuth login stats to work from lets you know who to analyze. +Do you know how frequently your customers use your app? Do you know how many people register but quickly lose interest in your service? In this article, you'll learn how to use FusionAuth to track customer statistics: retention rates, customer age analysis, and customer cohorts (groups). While you need to investigate your own application database for reasons *why* customers stay or leave, having a base of FusionAuth login statistics to work from lets you know who to analyze. ## FusionAuth Native Reports FusionAuth has a few built-in charts with views of total logins and registrations in the Reports section. -![Existing FusionAuth charts](../../../../astro/public/img/blogs/cohort-analysis/faCharts.webp) +![Existing FusionAuth charts](/img/blogs/cohort-analysis/faCharts.webp) FusionAuth provides several simple charts: @@ -63,7 +63,7 @@ Cohort analysis is a behavioral analytics technique that groups users by shared There are three concepts involved in an analysis: -- **Cohort:** A group of users who performed a specific action (like registration) within a specific timeframe (a day, week, or month). +- **Cohort:** A group of users who perform a specific action (like registration) within a specific timeframe (a day, week, or month). - **Metric:** The behavior you are measuring, such as logins, purchases, or feature usage. - **Time Horizon:** The period over which you track that metric (Day 0, Day 1, Week 4, etc.). @@ -74,17 +74,17 @@ There are two types of cohorts: - **Acquisition cohorts:** Groups defined by *when* they joined. This is the most common type and helps identify if newer versions of your product are better at retaining users than older versions. - **Behavioral cohorts:** Groups defined by *what they did*. For example, you might compare a cohort of users who uploaded a profile picture in their first hour versus a cohort that didn't. -Since this article focusses only on FusionAuth, or any other authentication gateway you use, the only data you have are registration and login dates, not purchases or features. Thus, behavioral cohorts are not covered here. +Since this article focusses only on measuring with FusionAuth, or any other authentication gateway you use, the only data you have are registration and login dates, not purchases or features. Thus, behavioral cohorts are not covered here. ## Understanding Additional User Charts -This guide is accompanied by code that creates charts from your FusionAuth user registration and login data. This section explains how to use each chart. In the next section, you'll learn how to run the code. +This guide is accompanied by code that creates charts from your FusionAuth user registration and login data. This section explains each chart type. In the next section, you'll learn how to run the code. The charts below were created from a thousand random users with random registration and login dates, so you won't see realistic patterns, but they're enough to illustrate the concepts. Some charts are for cohorts, but the dashboard starts with some useful general charts first. ### Total Users Charts -![Total users charts](../../../../astro/public/img/blogs/cohort-analysis/chartTotalUsers.webp) +![Total users charts](/img/blogs/cohort-analysis/chartTotalUsers.webp) The total user charts show the number of users that joined your service. This allows you to see if your business is growing as well as you expect. Users who are registered but are no longer active are not shown here. So you need to compare total users with user activity and abandonment metrics (shown later). @@ -92,15 +92,15 @@ This chart, like many others, separates users into those that verified themselve ### User Acquisition Charts -![New users charts](../../../../astro/public/img/blogs/cohort-analysis/chartNewUsers.webp) +![New users charts](/img/blogs/cohort-analysis/chartNewUsers.webp) -A user acquisition chart is useful to see if any advertising campaigns, or new features, have attracted new users. Be aware that there might be a time delay between your marketing effort and the number of new registrations. You can also investigate any spikes (such as in the middle of 2018) or dips in the chart and see if there was any extra conversation about your business online, or complaints about competitors. +A user acquisition chart is useful to see if any advertising campaigns, or new features, have attracted new users. Be aware that there might be a time delay between your marketing effort and the number of new registrations. You can also investigate any spikes or dips in the chart and see if there was any extra conversation about your business online, or complaints about competitors. -This chart doesn't show if the users actually use your service after registering — it's user acquisition not user retention. +This chart doesn't show if the users actually use your service after registering — it's user **acquisition** not user **retention**. ### User Age Chart -![Years since registered chart](../../../../astro/public/img/blogs/cohort-analysis/chartYearsSinceRegistered.webp) +![Years since registered chart](/img/blogs/cohort-analysis/chartYearsSinceRegistered.webp) The age chart groups users into the number of years they have used your service. It's an indication of how much experience the average user has with your business. @@ -108,7 +108,7 @@ Notice that this chart is the mirror image of the new users per year chart. ### Logins Per Year Charts -![Logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartLoginsPerYear.webp) +![Logins per year and month charts](/img/blogs/cohort-analysis/chartLoginsPerYear.webp) The logins per year and month show how active your users are. These charts, and some of the later charts, depend on the expiry duration of your login tokens. Longer expiry times mean that users login less frequently. You can adjust the sample code to analyze a period that makes sense for your configuration. @@ -116,13 +116,13 @@ Sometimes it's more meaningful to work with deduplicated logins for a period. In ### Percent Logins Per Year Charts -![Percent logins per year and month charts](../../../../astro/public/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp) +![Percent logins per year and month charts](/img/blogs/cohort-analysis/chartPercentLoginsPerYear.webp) The percent login charts are a more useful version of the previous charts. Here the value shown is a ratio of logins to number of users. In 2025 you can see just less than half, 0.45, of users are actively using your service. The increasing trend of usage over time indicates this example business has shown increasing value to customers. ### Abandonment Charts -![Abandonment charts](../../../../astro/public/img/blogs/cohort-analysis/chartAbandonment.webp) +![Abandonment charts](/img/blogs/cohort-analysis/chartAbandonment.webp) The first abandonment chart is the opposite of user activity. Here you see how many users haven't logged in for 1, 2, 6, or more than 12 months. The majority (over 500 out of 1000 users) haven't logged in for at least a year. @@ -130,21 +130,21 @@ While the first chart is a static metric calculated today, the second abandonmen ### Activity Cohort Chart -![2025 logins chart](../../../../astro/public/img/blogs/cohort-analysis/chart2025Logins.webp) +![2025 logins chart](/img/blogs/cohort-analysis/chart2025Logins.webp) The activity cohort chart groups users by how frequently they use the service. Here you can see most registered users don't login at all. There is a large number who logged in up to four times in the last year (you should change the period to match your business and token expiry duration). And there is a barely a handful of dedicated users who log in more than four times a year. -Like the abandonment chart and other cohort charts, you should take some sample users in each group and investigate which features they use, to determine which parts of your business offer the most value to customers and keeps them engaged. +Like the abandonment chart and other cohort charts, you should take some sample users in each group and investigate which features they use, to determine which parts of your business offer the most value to customers and keep them engaged. ### Returning Users Chart -![Returning users chart](../../../../astro/public/img/blogs/cohort-analysis/chartReturningUsers.webp) +![Returning users chart](/img/blogs/cohort-analysis/chartReturningUsers.webp) The returning users chart shows how many users log in after at least a year of not using your service. If you notice any clear spikes, it might correlate to the release of a new version or feature, a marketing campaign you ran, or customers leaving a competitor. This is similar to the analysis in the user acquisition chart, but for customers who are already familiar with your offering and are coming back to give you another try. ### Friction Chart -![Friction chart](../../../../astro/public/img/blogs/cohort-analysis/chartFriction.webp) +![Friction chart](/img/blogs/cohort-analysis/chartFriction.webp) The friction chart groups users by how long it takes them to log in the first time after registering. It shows both how easy the registration to usage flow is (low friction), and how much the registration process interests the users in actually using your offering. If they realise while registering that your service isn't what they're really looking for, the time until they login might be never. @@ -152,7 +152,7 @@ This example chart shows that nearly all users do login, which is good and indic ### Login Frequency Chart -![Login frequency chart](../../../../astro/public/img/blogs/cohort-analysis/chartLoginFrequency.webp) +![Login frequency chart](/img/blogs/cohort-analysis/chartLoginFrequency.webp) A login frequency chart groups users by the number of times they logged in in the past month. You want this chart to be as far to the right as possible. @@ -162,11 +162,11 @@ This chart is also known as the L30 chart or Power User Curve. ### Cohort Analysis Chart -![Cohort analysis chart](../../../../astro/public/img/blogs/cohort-analysis/chartHeatmap.webp) +![Cohort analysis chart](/img/blogs/cohort-analysis/chartHeatmap.webp) The cohort analysis chart is a heatmap that shows user retention over the following year, per month. The x-axis shows the number of months after registration, from 0 to 12. The y-axis shows the month of registration. Pick any row (point on the y-axis) and read the chart from left to right. You'll see how many users log in in the first month after they register, after the second month, and so on. You'll likely see most users log in a lot in the first month or two, and slowly decline in logins over the next twelve months. If the decline tends towards zero however, then your service doesn't provide long-term value to customers. -The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart. (But in this hypothetical example, the increase is just because users with later registration dates have to squeeze more random login dates into less time). +The y-axis is valuable because it shows you if your business is getting better or worse at retaining customers over time. In this example, you can see the business has become better with retention over time as there are darker colors higher in the chart. ## How To Run The Chart Code For Your FusionAuth Instance @@ -221,7 +221,7 @@ The `users.json` file has structure below. }] ``` -