Identify Risk Trends

Get statistical data about cyber risks ready to be visualized.

You can choose from any available dates, and filter the results.

What you get

Use our data to quickly get the following insight:

On 2015-05-10T00:00:00.000Z the Consumer Electronics macro category delta leapt above two standard deviations of the mean and remained trending upwards until 2015-05-13T00:00:00.000Z, indicating a drastic upswing in activity from the historical trends.

Interactive API

Our interactive API powered this example using the link below.
  https://www.surfwatchlabs.com/api/v3/static/swagger.html#!/summary/getMonthlyMacroPercentages_get_6

To try it yourself, you'll need your Application ID and Application Key from My API Profile.

Visualization

Consumer electronics macro trend delta

In this case the red line represents two standard deviations from the mean of the delta (the 95% percentile), and the delta being the change in the trend score. Using this we can visualize, detect and alert when a daily value change crosses an unacceptable threshold.

The Response

An excerpt of actual output from this insight:

[
  {
    "macro_tag_id":-238,
    "macro_tag":"Consumer Electronics",
    "tag_super_type_id":2,
    "tag_super_type":"Target",
    "trend_delta_mean":0.020456664,
    "trend_delta_standard_dev":0.035939418,
    "trend_delta_max":0.19074602,
    "trend_delta_min":0.00006773534,
    "trend_delta_threshold":0.0923355,
    "deltas":[
      {
        "analytic_day":"2015-05-08T00:00:00.000Z",
        "macro_trend":0.13702801,
        "macro_trend_delta":-0.009976763
      },
      {
        "analytic_day":"2015-05-09T00:00:00.000Z",
        "macro_trend":0.13817456,
        "macro_trend_delta":0.0011465459
      },
      {
        "analytic_day":"2015-05-10T00:00:00.000Z",
        "macro_trend":0.3238604,
        "macro_trend_delta":0.18568586
      },
      {
        "analytic_day":"2015-05-11T00:00:00.000Z",
        "macro_trend":0.4313502,
        "macro_trend_delta":0.107489794
      },
      {
        "analytic_day":"2015-05-12T00:00:00.000Z",
        "macro_trend":0.62209624,
        "macro_trend_delta":0.19074602
      },
      {
        "analytic_day":"2015-05-13T00:00:00.000Z",
        "macro_trend":0.6640657,
        "macro_trend_delta":0.041969515
      },
      {
        "analytic_day":"2015-05-14T00:00:00.000Z",
        "macro_trend":0.65632945,
        "macro_trend_delta":-0.007736265
      }
    ]
  }
]

The Code

Here is the code to do it yourself:

Or view the source on GitHub
require 'rest_client'
require 'json'

class MacroTrendDelta
  URL = 'https://www.surfwatchlabs.com:443/api/v3/summary/macroTrendDelta/monthly'
  HEADER = {
    'content_type' => 'application/json',
    'app-key' => ENV['SURFWATCH_ANALYTICS_APP_KEY'],
    'app-id' => ENV['SURFWATCH_ANALYTICS_APP_ID']
  }

  def query start_dt, end_dt
    header = HEADER.merge(params: { 'startDate' => start_dt, 'endDate' => end_dt })
    res = RestClient.get(URL, header)
    JSON.parse(res)
  end

  def macro_results start_dt, end_dt, macro_id
    hash = query(start_dt, end_dt)
    hash.select {|md| md['macro_tag_id'] == macro_id }.first
  end
end

mtd = MacroTrendDelta.new
result = mtd.macro_results('2015-05-01', '2015-05-07', -238)

# query again and add deltas
result['deltas'].concat( mtd.macro_results('2015-05-08', '2015-05-14', -238)['deltas'] )
result['deltas'].concat( mtd.macro_results('2015-05-15', '2015-05-21', -238)['deltas'] )
result['deltas'].concat( mtd.macro_results('2015-05-22', '2015-05-28', -238)['deltas'] )
result['deltas'].concat( mtd.macro_results('2015-05-29', '2015-05-31', -238)['deltas'] )

# create a chart using the json, or serialize to csv and use that
puts result
Or view the source on GitHub