> ## Documentation Index
> Fetch the complete documentation index at: https://guides.klaritics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chart Analysis

Build flexible event-based analyses in Klaritics to understand user activity, measure trends, analyze properties, compare time periods, and segment results.

Insights lets you select events, define how they should be measured, apply filters and breakdowns, select a time window, and visualize the results. Advanced analysis also allows you to measure event frequency, aggregate event properties, build per-user property metrics, and create formulas from event-level measurements.

***

## What Insights answers

A well-configured Insight helps you answer questions such as:

* How many users performed an event?
* How many times did an event occur?
* How many sessions contained an event?
* How frequently do users perform an event?
* What is the average, median, minimum, maximum, or total value of an event property?
* How does a property value behave at the user level?
* How does a metric change over time?
* How does a metric differ across user segments?
* How does the metric compare between two periods?
* How do multiple event metrics relate to each other?

***

## Core concepts

| Concept              | Definition                                                                      |
| -------------------- | ------------------------------------------------------------------------------- |
| **Event**            | An action or behavior recorded in the product that can be analyzed in Insights. |
| **Metric**           | A measurable value created from an event and a selected measurement.            |
| **Measurement**      | Defines what is calculated from the selected event or property.                 |
| **Filter**           | Restricts the data included in the analysis.                                    |
| **Breakdown**        | Segments the result into groups using a supported property or cohort.           |
| **Time Window**      | Defines the period of data included in the analysis.                            |
| **Time Granularity** | Defines how time-based results are grouped in supported visualizations.         |
| **Aggregation**      | Defines how a property value is mathematically summarized.                      |
| **Formula**          | A calculation that combines event-level measurements.                           |
| **Visualization**    | Determines how the metric result is displayed.                                  |

The Insight output as a configurable metric result with filters, breakdowns, a time window, and a visualization.

***

# How Insights works

Insights follows a simple analysis flow:

**Select Events → Choose Measurement → Configure Events → Apply Filters → Add Breakdown → Select Time Window → Choose Visualization → Analyze Results**

You can start with a simple event metric and progressively refine the analysis using the available configuration options.

***

# Build an Insight

## 1. Select an event

Start by selecting the event you want to analyze.

For example:

* `Application Submitted`
* `Payment Completed`
* `Product Viewed`
* `Course Started`
* `Purchase Completed`

The selected event becomes the basis of the metric.

You can also configure an event as a **First-Time Event** where supported.

***

## 2. Choose a measurement

After selecting an event, choose what you want to measure.

Insights supports the following measurement types:

| Measurement                     | Description                                                                                  |
| ------------------------------- | -------------------------------------------------------------------------------------------- |
| **Unique Users**                | Number of distinct users who performed the selected event.                                   |
| **Total Events**                | Total number of occurrences of the selected event.                                           |
| **Total Sessions**              | Total number of sessions containing the selected event.                                      |
| **Frequency per User**          | Measures how frequently users performed the selected event.                                  |
| **Aggregate Property**          | Calculates an aggregation on a selected event property.                                      |
| **Aggregate Property per User** | Calculates a property metric at the user level and then aggregates those user-level results. |
| **Event-Level Custom Formula**  | Combines event-level measurements using a formula.                                           |

The first three measurements form the core event measurements, while the other measurement types support more advanced analysis.

***

# Measurement types

## Unique Users

**Unique Users** counts the distinct users who performed the selected event.

### Example

**Event:** `Application Submitted`

**Measurement:** `Unique Users`

**Result:** `8,500`

This means 8,500 distinct users performed the event within the selected analysis configuration.

***

## Total Events

**Total Events** counts all occurrences of the selected event.

### Example

If 1,000 users performed `Video Played` and the event occurred 4,500 times:

**Total Events = 4,500**

***

## Total Sessions

**Total Sessions** counts sessions containing the selected event.

### Example

**Event:** `Product Viewed`

**Measurement:** `Total Sessions`

The result represents the number of sessions in which the selected event occurred.

***

# Frequency per User

**Frequency per User** measures how frequently users perform an event.

It supports:

* **Average**
* **Median**
* **Distribution**

### Example

Suppose users perform `Video Played` different numbers of times during the selected period.

Frequency per User can help answer:

> How often do users typically play videos?

You can view the average or median frequency, or analyze the distribution of users based on their event frequency.

***

# Aggregate Property

Use **Aggregate Property** when you want to measure a property associated with an event rather than simply counting the event.

Supported aggregation options include:

* **AVG**
* **COUNT**
* **DISTINCTCOUNT**
* **MAX**
* **MIN**
* **SUM**
* **MEDIAN**
* **MODE**

### Example

Suppose the `Purchase Completed` event has a `Revenue` property.

You can configure:

**Event:** `Purchase Completed`

**Property:** `Revenue`

**Aggregation:** `SUM`

This answers:

> What is the total revenue represented by the selected purchase events?

***

# Aggregate Property per User

**Aggregate Property per User** lets you first calculate a property value for each user and then aggregate those user-level results.

The calculation has two stages:

**Property → Per-user aggregation → Across-user aggregation**

### Per-user aggregations

You can use:

* Sum
* Average
* Distinct Count
* Maximum
* Minimum

### Across-user aggregations

You can then use:

* Average
* Sum
* Median
* Maximum
* Minimum
* Distribution

### Example

Suppose you want to calculate the average revenue generated per user.

You could configure:

**Property:** Revenue

**Per-user aggregation:** Sum

**Across-user aggregation:** Average

Conceptually:

> **Average(Sum of Revenue per User)**

***

# Event-Level Custom Formula

Use an **Event-Level Custom Formula** when you need to combine event-level measurements.

The formula configuration uses Events and Formula tabs.

Supported arithmetic scenarios include:

* `A + B`
* `A - B`
* `A × B`
* `A ÷ B`

Formulas are validated before execution, and invalid formulas should return clear validation feedback.

### Example

Suppose you have:

**Metric A:** `Orders Completed`

**Metric B:** `Orders Cancelled`

A formula can combine these measurements to create another event-level calculation.

***

# Configure events

## Filter an event

You can apply a filter directly to a selected event.

For example:

**Event:** `Purchase Completed`

**Filter:** `Payment Method = UPI`

Only matching event data is included in the calculation.

***

## Remove an event

You can remove an event from the metric configuration.

The Insight is then recalculated using the updated configuration.

***

## OR operator

Insights supports the **OR** operator for supported event conditions.

For example:

`Signup Completed OR Login Completed`

This allows supported event conditions to be combined within the analysis.

The **AND operator is not currently included** in the supplied product scope.

***

# Filter the analysis

Filters restrict the data included in the analysis.

Insights supports:

* **All Properties**
* **User Properties**
* **Cohorts**

***

## Property filters

Use property filters to focus the analysis on a specific population or property value.

For example:

**Country = India**

or

**Platform = Android**

### Example

To analyze Android users who completed a payment:

**Event:** `Payment Completed`

**Measurement:** `Unique Users`

**Filter:** `Platform = Android`

***

## Event property filters

Event property filters apply to the selected event.

For example:

**Event:** `Purchase Completed`

**Event Property:** `Plan`

**Value:** `Premium`

This allows the metric to focus on matching event occurrences.

***

## Cohort filters

You can use an existing cohort to restrict the analysis to a defined group of users.

For example:

**Cohort = Premium Users**

The metric then analyzes the selected event for users belonging to that cohort.

***

# Add a breakdown

Breakdowns divide the result into groups so that you can compare segments.

Supported breakdowns include:

* **All Properties**
* **User Properties**

### Example

Suppose the overall result is:

**Payment Completed = 10,000 users**

Add a `Platform` breakdown:

| Platform | Users |
| -------- | ----: |
| Android  | 6,500 |
| iOS      | 3,500 |

The breakdown makes it possible to compare the metric across supported segments.

***

# Time window

Select a time window to determine which period of data is included in the analysis.

Predefined time windows include:

* **Today**
* **Yesterday**
* **Last 7 days**
* **Last 30 days**
* **Last 3 months**
* **Last 12 months**
* **Custom Date Range**

# Compare time periods

Insights allows you to compare two analysis periods.

For example:

**Current period:** Last 7 Days

**Comparison period:** Previous 7 Days

This allows you to compare how the selected metric changes between the two periods.

***

# Visualizations

Choose the visualization that best represents the question you are answering.

| Visualization      | Description                                 |
| ------------------ | ------------------------------------------- |
| **Line**           | Shows how a metric changes over time.       |
| **Stacked Line**   | Shows trends across stacked dimensions.     |
| **Bar**            | Compares categories horizontally.           |
| **Stacked Bar**    | Compares categories using stacked segments. |
| **Column**         | Compares values across categories or time.  |
| **Stacked Column** | Shows values using stacked dimensions.      |
| **Pie**            | Shows the composition of a total.           |
| **Metric**         | Displays a single headline value.           |

These visualization types are supported by the supplied specification.

***

# Time granularity

For supported time-based visualizations, you can use time granularity to group the metric over time.

Time granularity is supported for:

* Line
* Stacked Line
* Column
* Stacked Column

***

# Analyze your results

Once your Insight is configured, review the resulting metric and refine the analysis as needed.

You can change:

* Event
* Measurement
* Event configuration
* Filters
* Breakdown
* Time window
* Comparison period
* Visualization
* Time granularity where supported

Configuration changes should be reflected without requiring you to rebuild the entire Insight.

***

# Example: Analyze application completion

Suppose you want to understand application completion among users.

### Configuration

**Event**

`Application Completed`

**Measurement**

`Unique Users`

**Filter**

`Platform = Android`

**Breakdown**

`Region`

**Time Window**

`Last 30 Days`

**Visualization**

`Column`

### What this tells you

The Insight shows the number of unique Android users who completed an application during the selected period, segmented by region.

***

# Example: Analyze purchase revenue

Suppose you want to understand the total revenue generated from completed purchases.

### Configuration

**Event**

`Purchase Completed`

**Property**

`Revenue`

**Measurement**

`Aggregate Property`

**Aggregation**

`SUM`

**Time Window**

`Last 30 Days`

This calculates the total value of the selected Revenue property across matching purchase events.

***

# Example: Analyze revenue per user

Suppose you want to understand the average revenue generated by each user.

### Configuration

**Event**

`Purchase Completed`

**Property**

`Revenue`

**Per-user aggregation**

`SUM`

**Across-user aggregation**

`AVERAGE`

This calculates:

> **Average of each user's total revenue**

This two-stage calculation is supported through Aggregate Property per User.

***

# Example: Analyze event frequency

Suppose you want to understand how frequently users perform a core product action.

### Configuration

**Event**

`Video Played`

**Measurement**

`Frequency per User`

**Analysis**

`Average`

**Time Window**

`Last 30 Days`

This helps answer:

> How frequently does a user play videos during the selected period?

You can also use Median or Distribution to understand the frequency pattern.

***

# Example: Compare two event metrics

Suppose you want to compare two event-level measurements.

You can define the required event measurements and use an Event-Level Custom Formula to combine them.

For example:

`A + B`

or

`A ÷ B`

The formula is validated before execution.

***

# Result actions

Insights provides additional actions for working with users represented by a result.

## View Users

View the users contributing to a supported metric result.

## Create Cohort

Create a cohort from the users represented by the result.

## Download Users

Download the users represented by the result.

These actions allow you to continue analysis beyond the metric itself.

# Empty states

Insights displays an empty state when the selected configuration does not return data.

For example:

> **No data found**

The purpose of the empty state is to clearly communicate that the current configuration did not produce a result rather than leaving the visualization blank.

***

# Loading state

When Klaritics is calculating the selected metric, a loading state indicates that the analysis is in progress.

***

# Error handling

Insights provides clear feedback for invalid or unsupported configurations.

Examples include:

* Invalid date range
* Invalid formula
* Unsupported configuration
* No matching data

Invalid formulas should not be executed and should provide an explanation of the issue.

***

# What you can do

### Build

Create an event-based metric using supported measurements.

### Measure

Measure users, events, sessions, frequency, event properties, user-level property values, or formula-based metrics.

### Filter

Narrow your analysis using supported event, user, property, and cohort filters.

### Segment

Break down your results using supported properties and cohorts.

### Compare

Compare metric performance across two analysis periods.

### Visualize

Switch between supported chart types to understand the result from different perspectives.

### Analyze

Refine your metric by changing events, measurements, filters, breakdowns, time windows, and visualizations.

### Act

View users, create cohorts, or download users from supported metric results.

***

# Common analysis patterns

| Question                                      | Suggested configuration            |
| --------------------------------------------- | ---------------------------------- |
| How many users performed an event?            | Event + Unique Users               |
| How many times did an event occur?            | Event + Total Events               |
| How many sessions contained an event?         | Event + Total Sessions             |
| How frequently do users perform an event?     | Event + Frequency per User         |
| What is the total value of an event property? | Event + Aggregate Property + SUM   |
| What is the average event-property value?     | Event + Aggregate Property + AVG   |
| What is the average value per user?           | Aggregate Property per User        |
| How does the metric differ by segment?        | Metric + Breakdown                 |
| How does the metric change over time?         | Metric + Line/Column visualization |
| How did the metric change between periods?    | Metric + Period Comparison         |
| How do two event measurements relate?         | Event-Level Custom Formula         |

***

# In summary

Insights provides a flexible way to explore product behavior from event data.

You can:

* Select events.
* Choose how they should be measured.
* Filter event and user data.
* Segment results using breakdowns.
* Measure event frequency.
* Aggregate event properties.
* Calculate property metrics at the user level.
* Build event-level formulas.
* Analyze predefined or custom time periods.
* Compare two periods.
* Visualize results using multiple chart types.
* View, create cohorts from, or download users from supported results.

Together, these capabilities allow you to move from a simple question such as **“How many users performed this event?”** to more advanced questions such as **“How frequently do users perform this action?”, “What is the average revenue per user?”,** or **“How does this metric change across segments and time?”**
