Comparison of segments

Allows you to compare two segments of data specified in a request. Segments are identified as segment A and segment B. For each segment different data ranges and segmentation filters can be set. Data will be presented in the form of a table.

Two sets of metrics are returned for each two rows of a report: metrics of segment A and metrics of segment B.

See how uses this request in the example.

  1. Request syntax
  2. Response format

Request syntax

https://api-metrica.yandex.net/stat/v1/data/comparison
 ? [direct_client_logins=<string,_string,...>]
 & [ids=<int,int,...>]
 & [metrics=<string>]
 & [accuracy=<string>]
 & [callback=<string>]
 & [date1_a=<string>]
 & [date1_b=<string>]
 & [date2_a=<string>]
 & [date2_b=<string>]
 & [dimensions=<string>]
 & [filters=<string>]
 & [filters_a=<string>]
 & [filters_b=<string>]
 & [id=<integer>]
 & [include_undefined=<boolean>]
 & [lang=<string>]
 & [limit=<int>]
 & [offset=<int>]
 & [preset=<string>]
 & [pretty=<boolean>]
 & [proposed_accuracy=<boolean>]
 & [sort=<string>]
 & [timezone=<string>]
Query parameters
direct_client_loginsComma-separated logins of Yandex.Direct clients. Used for generating the Yandex.Direct - costs report.
idsCounter IDs, separated by commas. Used instead of id parameter.
metrics

List of metrics, separated by commas.

Limit: 20 metrics in request.

accuracyAccuracy of the result. Use it to control the sampling rate (the number of sessions used for calculating results).

Default value: medium

callbackCallback function which returns an API response.
date1_a

Start date of requesting data period for segment A in the format YYYY-MM-DD. Also supports values: today, yesterday, ndaysAgo.

Default value: 6daysAgo

date1_b

Start date of requesting data period for segment B in the format YYYY-MM-DD. Also supports values: today, yesterday, ndaysAgo.

Default value: today

date2_a

End date of requesting data period for segment A in the format YYYY-MM-DD. Also supports values: today, yesterday, ndaysAgo.

Default value: today

date2_b

End date of requesting data period for segment B in the format YYYY-MM-DD. Also supports values: today, yesterday, ndaysAgo.

Default value: today

dimensions

List of dimensions, separated by commas.

Limit: 10 dimensions in request.

filters

Segmentation filter.

Limit: number of unique dimensions and metrics — up to 10, number of separate filters — up to 20, row length in filter — up to 10 000 characters.

filters_aSegmentation filter for segment A.
filters_bSegmentation filter for segment B.
idCounter ID. Outdated, use ids.
include_undefinedEnabled in response row, for which values of dimensions are not defined. This only affects the first dimension. Disabled by default.
langLanguage.
limit

Number of elements on results page.

Limit: 100,000.

Default value: 100

offsetIndex of first row of requesting data, beginning with 1.

Default value: 1

presetPreset.
prettySpecifies the formatting of results. To use formatting, enter the value true.

Default value: false

proposed_accuracyIf parameter is set to true, the API has the right to automatically increase accuracy to the recommended value. This parameter can help you obtain meaningful results when a request is sent to a small table with very small sampling.
sortA list of dimensions and metrics separated by comma, which are sorted. By default it is sorted in descending order (indicated by the “-” symbol in front of the dimension or metric ). To sort data in ascending order, remove the “-” symbol.
timezone

Time zone in ±hh:mm format within range of [-23:59; +23:59] (the plus sign should be denoted as %2B); this time zone is used to calculate the query selection period as well as the date- and time-specific dimensions. By default, the counter's time zone is used.

Response format


{
    "total_rows" :  < long > ,
    "total_rows_rounded" :  < boolean > ,
    "sampled" :  < boolean > ,
    "sample_share" :  < double > ,
    "sample_size" :  < long > ,
    "sample_space" :  < long > ,
    "data_lag" :  < int > ,
    "query" : {
        "ids" : [  < int > , ... ],
        "timezone" :  < string > ,
        "preset" :  < string > ,
        "dimensions" : [  < string > , ... ],
        "metrics" : [  < string > , ... ],
        "sort" : [  < string > , ... ],
        "date1_a" :  < string > ,
        "date2_a" :  < string > ,
        "filters_a" :  < string > ,
        "date1_b" :  < string > ,
        "date2_b" :  < string > ,
        "filters_b" :  < string > ,
        "limit" :  < integer > ,
        "offset" :  < integer > 
    },
    "data" : [ {
        "dimensions" : [ {
            "key_1" :  < string > ,
            "key_2" : ...
        }, ... ],
        "metrics" : {
            "a" : [  < double > , ... ],
            "b" : [  < double > , ... ]
        }
    }, ... ],
    "totals" : {
        "a" : [  < double > , ... ],
        "b" : [  < double > , ... ]
    }
}
Parameters Description
total_rows The total number of rows in the response for the entire data set (after filtering).
total_rows_rounded Sign that the total number of rows was rounded.
sampled Indication of sampling. Shows whether sampling was applied. Possible values: true, false.
sample_share Share of processed data, for which a calculation was carried out. Available values range from 0 to 1.
sample_size Number of rows in requesting data.
sample_space Number of rows of data.
data_lag Delay in updating data, in seconds.
query Original request. Contains request parameters, including detailed parameters from template and parameters for parametrization attributes scheme.
data Rows of response. Is an array, each element of which is one row of a result.
totals Total results for metrics across all data (taking into account filter).
query
ids IDs of counters.
timezone Time zone of the selection period in ±hh:mm format.
preset Preset of report.
dimensions Array of dimensions.
metrics Array of metrics.
sort Array of sortings.
date1_a Start date of sampling period for segment A in format YYYY-MM-DD.
date2_a End date of requesting data period for segment A in the format YYYY-MM-DD.
filters_a Segmentation filter for segment A.
date1_b Start date of requesting data period for segment B in format YYYY-MM-DD.
date2_b End date of requesting data period for segment B in the format YYYY-MM-DD.
filters_b Segmentation filter for segment B.
limit Number of elements on results page.
offset Index of first row of requesting data, beginning with 1.
data
dimensions Array of dimension values for this row. Every dimension value represents an object, which contains the field name, a text value. Additional fields may be present, for example ID id.
metrics Value of metrics for this row, separate for segments A and B.
metrics
a Array of metric values for segment A.
b Array of metric values for segment B.
totals
a Array of metric values for segment A.
b Array of metric values for segment B.