saturn·

data trove chocolate origins

source /home/coolhand/html/datavis/data_trove/data/quirky/chocolate_origins.json 2,530 rows 10 columns profiled 2026-06-21 raw JSON static .html .ipynb Report Notebook

Reading

dataset summary · high confidence anthropic:default

This dataset contains 2,530 chocolate bar reviews covering bean origins, cocoa percentages, ingredients, and expert ratings across reviews dated 2006–2021. Two things stand out: first, cocoa percent clusters tightly between 70–74% but has 235 outliers (9.3%) stretching up to 100%, suggesting a small but notable group of ultra-dark bars worth investigating. Second, ratings skew modestly negative with a mean of 3.20 and median of 3.25 out of 4.0, indicating most bars are rated good-to-very-good — but the distribution of scores by bean origin (Venezuela, Peru, Dominican Republic, and Ecuador dominate) could reveal whether provenance drives quality. The 'company' column is entirely blank and should be ignored.

citing: cocoa_percent.stats.mean · cocoa_percent.stats.n_outliers · cocoa_percent.stats.outlier_rate · cocoa_percent.stats.q1 · cocoa_percent.stats.q3 · rating.stats.mean · rating.stats.median · rating.stats.max · country_of_bean_origin.top_values · company_location.stats.top_value · company_location.stats.top_rate · ingredients.top_values · review_date.stats.min · review_date.stats.max

Schema

10 columns
Per-column summary. Click column name to jump to its detail.
Alerts
ref categorical 0.0% 630
company categorical 0.0% 1
imbalance
company_location categorical 0.0% 67
review_date numeric 0.0% 16
country_of_bean_origin categorical 0.0% 62
specific_bean_origin text 0.0% 1,605
one_word duplicates
cocoa_percent numeric 0.0% 46
outliers
ingredients categorical 0.0% 22
most_memorable_characteristics text 0.0% 2,487
near_unique
rating numeric 0.0% 12

ref

categorical foreign_key
This column appears to be a numeric reference or ID code stored as a categorical string, likely a ticket number, document reference, or external record identifier. With 630 unique values across 2,530 rows, the average reuse rate is ~4 rows per value, and the entropy ratio of 0.9954 is nearly maximal, indicating an almost-uniform distribution with no dominant category. The most frequent value ('414') appears only 10 times (top_rate ≈ 0.004), confirming no single reference dominates—but the non-unique nature rules out a pure primary key, suggesting these are foreign references that recur legitimately. Treatment: Left-join or group-by on this reference ID; verify the target table to confirm referential integrity. medium · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
630
top_value
414
top_rate
0.003953
cardinality
630
entropy
9.257
entropy_ratio
0.9954

company

categorical other imbalance
This column is intended to capture a company name but contains a single blank string across all 2,530 rows — it is effectively empty. Cardinality is 1, entropy is 0, and the top value is an empty string with a 100% hit rate, meaning the field was never populated. This is a completely uninformative column with zero analytical value. Treatment: Drop entirely; the column carries no information and is populated only with empty strings. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
1
top_value
top_rate
1
cardinality
1
entropy
0
entropy_ratio
0

company_location

categorical feature
This column encodes the country of company headquarters across 2,530 records, with 67 distinct country values and zero nulls. The distribution is heavily US-dominated: 'U.S.A.' alone accounts for 44.9% of all rows (1,136 of 2,530), nearly 6.4× the next most frequent country (Canada at 177). The entropy ratio of 0.606 confirms moderate-to-high concentration despite 67 categories, and the presence of both abbreviations ('U.S.A.', 'U.K.') and full names ('Canada', 'France') suggests inconsistent formatting that may complicate grouping or joining. Treatment: Standardise country name formats (e.g. 'U.S.A.' → 'USA'), then one-hot or target-encode for modelling, noting the strong US imbalance. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
67
top_value
U.S.A.
top_rate
0.449
cardinality
67
entropy
3.675
entropy_ratio
0.6058

review_date

numeric timestamp
This column contains review years, stored as numeric integers spanning 2006 to 2021 — a 16-year range with only 16 distinct values, confirming it is a year-granularity timestamp rather than a full date. The distribution is nearly symmetric (skew −0.18, kurtosis −0.77) with a median of 2015 and an IQR of 6 years, suggesting fairly even coverage across the mid-2010s. Notably, 2530 rows collapse into just 16 discrete year values, meaning this field carries no finer temporal resolution and may limit time-series analyses that require month- or day-level precision. Treatment: Cast to integer year; use as a categorical or ordinal time feature, or bin into periods — do not treat as a continuous numeric. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
16
min
2,006
max
2,021
mean
2014
median
2,015
std
3.968
q1
2,012
q3
2,018
iqr
6
skew
-0.1833
kurtosis
-0.7727
n_outliers
0
outlier_rate
0
zero_rate
0

country_of_bean_origin

categorical feature
This column records the country of origin for cacao beans used in chocolate production, covering 62 distinct origins across 2,530 rows with no nulls. The distribution is fairly broad (entropy ratio 0.79), with Venezuela leading at exactly 10% (253 rows), followed closely by Peru (244) and Dominican Republic (226) — no single origin dominates heavily. Notably, 'Blend' appears as a pseudo-origin with 156 entries, meaning ~6% of records are multi-origin mixtures rather than single-country sourced beans, which may need special handling in origin-based analyses. Treatment: One-hot or target-encode for modelling; isolate or flag 'Blend' records as a separate category before any geographic or single-origin analysis. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
62
top_value
Venezuela
top_rate
0.1
cardinality
62
entropy
4.717
entropy_ratio
0.7921

specific_bean_origin

text feature one_word duplicates
This column captures the specific geographic or farm-level origin of cacao beans used in chocolate production, ranging from country-level names (Madagascar, Ecuador, Peru) to named estates and cooperatives (Kokoa Kamili, Chuao, Sambirano). The duplicate rate of 36.6% is expected for a categorical-like origin field with 1,605 unique values out of 2,530 rows, but the top word 'batch' appearing 356 times is surprising — nearly 14% of entries reference a batch identifier, suggesting some values encode both origin and batch metadata in a single field. One-word entries account for 33.8% of values (country-level origins), while multi-word entries average ~2.7 words, reflecting finer geographic or supplier granularity. Treatment: Normalize by extracting country-level tokens separately; flag 'batch'-containing entries for parsing or exclusion before grouping or encoding. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
1,605
len_min
3
len_max
51
len_mean
17.12
len_median
14
len_p95
39
word_mean
2.681
word_median
2
n_empty
0
n_duplicates
925
duplicate_rate
0.3656
vocab_size
2,079
readability_flesch_mean
28.41
emoji_rate
0
url_rate
0
one_word_rate
0.3375
allcaps_rate
0.001581
boilerplate_rate
0

cocoa_percent

numeric feature outliers
This column records cocoa percentage for chocolate products, ranging from 42% to 100% across 2,530 rows with no nulls and only 46 distinct values. The distribution is tightly clustered — Q1 and median both sit at 70%, Q3 at 74%, giving an IQR of just 4 — but is right-skewed (skew 1.20) with high kurtosis (6.54), driven by 235 outliers (9.3%) that stretch toward extreme values like 100%. The narrow IQR relative to the full range (42–100) suggests most chocolates fall in a standard dark-chocolate band, with a long tail of unusually high-cocoa products pulling the mean (71.64) above the median. Treatment: Use as-is or apply mild Winsorization at the upper tail to dampen the 9.3% outlier influence before modelling. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
46
min
42
max
100
mean
71.64
median
70
std
5.617
q1
70
q3
74
iqr
4
skew
1.198
kurtosis
6.541
n_outliers
235
outlier_rate
0.09289
zero_rate
0

ingredients

categorical feature
This column encodes a structured ingredient combination label for each record, consisting of a count prefix (e.g., '3-') followed by abbreviated ingredient codes (B, S, C, L, V, Sa). With only 22 distinct values across 2,530 rows it functions as a categorical feature rather than free text. Notably, 87 rows carry an empty string despite a reported null_rate of 0.0, which is a hidden missingness issue that needs handling. The top value '3- B,S,C' dominates at ~39.5% of rows, and starred variants (e.g., 'B,S*') suggest a meaningful sub-type modifier that distinguishes at least some categories. Treatment: Treat empty-string entries as missing; one-hot encode or ordinal-encode the 22 categories, or decompose into numeric ingredient count and individual binary ingredient flags. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
22
top_value
3- B,S,C
top_rate
0.3949
cardinality
22
entropy
2.43
entropy_ratio
0.545

most_memorable_characteristics

text free_text near_unique
This column contains short, comma-separated flavor/texture descriptor phrases for what appears to be a chocolate or confectionery dataset — top words include 'cocoa', 'sweet', 'nutty', 'creamy', 'sandy', and 'fatty'. With 2487 unique values out of 2530 rows and a mean of ~3.4 words per entry (median 23 characters), entries are brief multi-attribute tags rather than free prose, yet near-uniqueness is triggered by the combinatorial variety of descriptors. Only 43 duplicates exist across 2530 rows (1.7% duplicate rate), and the vocabulary of 868 words suggests a constrained but richly combined descriptor lexicon. Treatment: Split on commas to explode into multi-hot flavor tags, then use as categorical features or embed for similarity modelling. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
2,487
len_min
3
len_max
37
len_mean
23.06
len_median
23
len_p95
30
word_mean
3.376
word_median
3
n_empty
0
n_duplicates
43
duplicate_rate
0.017
vocab_size
868
readability_flesch_mean
49.71
emoji_rate
0
url_rate
0
one_word_rate
0.007115
allcaps_rate
0
boilerplate_rate
0

rating

numeric feature
This column is a discrete rating scale, almost certainly a user or product rating, with only 12 distinct values across 2,530 records and no nulls. The range is 1.0–4.0 (notably not the common 1–5 or 1–10 scale), suggesting a 4-point Likert or star-rating system. The distribution is left-skewed (skew = -0.608) and tightly clustered — IQR of just 0.5, with Q1=3.0 and Q3=3.5 — indicating a strong ceiling effect where most responses pile up near the top. Only 50 outliers (1.98%) exist, likely low ratings near 1.0. Treatment: Treat as ordinal categorical or keep numeric; consider ceiling-effect bias before using as a target or feature in regression. high · anthropic:default
n
2,530
nulls
0 (0.0%)
unique
12
min
1
max
4
mean
3.196
median
3.25
std
0.4453
q1
3
q3
3.5
iqr
0.5
skew
-0.6084
kurtosis
1.053
n_outliers
50
outlier_rate
0.01976
zero_rate
0