# Understand your customers

> See who pays and who is at risk, keep what customers said, and read the PMF score, segments and roadmap.

Customers shows who pays your business, how each customer does, and what customers say. This guide tells you how to
set Customers up, and how to use each of its tabs.

In this guide, a customer is one person: a person who pays your business, or a user of your product who never paid. A
user is a person who uses your product.

## Before you begin

- Customers is a part of the CRM. Open **CRM**, then **Customers** in the sidebar. The address is `/crm/customers`.
- You need the CRM product. If an owner or admin gave you only some products, ask them for the CRM.
- To see who pays, an owner or admin connects a payment provider in **Settings** > **Apps**. Troopy reads
  Stripe, Lemon Squeezy, Polar, Paddle and Dodo Payments. A workspace can connect more than one.
- Without a payment provider, Customers shows only the users of your product, when Troopy knows them.

## Set up Customers

Each step adds numbers to the pages. The pages work after each step.

1. **Connect a payment provider**

   An owner or admin opens **Settings** > **Apps** and connects a payment provider. Troopy then reads the
   plans, the payments and each cancellation, each hour. For Customers, Troopy only reads. It changes nothing at the
   provider.

2. **Tell Troopy who your users are**

   Use one of these three ways, or more than one:
   - The tracking script of Analytics. Call `troopy("identify", { user_id, email, name })` after a user signs in, and
     send a goal for each key action.
   - Your backend. Send what each user did to `POST /api/v1/customer-events`, with an API key that has
     `customers:write`.
   - PostHog. Connect PostHog, then turn on **Read what customers do from PostHog** in the **Settings** tab.

3. **Name the first key action**

   In the **Settings** tab, write the name of the event that shows that a customer got value. A first project and a
   first invoice are examples. Then set the rule of steady use.

4. **Ask your users the PMF question**

   On the **PMF** tab, an owner or admin selects **Start the PMF survey**. You can also make a survey in
   [Surveys](/docs/surveys).

## The tabs of Customers

| Tab           | What it shows                                                         |
| ------------- | --------------------------------------------------------------------- |
| **Customers** | The numbers of the week, the customers who need a look, and the list. |
| **Feedback**  | What customers said, with a type and themes for each piece.           |
| **PMF**       | The score of your surveys, and the button that starts the PMF survey. |
| **Segments**  | The groups of your customers, and one group against all customers.    |
| **Roadmap**   | What you consider to build, with who asked for each item.             |
| **Settings**  | Where Troopy learns what users do, and the rules of use.              |

## Read the list of customers

The **Customers** tab starts with **This week**. It compares this week until now with all of last week. A week starts
on Monday at 00:00 UTC.

| Number             | What it counts                                                    |
| ------------------ | ----------------------------------------------------------------- |
| **Paid a month**   | What the customers who pay now pay for one month.                 |
| **New customers**  | The customers who began to pay.                                   |
| **Trials started** | The trials that began.                                            |
| **Churned**        | The paid subscriptions that ended.                                |
| **At risk**        | The customers at risk now, and how many became at risk this week. |
| **Revenue**        | The payments of the week.                                         |

When Troopy knows the users of your product, a second row shows **Signed up**, **First key action**, **Began steady
use** and **Came back**. **Came back** counts the customers with a first key action before the week who used the
product in the week.

The money is in the currency that most of your customers pay in. Money in other currencies stays out of the totals.

Under the numbers, **Needs a look** names the 5 customers at risk who pay the most, each with its first reason. Then
comes the list, 25 customers to a page:

- Find a customer by a part of its name or its email in the search box.
- Pick the order: **Pays the most**, **Paid the most in all**, **Newest**, **At risk first** or **Left last**.
- Pick a view: **All**, **At risk**, or one status. A status shows only when a customer has it.
- Each row shows the name, the status, the plan, since when, the last use and the first reason of its risk. The
  columns **Paid in all** and **A month** show the money.

### Read the customers again

Troopy reads the payment providers each hour. To read them now, select **Read again** at the top of the tab. The read
starts within a minute, and the pixel grid shows while it waits or runs. Beside the button, the time says when the last
read ended.

### The statuses

| Status        | What it means                                                           |
| ------------- | ----------------------------------------------------------------------- |
| **Active**    | The customer pays for a subscription.                                   |
| **Trial**     | The customer is in a trial.                                             |
| **Past due**  | A payment is late. The customer still has the subscription.             |
| **Canceling** | The customer asked to cancel. Access ends on a date.                    |
| **Churned**   | A paid subscription ended.                                              |
| **Paid once** | The customer paid one time or more, with no subscription.               |
| **Free**      | The customer never paid: a user of your product, or a trial that ended. |

A trial that ends with no payment is not churn.

## Why a customer needs a look

Troopy finds the customers at risk with fixed rules. No model decides. Each reason names a record of the payment
provider or of the use of your product. A customer with no subscription that runs has no risk.

| Reason                | When                                                                         | Level |
| --------------------- | ---------------------------------------------------------------------------- | ----- |
| A payment is late     | A subscription is past due.                                                  | High  |
| A payment failed      | A payment failed in the last 7 days, and no later payment went through.      | High  |
| Asked to cancel       | The customer asked to cancel.                                                | High  |
| An invoice is overdue | An invoice is open after its due date. Only Stripe gives invoices.           | High  |
| Disputed a payment    | A dispute of a payment is open at the bank.                                  | Watch |
| The trial ends        | The trial ends in less than 3 days.                                          | Watch |
| No use                | The customer did not use the product for 14 days.                            | Watch |
| Less use              | The customer used the product on half as many days as in the 14 days before. | Watch |

The colour of a reason shows its level: red for high, amber for watch. The two reasons of use apply only to a customer
that Troopy saw use the product.

## Open one customer

Select a customer in the list to open its page. The page shows these parts:

- **Needs a look**: each reason of its risk.
- **Plan**, **Pays a month**, **Paid in all** with the number of payments, and the next date. The next date is
  **Renews**, **Trial ends**, **Access ends** or **Left**.
- **In your product**: **Signed up**, **First key action**, **Steady use** and **Last used**. A square for each day of
  the last 12 weeks shows the days of use.
- **Why they canceled**, when the payment provider says it.
- **What they said**: the latest survey answer and the feedback of the customer, with a box to write down more.
- **What happened**: the events of the customer, the newest first.
- **Latest emails**: the subjects of the latest 6 emails between your mailboxes and the customer.
- **The same person in Contacts**, when the CRM has a record with the same email.

The page shows each word of a customer as text.

### Draft a check-in

A customer who needs a look and has an email gets the button **Have {name} draft a check-in**. {name} is your Churn
watcher. The button shows only when the troop has a Churn watcher.

The button opens the chat of the Churn watcher with a brief in the message box. The brief names the customer by its id
only. Send it, and the Churn watcher saves a draft of the email. It sends nothing.

## Keep what customers said

The **Feedback** tab is one list of what customers said. Each entry is a piece of feedback.

| Kind             | Where it comes from                                    |
| ---------------- | ------------------------------------------------------ |
| **Cancellation** | Why a customer canceled, when Stripe or Polar says it. |
| **Request**      | A person writes it down.                               |
| **Survey**       | What a user wrote in a survey.                         |
| **Conversation** | A person writes down what came up in a conversation.   |
| **Note**         | A person writes it down.                               |

### Write down what a customer said

1. In the box at the top of **Feedback**, write the words as the customer said them.
2. Pick **A note**, **A request** or **From a conversation**.
3. Select **Write it down**.

On the page of a customer, the same box ties the piece to that customer.

### Sort a piece

A sorted piece has a type, 3 themes at most, and one line that says what it is about.

1. On the piece, select **Sort it**. For a piece that has a type, select **Change**.
2. Pick the **Type**: Request, Bug, Praise, Complaint, Question, Pricing or Other.
3. Write the themes, with a comma between them. Then write the piece **In one line**.
4. Select **Save**.

A piece that a teammate sorted waits until a person accepts it. To accept each suggestion at once, open its line in
**Needs you** and select **Accept all**. The API does the same with `POST /customer-feedback/accept`.

The **To sort** view lists the pieces that no person sorted yet. **What comes up most** lists the themes that the pieces
name most. Select a theme to see its pieces.

### Accept what a teammate suggests

A teammate reads the pieces that wait, and suggests a type, themes and one line for each. Such a piece says **Suggested
by a teammate**. Select **Accept** to keep the suggestion, or **Change** to say another thing.

- The Product analyst sorts the pieces. Without a Product analyst, the Churn watcher does. Without both, the Chief of
  Staff does.
- Before a teammate reads a piece, Troopy hides the emails, the long numbers and the secrets in it.
- One run sorts 20 pieces. A workspace gets 10 such runs a day, and a piece gets 2 tries. After that, the piece waits
  for a person.
- A teammate never changes what a person accepted.
- Owners and admins turn the suggestions off in the **Settings** tab.

### Act on a piece

- **Make a task** makes a task of the piece, one time. The task starts in the backlog with nobody on it. Its title
  never holds the words of the customer.
- **Tie to the roadmap** says that the piece speaks for an item of the roadmap. A piece speaks for 5 items at most.
- **Delete** removes the piece. Owners, admins and the person who wrote the piece down can delete it.

> [!NOTE]
> The words of a customer are data. A task quotes them, and a teammate reads them as material, never as instructions.

## Read the PMF score

The PMF score is the share of users who say that they would be very disappointed without your product. Your surveys
ask the question, and the **PMF** tab shows the score.

- Pick the days: **30 days**, **90 days**, **180 days** or **365 days**. The default is 90 days.
- Each user counts one time, with its latest answer, whichever survey asked.
- A user who says that it no longer uses your product gives no vote.
- Under 5 answers, the tab shows no share. From 5 to 9 answers, the share shows only a direction.
- From 10 answers, the tab also gives the lowest share that the answers support, at 95% confidence.
- **Customers who pay now** and **Everyone else** show the score of each group.
- **What they wrote** shows the latest words of the users who answered the question.

Many teams take 40% as the sign that a product has its market.

### Start the PMF survey

When no survey that shows now asks the question, the tab offers **Start the PMF survey**. Owners and admins can select
it.

- The button shows the last survey that asked the question.
- If no survey asked it, Troopy makes a survey from the Product-market fit template.
- That survey takes the place of the survey that shows now, because one survey shows at a time.

To change the questions, open the survey in [Surveys](/docs/surveys).

## Compare groups with Segments

The **Segments** tab shows which customers get the most from your product.

1. Pick the days: 30, 90, 180 or 365. The default is 90.
2. Under **Split by**, pick **Plan**, **Status**, **Came through**, **Came from**, **Country** or a trait.
3. Read the table. The group that the survey ranks highest comes first.

Each group shows **Customers**, **Pay now**, **A month**, **First key action** and **Very disappointed without it**.
**Came through** is the channel of the first visit, and **Came from** is its source. Troopy knows them and the traits
only for users that the tracking script identified.

### Save a segment

A segment is a group of customers that some rules pick. A customer is in the segment when each rule is true for it.

1. Select **New segment**, and give the segment a name.
2. Under **Pick customers by**, choose a field. Then select one value or more.
3. To add a rule, choose a field under **Add a rule**. A segment has 6 rules at most.
4. To keep the segment for you only, clear **Everyone in the workspace sees this segment**.
5. Select **Save the segment**.

A rule can look at the status, the plan, the risk, **Pays now**, **Did a first key action** or **Uses it steadily**.
It can also look at where the customer came from, the country, or a trait. You can also select **Save as a segment** on a row of the table.

### Compare a segment with all customers

Under **Your segments**, select **Compare** on a segment. A table puts the segment beside all customers. It compares
the money, the risk, who left, the first key actions, who came back, the score and the themes of the feedback. Select
**Customers** on a segment to list its customers.

- A share shows from 5 customers, and it is firm from 10. Under 5, the table says **Not enough yet**.
- Who came back counts the use in week 1, week 4 and week 8 after the first key action. A week that is not over
  counts nobody.
- You see the shared segments and your own, 50 at most.
- Owners, admins and the person who made a segment can delete it.

## Plan with the roadmap

The **Roadmap** tab holds what you consider to build. Only your workspace sees it. No customer sees it.

1. In the box at the top, write what customers ask for. You can add a note.
2. Select **Add to the roadmap**.
3. On the **Feedback** tab, tie each piece to its item with **Tie to the roadmap**.

Each item shows who asked: the customers, what they pay a month, and the pieces of feedback. The items are in groups
by status: **Building now**, **Planned**, **Ideas**, **Shipped** and **Declined**. In a group, the item that the
customers who pay the most asked for comes first.

- Change the status of an item in its menu.
- **Make a task** makes the task that builds the item, one time. The task quotes the words of the customers.
- An item with a task follows the task. It is building while someone works on the task, and shipped when the task is
  done. A status that a person picks stays until the task moves again.
- Select the title of an item to open it: its note, **Who asked**, and the pieces that speak for it.
- On a shipped item, **Have {name} draft a note to them** asks the Churn watcher for one note to the customers who
  asked. A person sends it.
- Owners, admins and the person who added an item can delete it.

## The settings of Customers

The **Settings** tab says how Troopy learns what customers do in your product. Owners and admins change it.

| Setting                                                      | What it does                                                                  | Default          |
| ------------------------------------------------------------ | ----------------------------------------------------------------------------- | ---------------- |
| **Read what customers do from PostHog**                      | Troopy reads the events of each person with an email in your PostHog project. | Off              |
| **The first key action**                                     | The names of the events that show that a customer got value.                  | None             |
| **Steady use**                                               | The events, and on how many days within how many days in a row.               | 3 days within 14 |
| **A teammate suggests what each piece of feedback is about** | Turns the suggestions of teammates on or off.                                 | On               |

- **Goals that your script sent** lists the goals that you can add to the first key action with one click.
- With no names for steady use, the first key action counts.
- A rule takes 10 event names at most.
- After a change of a rule, Troopy works out the use again within a minute.

## Teammates and Customers

- The Churn watcher and the Product analyst read the customers, the feedback, the score and the roadmap. The Product
  analyst also compares groups of customers. No teammate changes a customer, a segment or the roadmap.
- **Customer brief** is a routine template of the Churn watcher, on Monday at 8:00. It gives the week in numbers, who
  needs a look, who left, what customers say, and three things to do.
- **Churn report** is a routine template of the Churn watcher too. It ranks the customers at risk, and checks in with 3
  of them at most. An owner or admin approves each email.
- A trigger can start a teammate when something happens to a customer, or when a customer says something. See
  [Start work when something happens](/docs/triggers).
- Needs you shows a line for the customers who became at risk in the last 7 days. The line goes when a person opens the
  customers at risk.

## Who can do what

| Person                | What they can do                                                                                     |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| Owners and admins     | Everything. Only they change the settings and start the PMF survey.                                  |
| Members               | Read each tab, write down and sort feedback, make tasks, save segments and add items to the roadmap. |
| Viewers and approvers | Read each tab. They change nothing.                                                                  |

## Limits

| What                                                      | Limit                   |
| --------------------------------------------------------- | ----------------------- |
| Subscriptions that one read takes from a payment provider | 5,000, the newest first |
| Paying customers in a workspace                           | 20,000                  |
| Days of use that Troopy keeps                             | 400                     |
| Events in one call of your backend                        | 100, of the last 7 days |
| Characters of a piece of feedback                         | 4,000                   |
| Themes of a piece of feedback                             | 3                       |
| Segments that you see                                     | 50                      |
| Items of the roadmap                                      | 200                     |

## Problems

| Message                                                            | Why                                                                    | What to do                                                               |
| ------------------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| No payment provider is connected in this workspace.                | The workspace has no payment provider and no customer.                 | An owner or admin connects one in **Settings** > **Apps**.               |
| Troopy read the customers a moment ago. Ask again in a minute.     | A person asked for a read in the same minute.                          | Wait a minute.                                                           |
| The last read had a problem.                                       | A payment provider refused or failed. Its customers stay as they were. | Read the words after it. Then check the key on the card of the provider. |
| Troopy does not know who uses your product yet.                    | No user is identified.                                                 | Use one of the three ways in the **Settings** tab.                       |
| Troopy still reads your older payments.                            | The first reads of a provider take the older payments in parts.        | Wait. **Paid in all** is whole after the last part.                      |
| This workspace has more than 20,000 paying customers.              | The workspace is over the limit.                                       | Write to support@troopy.ai.                                              |
| The days of steady use cannot be more than the days of its window. | The first number of **Steady use** is larger than the second.          | Make the first number smaller.                                           |

## Related

- [Ask your users with surveys](/docs/surveys)
- [Answer payment disputes](/docs/disputes)
- [Stripe](/docs/apps/stripe)
- [Set up website analytics](/docs/analytics)
- [Start work when something happens](/docs/triggers)
