Dataset report

web-events.jsonl

  • JSONL
  • Dataset $[]
  • 300 records
  • 14 fields
  • 67.7 KB
  • utf-8
Analysis complete · 0.32 s

01 / Overview

Dataset overview

Size, completeness and the main signal to check first.

Rows
300No empty rows
Columns
144,350 cells analyzed
Missing cells
28.05%1,220 cells
Duplicate rows
0Beyond the first occurrence
Derived · sum of 1 date columns
0

ambiguous dates, kept unresolved.

Values that match more than one configured date order. That is 0.0% of the 300 present date values. Tabalyst does not guess the order.

See date analysis

Column types

  • Text 10
  • Integer 2
  • Boolean 1
  • Number 1

Semantic types

  • No semantic type 13
  • Date 1

Mixed: fewer than 95.0% of present values agree on one type.

02 / Structure

Columns(14)

Inferred and semantic types per column. With issues: missing values or mixed type.

14 of 14 columns
Column
Missing
Distinct
Inferred type
Semantic type
Error
Examples
1event_id–300text––evt-00001evt-00002evt-00003
2timestamp–300textdate–2026-03-01T08:00:16Z2026-03-01T08:00:17Z2026-03-01T08:01:03Z
3type–5text––page_viewclickerror
4user.id23.67%7160integer––592534
5user.country15.67%475text––FRUSDE
6user.plan–3text––profreeteam
7device.os–5text––WindowsAndroidiOS
8device.mobile–2boolean––falsetrue
9page–8text––/docs/checkout/blog
10tags[]–5text––betanewsletterreturning
11amount93.0%27921number––151.62160.1165.74
12currency93.0%2791text––EUR
13error_code91.33%2743integer––500404503
14experiment90.0%2702text––AB

03 / Shape

JSON structure(17)

Every path of the records, containers included, with presence per parent and array lengths.

Records
300300 object
Paths
1714 with values
Maximum depth
2Limit 64
17 of 17 paths
Path
Depth
Native types
Present
Absent
Array length
Empty arrays
Role
event_id1string100.0%3000––column
timestamp1string100.0%3000––column
type1string100.0%3000––column
user1object100.0%3000––container
user.id2nullinteger100.0%3000––column
user.country2nullstring100.0%3000––column
user.plan2string100.0%3000––column
device1object100.0%3000––container
device.os2string100.0%3000––column
device.mobile2boolean100.0%3000––column
page1string100.0%3000––column
tags1array100.0%30000–3mean 1.581container
tags[]2stringitems 450–––column
amount1number7.0%21279––column
currency1string7.0%21279––column
error_code1integer8.67%26274––column
experiment1string10.0%30270––column

04 / Cleaning

Transformations(14)

Occurrences changed by each normalization stage, and the spellings it groups. Raw preview values remain unchanged.

14 of 14 columns
Column
Unicode composed
Trimmed
Whitespace collapsed
Case folded
Accents removed
Distinct
Compared distinct
Variant groups
1event_id–––––3003000
2timestamp–––100.0%300–3003000
3type–––––550
4user.id–––––6060–
5user.country–––84.33%253–550
6user.plan–––––330
7device.os–––100.0%300–550
8device.mobile–––––22–
9page–––––880
10tags[]–––––550
11amount–––––2121–
12currency–––7.0%21–110
13error_code–––––33–
14experiment–––10.0%30–220

05 / Numeric

Numeric analysis(3)

Range and distribution statistics for accepted numeric values.

3 of 3 columns
Column
Range
Minimum
Maximum
Mean
Median
Distinct
Examples
4user.id5916031.70313360592534
11amount266.1923.43289.62162.721165.7421151.62160.1165.74
13error_code99404503467.46155003500404503

06 / Dates

Date analysis(1)

Strict date parsing keeps ambiguous, invalid and non-date values separate. Ambiguous values are never resolved from the other values of the column.

1 of 1 date columns
Column
Status
Breakdown
Valid
Ambiguous
Invalid
Other
Distinct
Formats
2timestampvalid100.0%300–––3001 variant

07 / Text

String analysis(10)

Length classes, fixed widths and representative values.

10 of 10 string columns
Column
Class
Fixed
Min
Max
Mean
Median
Lengths
Distinct
Examples
1event_idshort9––––300evt-00001
2timestampshort20––––3002026-03-01T08:00:16Z
3typeshort–597.319.05page_viewclicksignup
5user.countryvery short2––––5FR
6user.planvery short–343.634.03freepro
7device.osshort–375.455.05WindowsmacOSiOS
9pageshort–1136.666.08/docs/checkout/login
10tags[]short–4106.856.05betanewsletterreturning
12currencyvery short3––––1EUR
14experimentvery short1––––2A

08 / Detectors

Detectors and formats(1)

What each detector recognized per column, with the formats it found. Primary: the interpretation shown as semantic type.

1 of 1 detections
Column
Detector
Matched
Ambiguous
Invalid
Formats
2timestampdate primary100.0%30000YYYY-MM-DDTHH:MM:SSZ

09 / Limits

Limits and diagnostics

What the scan could not measure completely, and the technical events it recorded. Counters and statistics continue past a limit.

Diagnostics(2)

  • error jsonl_invalid_line Lines that are not valid JSON were excluded.Records 121 (line 121), 251 (line 251)2
  • error jsonl_record_not_object Lines holding valid JSON that is not an object were excluded: a record is a JSON object.Records 201 (line 201)1

10 / Raw values

Data sample(20)

First 20 records with original row numbers and raw values.

20 of 20 sample rows
Row
event_idtext
timestamptext
typetext
user.idinteger
user.countrytext
user.plantext
device.ostext
device.mobileboolean
pagetext
tags[]text
amountnumber
currencytext
error_codeinteger
experimenttext
1evt-000012026-03-01T08:00:16Zpage_view33nullfreemacOSfalse/loginnewsletter, beta, promoabsentabsentabsentabsent
2evt-000022026-03-01T08:00:17ZpurchasenullDEfreeAndroidtrue/checkoutmobile, beta79.2EURabsentabsent
3evt-000032026-03-01T08:01:03Zclick33nullfreeLinuxtrue/blogbeta, mobileabsentabsentabsentabsent
4evt-000042026-03-01T08:02:26Zerror20FRteamLinuxtrue/loginabsentabsentabsent500absent
5evt-000052026-03-01T08:03:41Zclick8USteamiOSfalse/loginbeta, newsletterabsentabsentabsentabsent
6evt-000062026-03-01T08:04:47Zclick37CAfreeWindowsfalse/pricingbeta, mobile, newsletterabsentabsentabsentabsent
7evt-000072026-03-01T08:05:17Zpage_view30nullproiOStrue/loginnewsletter, betaabsentabsentabsentabsent
8evt-000082026-03-01T08:06:09Zclick54DEfreeWindowstrue/checkoutreturning, mobile, betaabsentabsentabsentabsent
9evt-000092026-03-01T08:07:38Zclick50USproiOSfalse/returning, betaabsentabsentabsentabsent
10evt-000102026-03-01T08:07:51Zclick51BEproAndroidfalse/docsbeta, promo, returningabsentabsentabsentabsent
11evt-000112026-03-01T08:08:26Zclick13nullpromacOSfalse/absentabsentabsentabsentabsent
12evt-000122026-03-01T08:08:27Zclick60FRteammacOStrue/returning, mobileabsentabsentabsentabsent
13evt-000132026-03-01T08:08:28Zpage_view37USteammacOSfalse/checkoutnewsletterabsentabsentabsentabsent
14evt-000142026-03-01T08:09:57Zclick27nullfreemacOSfalse/blogbeta, mobile, returningabsentabsentabsentabsent
15evt-000152026-03-01T08:10:23ZclicknullFRproWindowstrue/signuppromo, newsletterabsentabsentabsentabsent
16evt-000162026-03-01T08:11:29Zclick20USproWindowsfalse/checkoutmobileabsentabsentabsentabsent
17evt-000172026-03-01T08:12:45Zclick40DEproiOStrue/pricingpromo, mobile, returningabsentabsentabsentabsent
18evt-000182026-03-01T08:13:08Zpage_view60FRpromacOSfalse/newsletterabsentabsentabsentabsent
19evt-000192026-03-01T08:13:36Zclick9CAteammacOStrue/loginpromo, beta, mobileabsentabsentabsentabsent
20evt-000202026-03-01T08:14:00Zpage_viewnullUSproAndroidtrue/docsnewsletter, betaabsentabsentabsentabsent

11 / Method

Analysis settings

Rules used for this analysis, so the result can be reproduced.

Scope
All 300 records
Missing values
absent, null, empty, blank, marker; markers: "N/A" "NULL"
Marker comparison
Whitespace trimmed; case-sensitive
Value normalization
Unicode composition (NFC): enabled; trim: enabled; collapse internal whitespace: enabled; comparison also with case folding: enabled, accents removed: enabled. Raw preview values are preserved.
Duplicate comparison
Exact raw values across every column; up to 2,000,000 distinct records compared
Type inference
At least 95.0% agreement across present values; numbers with dot or comma decimals, configured dates and true/false. Leading-zero identifiers remain text.
Date detection
Orders: YMD, MDY, DMY; separators: "-" "/" "." ; month names: en, fr; ambiguous order: unresolved, column evidence shown but never applied
Semantic types
Dates, or the only detector matching at least 95.0% of present values
Adaptive detection
Every detector on the first 10,000 distinct values of each column; detectors that recognized none of them, or at most 0.1% of them and none of the last 5,000, then skip the others, except about 1 value in 100. Number and date detection always test every value
Enumerations
At most 49 distinct values among at least 500 present values
Sensitive values
Masked in examples and the data sample
String lengths
Very short through 5; short through 20; medium through 50; long through 255; otherwise very long. Up to 10 examples per length are retained when the maximum is 50 or less.
Value representation
Complete through 50 distinct values; otherwise a reproducible sample of 100 distinct values
Row numbering
Data records start at 1, excluding the header. Quoted multiline values count as one record.
Preview selection
First 20 records; raw values preserved
JSON format
0.1.0a - revision 11 (experimental)
SOURCE SHA-2564c998078985c1758fdb5d5ff2e3e842dc4ad48469067cbab08b2ec4ddd86dea3