Skip to content
Insider Magazin

Introduction

Platform Overview

Workspace layout, the dataset data model, the illustrative datasets and their generating formulas, and the JSON contract for connecting customer data through the API adapter.

Workspace layout

The workspace has a top bar that defines the current selection and a sidebar that switches between analysis sections. You can try it with the illustrative datasets at /demo.

Top bar

Dataset selector
Chooses the dataset that all sections read from.
Date range
Presets Last 90 days, Last 6 months, Last 12 months, Year to date and All data, plus custom from/to dates. Presets are resolved relative to the latest observation in the dataset. Details in Data Explorer.
Search
Keeps only observations whose ID, date, category or value contains the search text.
Export
Downloads CSV files of the current selection. See Reports.
Help
Gives access to this documentation.

Sidebar sections

SectionContentsDocumentation
OverviewIndicators, time series with aggregation and moving averageStatistical Analysis
Data ExplorerObservation table with sorting, search, pagination and CSV exportData Explorer
Frequency AnalysisHistogram, frequency table, frequency by year or quarterFrequency Analysis
DistributionsSummary table, box plots per category, comparison by categoryDistributions
Historical TrendsYear-over-year monthly profile, weekday × month heatmap, lag-1 scatter plotHistorical Comparison
ComparisonsPeriod A vs period B, or category vs categoryHistorical Comparison
ReportsDescriptive summary, section selection, CSV exports, print to PDFReports

The category filter is part of the selection as well. The dataset, date range, category filter and search together determine which observations every section uses. Statistics are computed in the browser from the loaded data, so changing the date range, category filter or search recalculates all panels from the dataset already loaded; only switching datasets loads new data.

Data model

A dataset is a list of observations plus metadata. Each observation is one value recorded on one calendar day for one category.

Observation fieldTypeMeaning
idstringStable record identifier
datestring, YYYY-MM-DDUTC calendar day of the observation
valuenumberObserved value, in the dataset's unit
categorystringGrouping such as region or channel
sourcestringHuman-readable source shown in tables

Dataset metadata contains the name, description, unit, value label, category label, list of categories, value kind (continuous or discrete), recording precision (number of decimals), source kind (illustrative or api), coverage start and end, observation count and last update. The value kind controls how histograms are binned (see Frequency Analysis); the precision controls how values and class boundaries are displayed.

Illustrative datasets

When no customer data source is configured, the workspace serves three synthetic datasets. Each is generated for every day from 2023-01-01 to 2025-12-31 (1,096 days) and every category, using a deterministic pseudo-random generator (mulberry32) with a fixed seed, so the data is identical on every load. Values are clipped at 0 and rounded to the dataset's precision. In the formulas, t is the number of years since 2023-01-01 (days ÷ 365.25).

Regional Electricity Demand (energy-demand)

x = (b + A · cos(2π · (d − 15) / 365.25)) · w · (1 + 0.012 · t) + ε, ε ~ N(0, 14²)
d = day of year; b = 412 (North) or 356 (South); A = 58 (North) or 34 (South); w = 0.92 on Saturdays and Sundays, otherwise 1.

Daily demand in MWh for the regions North and South: an annual cycle peaking in winter, a weekend reduction, a trend of +1.2% per year and Gaussian noise with σ = 14 MWh. Continuous, 1 decimal, 2,192 observations.

Support Response Times (support-response)

x = exp(z), z ~ N(ln(42 · c · (1 − 0.06 · t)), 0.42²)
c = 1.6 (Email), 0.45 (Chat) or 0.8 (Phone).

Daily median first-response time in minutes for the channels Email, Chat and Phone. The values are log-normal with σ of log = 0.42, a channel-specific scale and an improvement of 6% per year. Continuous, 1 decimal, 3,288 observations.

Items per Order (order-items)

x = 1 + Poisson(λ), λ = b + 0.9 in November and December, otherwise λ = b
b = 2.6 (Store), 2.2 (Web) or 1.7 (Mobile).

Number of items in a sampled order for the channels Web, Store and Mobile. Discrete integers, 3,288 observations.

Labelling

Illustrative datasets contain no personal data and do not describe any real organisation. They carry the source label “Illustrative generator” and the notice “Illustrative Dataset — For Demonstration Purposes”. Observation IDs use the prefixes EDM-, SRT- and ORD- followed by a five-digit sequence number.

API data contract

Customer data is read by a server-side adapter from an HTTPS API operated by the customer. The adapter calls two endpoints and validates every response before it reaches the workspace.

GET {ANALYTICS_API_URL}/datasets
Accept: application/json
Authorization: Bearer {ANALYTICS_API_TOKEN}

200 OK
[
  {
    "id": "daily-demand",              // lowercase letters, digits and hyphens
    "name": "Daily demand",
    "description": "Daily demand per region.",
    "unit": "MWh",
    "valueLabel": "Demand",
    "categoryLabel": "Region",
    "categories": ["North", "South"],   // at least one
    "valueKind": "continuous",          // "continuous" | "discrete"
    "precision": 1,                     // integer 0-6
    "source": {
      "kind": "api",
      "label": "Operations warehouse",
      "notice": "Optional disclosure text"
    },
    "coverage": { "start": "2023-01-01", "end": "2025-12-31" },
    "observationCount": 2192,           // non-negative integer
    "updatedAt": "2026-01-02T06:00:00Z"
  }
]

GET {ANALYTICS_API_URL}/datasets/{id}

200 OK
{
  "meta": { ...same object as in the list above... },
  "observations": [
    {
      "id": "obs-000001",
      "date": "2023-01-01",             // YYYY-MM-DD, UTC calendar day
      "value": 421.7,                   // finite number
      "category": "North",
      "source": "Operations warehouse"
    }
  ]
}

The comments and the example values are for illustration; JSON responses must not contain comments. notice is optional; all other fields are required.

Validation rules

  • id (dataset) matches ^[a-z0-9-]+$. The workspace accepts dataset IDs of up to 64 characters.
  • name, valueLabel, categoryLabel and source.label are non-empty strings; description and unit are strings and may be empty.
  • valueKind is continuous or discrete; source.kind is illustrative or api (use api for customer data).
  • precision is an integer from 0 to 6; observationCount is a non-negative integer.
  • coverage.start, coverage.end and every observation date use the format YYYY-MM-DD.
  • Every observation has a non-empty id, category and source and a finite numeric value.
  • Fields not listed in the contract are ignored.

A single invalid record rejects the response

Validation applies to the whole response. If one observation fails, the dataset is not loaded and the workspace shows “The dataset could not be loaded.” Fix the record at the source; the workspace does not skip or repair invalid rows.

The validator does not check that observation categories appear in categories, that observations are sorted, or that observationCount and coverage match the observations. Keep them consistent, because the category filter is built from categories and the workspace displays the metadata as provided.

Configuration

VariableValue
DATA_SOURCEapi to use the adapter. Any other value, or no value, serves the illustrative datasets.
ANALYTICS_API_URLBase URL of the customer API, without the /datasets path. Required; if it is empty, the illustrative datasets are served.
ANALYTICS_API_TOKENOptional. Sent as Authorization: Bearer <token>.

These variables are set on the server by the Insider Magazin team during onboarding. The token is never sent to the browser. Responses from the customer API are cached on the server for up to five minutes, so changes at the source can take that long to appear.

Error handling

Customer API behaviourResult in the workspace
Not reachable“Datasets are temporarily unavailable.” or “The dataset could not be loaded.”
404 on /datasets/{id}“Dataset not found.”
404 on /datasetsEmpty dataset list
Any other non-2xx statusSame messages as “Not reachable”
Response fails validationSame messages as “Not reachable”

Planned capabilities

Planned, not available

Self-service file upload (CSV/Excel import in the browser), database connectors, scheduled refresh, user accounts and sign-in on the public website, team sharing and an API for third parties are planned. None of them is available today, and no delivery date is committed.