Ticket creation rate

When a major incident unfolds, alerts tell you something is wrong. Tickets tell you how fast it’s spreading. Customer complaints increase. Support queues grow. Related issues begin to surface. The question becomes, "Is the situation accelerating, stabilizing, or contained?"

This tile visualizes ticket creation over time, turning raw incident data into a momentum signal. It doesn’t just show volume, it shows trajectory.

Before you start

This article is part of the building a major incidents dashboard tutorial series. It works best alongside the alert volume tile, giving you the ability to correlate alert spikes with ticket spikes.

Configuring the tile

  1. Data Source: Select ServiceNow.
  2. Data Stream: Select Table Query.
  3. Parameters:
    1. Table name: Select Incident.
    2. Filter query: Enter active=true.
  4. Timeframe: Select the timeframe you want to track. Note that after adding a monitor or configuring a KPI the Use dashboard timeframe option is disabled.

  5. SQL Analytics: Enable the toggle, then configure the following:
    1. SQL > Query: Enter a query such as the following then click Execute. This example generates a timeline of tickets being raised, building a complete hourly ticket-creation timeline for the current dashboard timeframe (including hours where no tickets were created).
      WITH hours AS (
        SELECT UNNEST(
          generate_series(
            DATE_TRUNC('hour', CAST('{{timeframe.start}}' AS TIMESTAMP)),
            DATE_TRUNC('hour', CAST('{{timeframe.end}}' AS TIMESTAMP)),
            INTERVAL 1 HOUR
          )
        ) AS hour
      ),
      
      ticket_counts AS (
        SELECT
          DATE_TRUNC('hour', CAST(opened_at AS TIMESTAMP)) AS hour,
          COUNT(*) AS ticket_count
        FROM dataset1
        WHERE CAST(opened_at AS TIMESTAMP) BETWEEN
              CAST('{{timeframe.start}}' AS TIMESTAMP)
          AND CAST('{{timeframe.end}}'   AS TIMESTAMP)
        GROUP BY 1
      )
      
      SELECT
        hours.hour,
        COALESCE(ticket_counts.ticket_count, 0) AS ticket_count
      FROM hours
      LEFT JOIN ticket_counts
        ON hours.hour = ticket_counts.hour
      ORDER BY hours.hour;
  6. Visualization: Select Line.
    1. Mapping > X-Axis: Select Hour.
    2. Y-Axis: Select Ticket Count.
    3. X-Axis: Enable the toggle and enter Date time.
    4. Y-Axis: Enable the toggle and enter Tickets raised.
    5. Options: Enable the following toggles:
      • Shading
      • Grid lines
  7. Click Save.

Adding a monitor

This tile is an ideal candidate for monitoring because changes in overall ticket rate are often gradual and easy to miss in day-to-day operations.

With a baseline of two tickets per hour, we trigger a warning when the volume increases by roughly 50-70%, and an error when it doubles. This keeps the monitor sensitive to meaningful change without reacting to normal fluctuation.

Configuration

Configure the following in the tile editor:

  1. Monitoring: Enable the Monitoring toggle.
  2. Type: Select Threshold.
  3. Value: Select Top.
  4. Column: Select Ticket Count.
  5. Evaluate by: Select Hour.
  6. Conditions:
    1. Error: Enable the toggle, then configure as greater than and then supply an appropriate value. For our example we'll enter 3.
    2. Warning: Enable the toggle, then configure as greater than and then supply an appropriate value. For our example we'll enter 2.
  7. Click Save.

Was this article helpful?


Have more questions or facing an issue?