Drill

Ask ad-hoc questions of your raw event data across projects. Each metric brings its own event scope and filter; break results down by any property or by time, save what works, and share it as a link.

What Drill is

Drill is where you ask a question the ready-made reports do not answer. It works on the raw events Countly stores, so anything the SDKs sent is available: sessions, views, custom events, crashes, push actions, ratings and surveys, journeys, and the profile properties attached to every one of them.

A Drill query has four parts. Source picks one or more projects. Metrics define what to count; each metric carries its own event scope and its own filter, so one query can compare a session count, a purchase count and a formula over both. Breakdown by splits the results by a profile property, an event property, a cohort membership, the project or the event. Output picks the shapes: a total for the period, and a daily, weekly, monthly or hourly series.

Much of the product is built on Drill, so other pages hand off to it. Views, Custom Events and Sessions offer Continue in Drill with their current selection, Crashes opens an issue's events, a cohort opens its members' activity, a profile's menu opens that profile, and dashboards run saved queries as tiles. Cee can build a query for you and apply it here.

Query and Explore

Drill has two modes, switched at the top of the builder.

Query is define, execute, save. You describe the metrics, breakdowns and outputs, press Execute, and read the results as charts and tables. A query can be saved for yourself or the team, shared as a link, and pinned to a dashboard. Use it when you know the question.

Explore is a freeform table. Pick a source and a metric or two, then do everything else on the table itself: choose what the rows are, branch any row by another property, add column splits by time or by property, exclude a value with one click. There is no Execute button; the table re-runs as you change it, and a trail lets you step back and forward. Use it when you are looking for the question.

Both modes share the date range. When an exploration turns into something you want to keep, save it from the page icon beside the table's title; Explore keeps its own shortcuts, listed in Discover as Drill · Explore.

Use Cases

Compare two events with a formula

Formulas turn two counts into a rate, and rates are what most product questions are really about: purchases per session, signups per visit, crashes per active profile.

  1. In Source, pick the project.
  2. In Metrics, add a metric for each event. Every metric gets a letter (A, B, C). Give each one a name so the results read well.
  3. Add a third metric of kind Formula and write it with the letters, for example B / A. Pick a format (number, percent, duration) if the default is not right.
  4. In Output, pick Total for one number, or Daily to see how the rate moves.
  5. Execute. The formula is computed per bucket and per breakdown group, never as a ratio of grand totals.

Break a metric down by a property over time

A breakdown turns one number into a comparison. Combined with a daily output, it shows which segment moved.

  1. Build a metric, for example the count of a custom event.
  2. In Breakdown by, add a property: a profile property such as Platform or App version, an event property recorded with that event, or the cohort a profile belongs to.
  3. In Output, add Daily next to Total.
  4. Execute. The Total section ranks the groups; the Daily section draws one line per group and lists the same numbers per day in the table.

Reading it honestly

Groups of a count add up to the total. Groups of a unique count do not, because one profile can be in several groups over the period; the guide's Breakdowns section explains what the charts do about it. Profiles with no value for the property land in the ∅ group rather than disappearing.

Count and filter a cohort

A cohort metric counts the profiles in a cohort or profile group, so you can put an audience next to an activity in the same query, or track how a cohort grows.

  1. In Metrics, add a metric of kind Cohort and pick the cohort or profile group.
  2. Optionally add a profile filter to the metric, for example Platform is iOS, to count only part of the membership.
  3. Add a breakdown by a profile property to see how the membership is composed.
  4. Execute.

What to expect

The Total output of a cohort metric is the current membership, whatever the date range says. The daily, weekly and monthly outputs do follow the range. Cohort tables show their whole result at once and cannot be paged or sorted on the server, so a very large cohort breakdown is capped and says so.

Share a query and save it for the team

A query is worth keeping in two ways: as a link, which is a snapshot of exactly what you see, and as a shortcut, which the team can rerun and pin.

Share a link

The copy-link button beside the date picker puts the whole query in the address, including the date range as calendar days, so the recipient sees the same window in their own time zone. Links are limited to about eight thousand characters; a very large query says so instead of producing a link that would break.

Save for the team

  1. Run the query, then press Save shortcut, the page icon beside the query name. Save what is on screen opens under it; give the query a name and a description.
  2. Choose its dates: Selected period opens it with whatever period the reader has selected, Rolling period counts back from the day it's opened, such as the last 30 days, and Exact dates always opens it on the same days.
  3. Choose who can see it: Only me for you alone, People for the people and user groups you add, or Everyone for everyone who can use Drill in the query's projects. Once it is saved, star it from its details in Discover to keep it in your Starred list, shown whenever Discover opens.
  4. Your shortcuts of Drill are listed from the page icon beside the query name, and in My Shortcuts, from the account menu. Select one to change its details: who can see it, its name, its description, its dates. A query saved for you alone can be shared later, and a shared one can be made private again.
  5. To change the query itself, open it, change it in the builder and run it. The page icon beside the query name then shows the shortcut's name marked changed. Open it and choose Update to save the change into that shortcut, keeping its name, dates and who can see it, or Save as new to keep the original and save the change as a new shortcut. Discard changes opens the query as it was saved, and Leave the shortcut keeps the query on screen as your own, no longer a change to that shortcut. When others can see the query or dashboards follow it, Update first shows what it sets up now and what it will, and asks you to confirm.

Queries from the old dashboard

Discover also lists queries you saved in the previous dashboard, marked Legacy. Open one and it loads into the builder like any other. Two things differ, because the old dashboard never stored them. It has no measure of its own, so it opens counting events, and it has no date range, so it keeps whatever window the builder already has. A legacy query is read only here; Save a copy keeps your own copy to change, and the original is renamed, reshared and deleted in the old dashboard, where it still lives.

A few legacy queries cannot be reproduced here yet. Those are still listed, with a note saying which part is the problem, and they do not open. That is deliberate. Opening one would mean dropping the part we cannot read, which would answer a different question under the name you gave it, and hiding the row would leave you unable to tell a missing feature from a lost query. Each of them still runs in the old dashboard.

Pin to a dashboard

Dashboards run Drill queries as tiles. Save the query here, then add a Drill tile on the dashboard and pick it from the board's list of Drill shortcuts. A tile pinned this way follows the query: the query's details in Discover name the boards that follow it, and when you update the query, the tile asks someone who can edit it to update the widget, and then shows the new version.

Slice freely in Explore

Explore is for the moment you do not know which breakdown matters yet.

  1. Switch to Explore at the top of the builder, pick a source and one or two metrics.
  2. Pick what the rows are, for example Country. The table shows an All row and one row per value.
  3. Branch any row by another property from its chevron, for example the United States by Platform, and Germany by App version. Branches are independent; you are not forced into one shared hierarchy.
  4. Add a column split by time (daily, weekly, monthly) or by a property to compare across the columns.
  5. Right-click a value to exclude it and the whole table re-runs without it.
  6. Step back through the trail if a slice was not useful, and download the CSV when the table says what you wanted.

Every metric reads Share of all in its tooltip, so a small row is always seen against the whole.

FAQs

Why do the breakdown groups not add up to the total?

They do for counts. For unique profiles a profile can be in several groups over the period, so the groups overlap. The total is the true number of distinct profiles.

Why does the chart show fewer groups than the table?

Ranked charts plot a top-N slice and say so in their subtitle. The table holds all groups; load more rows to see the rest.

A colleague opened my link and sees a different day.

Links carry calendar days, and each reader's Drill cuts them in the zone it resolves for them. Set the time zone explicitly before copying the link if the exact instants matter.

My cohort metric shows the same number for any date range.

A cohort metric's Total is the current membership. Use a daily, weekly or monthly output to see it over time.

Can I save an Explore table?

Yes, as a query is saved: Save shortcut, the page icon beside the table's title, keeps it as one of Explore's shortcuts. Explore's shortcuts are listed apart from Query's, as Drill · Explore in Discover.

Why does my text filter return nothing?

Text matches are case sensitive by default. Check the capitalization of the value, tick Case insensitive on a contains, starts with or ends with filter, or use a list property with is one of when one exists.

Was this page helpful?
Reach out to us for any other questions.
Helpful?

Looking For More Help?