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
| Section | Contents | Documentation |
|---|---|---|
| Overview | Indicators, time series with aggregation and moving average | Statistical Analysis |
| Data Explorer | Observation table with sorting, search, pagination and CSV export | Data Explorer |
| Frequency Analysis | Histogram, frequency table, frequency by year or quarter | Frequency Analysis |
| Distributions | Summary table, box plots per category, comparison by category | Distributions |
| Historical Trends | Year-over-year monthly profile, weekday × month heatmap, lag-1 scatter plot | Historical Comparison |
| Comparisons | Period A vs period B, or category vs category | Historical Comparison |
| Reports | Descriptive summary, section selection, CSV exports, print to PDF | Reports |
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 field | Type | Meaning |
|---|---|---|
id | string | Stable record identifier |
date | string, YYYY-MM-DD | UTC calendar day of the observation |
value | number | Observed value, in the dataset's unit |
category | string | Grouping such as region or channel |
source | string | Human-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)
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)
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)
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,categoryLabelandsource.labelare non-empty strings;descriptionandunitare strings and may be empty.valueKindiscontinuousordiscrete;source.kindisillustrativeorapi(useapifor customer data).precisionis an integer from 0 to 6;observationCountis a non-negative integer.coverage.start,coverage.endand every observationdateuse the format YYYY-MM-DD.- Every observation has a non-empty
id,categoryandsourceand a finite numericvalue. - 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
| Variable | Value |
|---|---|
DATA_SOURCE | api to use the adapter. Any other value, or no value, serves the illustrative datasets. |
ANALYTICS_API_URL | Base URL of the customer API, without the /datasets path. Required; if it is empty, the illustrative datasets are served. |
ANALYTICS_API_TOKEN | Optional. 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 behaviour | Result 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 /datasets | Empty dataset list |
| Any other non-2xx status | Same messages as “Not reachable” |
| Response fails validation | Same 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.