Custom Buckets
Overview
Custom buckets let you group existing properties into meaningful segments on the fly. This is focused on enabling everyone to answer common segmentation questions easily, quickly, and in a low-friction way.
Example use-cases include:
- Compare how the core markets are performing between US vs UK vs China vs all others
- Compare how many sign-ups are brought in by organic search vs Google ads vs social media channels together (Facebook, Twitter, LinkedIn)
- Compare # videos watched for users between ages 18-30 vs 30-40 or 40+
- Compare # users based on duration of video watched: < 30, 30-60, 60-90 mins
Quickstart
Add a property in Breakdown, then select the Customize Buckets option from the overflow menu
Depending on your added property data type - string vs numeric, you will see a different custom buckets modal, designed based on the data-type use-cases (more detail below)
Once you define your segment buckets, click Apply. Only then will the custom buckets reflect in the visualization. You will also see the custom buckets as an under-item on the property
To modify the segment buckets, click on the under-item and the custom buckets model will open. Once you’ve made the changes, click Apply
To remove all grouping and revert to the default, open the custom buckets modal and click Reset
Note that you cannot have more than 10 uneven (varied) groups.
String Property Use Cases
Use Case: Group individual countries into core market regions.
- Segment 1: North America: US & Canada
- Segment 2: Europe: UK, Germany, France, Netherlands, Italy
- Segment 3: China
- Segment 4: Rest of the World
Creating Custom Buckets for String Property
- Add a breakdown - Country. Below is the default you will see
- Choose to bucket segments, by opening the custom buckets model and clicking Apply
- For each segment, choose the operator “is” and select one or more values
- “Rest of the World” is auto-generated as remaining values
If two segments have the same value, the first segment will consider the value. Custom buckets are non-overlapping and sum up to 100% by definition
Rename Custom Buckets Segment
- On the same line of the segment, choose to rename it using the pencil icon
- Click Apply after creating and naming your segments as desired
Numeric Property Use Cases
Use Case: Group a numeric duration (mins) property into customized buckets.
- Use Case A: Evenly in 10 min groups for the range 50-100 mins
- Use Case B: Specific groups <10, 10-20, 20-50, 50-100, ≥100
- Use Case C: Want to see all the durations as-is (No grouping)
Creating Custom Buckets for Numeric Property (Even)
Use Case A: Evenly in 10 min buckets for the range 50-100 mins
- Add a breakdown - “watch time (mins)”
- Every numeric property is **auto-bucketed into even-sized buckets by default without using custom buckets.
- In the example below, the range of duration leads to a default bucket size of 10mins.
- Go to the overflow and open the custom buckets modal
- Since looking for even buckets of “30 mins”, choose Even Bucketing
- Modify the min and max values of the desired range, and the bucket size, and click apply
-
Here these buckets are <50 mins and ≥ 100 mins
-
Both a lower-end and upper-end bucket will be auto-generated to ensure your breakdown always adds up to 100%
Creating Custom Buckets for Numeric Property (Varied)
Use Case B: Specific groups <10, 10-20, 20-50, 50-100, ≥100
- Open the custom buckets modal
- Since looking for specific buckets with varied bucket ranges, choose Varied Bucketing
- Enter the ‘segment’ breakpoint values in each row and click apply. You can preview the bucket as you enter values in the line item below
Both a lower-end and upper-end bucket will be auto-generated to ensure your breakdown always adds up to 100%
Disable Bucketing
Use Case C: Want to see all the durations as-is (No bucketing)
- Open the custom buckets modal
- Since looking for “No bucketing”, choose None — This lays out all the numeric property values as-is
Typecasting Property Use Cases
Use Case: Group users based on their current age.
- Segment 1: Age 18 (potential to upgrade)
- Segment 2: Age 60 (potential to downgrade)
- Segment 3: Every other age
Creating Custom Bucket with Typecasting
- Add a breakdown age(years). By default, this will add as a numeric property
- Since you are looking for pin-pointed years and not creating number ranges, this is a question more common to string property data type
- Change Data Type of age(years) to String. Once changed you will see the type-casted property type as an under-item
Only typecasted data types show as an under-item. If the data type was the same as ingested, no under-item for data type will be seen
-
Post changing data type, open the custom buckets modal. This will now open a modal meant for string property data type
-
Follow the steps as elaborated for the String property use-case above, and achieve the goal
FAQ
Which reports does Custom Buckets work on?
This feature is available in the Insights, Funnels, and Retention reports.
Which property types does this support?
Custom Buckets work on String, Numeric, and List data type
Can I save a Custom Bucket?
No, you can’t save a custom bucket. If your custom bucket is something you or your team would like to re-use, we encourage you to instead create a custom property.
How is custom buckets different from custom property?
Custom buckets only support the most common custom-property use-case of if else
to create meaningful segments in a more simplistic UI and a low-lift way to enable quick ad-hoc exploration. You could get this same answer using custom property too, it would just be more effort and not as intuitive
Can I create over-lapping segments like (US & UK) vs (US & Australia)?
No, breakdowns are fundamentally designed to sum up to 100%. To ensure your analysis is accurate, please create non-overlapping segments.
If you really need to answer a question like this, the right way here is to create these as two metrics leveraging inline filters and NOT use breakdowns.
Will Custom Bucket still be available if I typecasted the property?
Yes, as long as the data type you have changed the property to is supported.
Can I change the operators on the upper and lower bound for numeric properties?
No, the operators have been fixed. The lower bound is always strictly greater than (≥) and the upper bound is just lesser than (<). If you are looking for more control over the operators, please create a custom property.
Is (not set) included in (remaining values) for string properties?
No, (not set) is not included in the remaining values.
-
(remaining values): refers to ‘set’ values that just don’t fall into any of your defined segments
-
(not set) refers to the events where a property value has not been set at tracking/ ingestion. For example, a new video (MixFun) has been added, but during tracking, you forget to send the name of this video. So the count of this video is being tracked, but it’s being associated with a property value (not set) vs (MixFun)
More details can be found in this help doc
What is the difference between (not set) and (non-numeric values)?
- (not set) as explained above for string refers to property values that have not been associated with any specific property value
- (non-numeric values) refers to set values that have just been sent in as non-numeric data type. For example, you’re looking to track time spent and have coded that as a numeric property, but for some reason some values are tracked as “a”, or “b” which are not numeric.
How do I get “not contains” or “not equal to”?
These values will auto-generate under (remaining values). So just select what should be included
For example — the (remaining values) below is not equal to US or India
How do I get a bucket of just 0 for numeric properties?
If you’re purely looking for just how many people have value “0”, we would encourage you to typecast this to a string property, then select “0”.
If you’re looking to get the count of 0, in reference to the other numeric buckets, go ahead and create a Varied Bucketing custom buckets modal
- If the numeric values are integers:
- Choose Varied bucket values 0, 1, 2…
- This would generate buckets: <0, ≥0 & <1, ≥1 & <2, ≥2.
- ≥0 & <1 would be equal to bucket 0
- If the numeric values are decimals:
- Choose Varied bucket values 0, 0.0001, 1, …
- This would generate buckets: <0, ≥0 & <0.0001, ≥0.0001 & <1, ≥1.
- ≥0 & <0.0001 would approximate to bucket 0
Was this page useful?