01 Interactive query 02 Method & formulae 03 At a glance 04 SQL walkthrough

Samian Research · IPS database · method note

Dating archaeological findspots
from potters' stamps

Every quantity computed by the PostgreSQL query behind the interactive plot, written out in full: what it is, how it is derived, why that derivation was chosen over the alternatives, and where it should not be trusted.

Purpose and scope

What the query claims, and what it deliberately does not claim.

The query dates findspots, not pottery and not potters. For each findspot it collects the stamps recovered there, looks up the production date range of each stamp's potter, and summarises those ranges into a single interval with an associated statement of confidence.

The resulting interval is a virtual fuzzy year: a compact central region of the date distribution implied by the stamps, not a statement about when the site was founded or abandoned. It is a typological estimate. Where a findspot is independently dated — by a destruction horizon, an inscription, or a historical source — that external date is better evidence than anything computed here, and this method makes no attempt to incorporate it.

Read the two families of output separately. The interval (eff_start, eff_end) answers when. The quality measures (q_interval, q_repetition) answer how well supported, along two independent axes. No quality measure feeds back into the interval, and the interval does not feed into the quality measures.

Unit of analysis and data sources

One row of output = one findspot, not one site.

Rows are grouped by (site, findspot). A site with several excavated contexts therefore produces several rows — Bregenz contributes six, London and Colchester two each. This is deliberate: a single site may contain contexts of very different date and very different reliability, and collapsing them would average away precisely the information the method depends on.

SourceProvidesJoined on
tbldistributionstamp occurrences: site, findspot, potter name, die
tblpotterdatemin, datemax per potterlower(trim(pottername))
v_discoverysitestable Linked Open Data identifier the_idsite = label

The join to v_discoverysite resolves each site against the published archaeology.link location dataset, so that every row carries a persistent identifier suitable for RDF export rather than a name that has to be matched again downstream. On the current selection this join succeeds for every row.

The potter join is effectively an inner join. It is written LEFT JOIN tblpotter, but the WHERE clause tests p.datemin <> 0, which discards any row where the join failed. Stamps whose potter is not present in tblpotter are silently absent from the result. This is almost certainly the intended behaviour — an undated potter cannot contribute to a date — but it is not what the query appears to say.

Selection criteria

Which stamps enter the calculation.

-- applied to every stamp occurrence before aggregation
WHERE di.isdate       = 'Θ'          -- occurrence is usable for dating
  AND sitecharacter  = 'Σ'          -- settlement-type site
  AND findspot IS NOT NULL           -- context is resolvable
  AND p.datemin <> 0                -- potter carries a real date
  AND p.datemax NOT IN (260,120,150) -- ??? see below

The exclusion p.datemax NOT IN (260, 120, 150) removes every potter whose end date is exactly one of three years. No comment records what these values mean. Three plausible readings — placeholder values standing for "unknown", a legacy correction for a specific data problem, or a deliberate chronological cut — have very different consequences for how the results should be read, and the exclusion is not neutral: it silently removes potters from every findspot at which they occur. This must be resolved and documented before publication, and recorded as provenance in any RDF export.

One further asymmetry is worth noting. The die-based measures in §10 apply an additional filter, di.die IS NOT NULL, because a stamp without a recorded die cannot contribute to a repetition count. Consequently count_stamps (all qualifying stamps) and n_stamps_die (those with a die) may differ, and it is n_stamps_die that drives the coverage factor in §7.

Notation

Symbols used throughout, fixed for one findspot.

SymbolMeaningSQL
\(i = 1 \dots n\)stamp occurrences at the findspotrows of tbldistribution
\(a_i\)earliest production year of stamp \(i\)'s potterp.datemin
\(b_i\)latest production year of stamp \(i\)'s potterp.datemax
\(w_i = b_i - a_i\)width of that potter's range
\(c_i = \tfrac{a_i + b_i}{2}\)midpoint of that potter's range
\(n\)stamps at the findspot; the quantity that drives \(k\)count_stamps
\(n_{\text{die}}\)stamps with a recorded die; descriptive onlyn_stamps_die
\(D\)distinct \((\text{potter}, \text{die})\) pairsn_dies
\(\tau\)saturation constant of the \(k\) curve, in stampsp_tau
\(t_0\)reference length for the edge measures, in yearsp_t0
Dies are potter-bound. \(D\) counts distinct combinations of potter and die, because die numbers are only unique within a potter: potter X die 2 and potter Y die 2 are two different objects. In SQL this is achieved by counting DISTINCT die within each potter first and summing afterwards, not by a single COUNT(DISTINCT die) across the findspot.

Central tendency

Where the distribution of dates sits.

\[ \overline{a} = \frac{1}{n}\sum_{i=1}^{n} a_i \qquad \overline{b} = \frac{1}{n}\sum_{i=1}^{n} b_i \qquad m = \frac{\overline{a} + \overline{b}}{2} \]
avg_datemin, avg_datemax, midpoint_year. The midpoint \(m\) is the anchor about which the fuzzy year is built; \(\overline{a}\) and \(\overline{b}\) are reported for reference and are not the plotted box.

The extremes min_datemin, max_datemin, min_datemax and max_datemax are reported unchanged. In the plot they appear as the short stubs at either end, marking the outermost dates any single potter at the findspot allows.

Averaging is occurrence-weighted, not potter-weighted. A potter represented by forty stamps at a findspot enters \(\overline{a}\) forty times. This is defensible — more attestations are more evidence — but it means the average describes the assemblage as excavated, not the set of potters present, and it must be stated as such.

Dispersion: the aoristic \(\sigma\)

The core of the method, and the quantity most often got wrong.

Each stamp does not supply a date but a range. Following aoristic practice, each stamp is treated as distributing one unit of probability uniformly across the years its potter was active. The findspot's date distribution is the sum of those uniform blocks, and the dispersion wanted is the standard deviation of that sum.

That dispersion has two components, and the law of total variance separates them exactly:

\[ \operatorname{Var}(X) \;=\; \underbrace{\mathbb{E}\big[\operatorname{Var}(X \mid i)\big]}_{\text{within stamps}} \;+\; \underbrace{\operatorname{Var}\big(\mathbb{E}[X \mid i]\big)}_{\text{between stamps}} \]

For a uniform distribution on \([a_i, b_i]\) the within-stamp variance is \(w_i^{2}/12\); the between-stamp component is the sample variance of the midpoints \(c_i\). Hence:

\[ \sigma \;=\; \sqrt{\;\underbrace{\frac{1}{n}\sum_{i=1}^{n}\frac{w_i^{2}}{12}}_{\text{fuzziness of each stamp}} \;+\; \underbrace{\frac{1}{n-1}\sum_{i=1}^{n}\left(c_i - \overline{c}\right)^{2}}_{\text{disagreement between stamps}}\;} \]
In SQL: SQRT( AVG(POWER(datemax-datemin,2)/12.0) + COALESCE(VAR_SAMP((datemin+datemax)/2.0), 0) ). The COALESCE handles \(n = 1\), where the between-stamp variance is undefined but the within-stamp fuzziness is still perfectly well defined.
4060 80100120 stamp 1 · narrow stamp 2 · wide stamp 3 · offset within-stamp fuzziness · mean w²/12 between-stamp scatter · Var(c)
Both components are real dispersion and both must be counted. A findspot whose stamps all share one broad potter range is genuinely less well dated than one whose stamps are individually sharp, even when their midpoints agree perfectly — a distinction that a formula based on midpoints alone cannot make.
Why not the standard deviation of the midpoints alone? Because it ignores \(w_i\) entirely. Two findspots whose stamps have identical midpoints would receive identical dispersion, even if one is built from potters dated to five years and the other from potters dated to eighty. The decomposition above is the minimal correction that restores the missing term.

The coverage factor \(k\)

How many standard deviations wide the reported interval is.

\(\sigma\) says how scattered the evidence is; \(k\) says how much of that scatter to show. It is a model parameter, not a confidence level: it expresses an archaeological convention about how far a findspot's evidence should be trusted, and it is driven by the quantity of that evidence.

\[ k \;=\; k_{\max} \;-\; \big(k_{\max} - k_{\min}\big)\Big(1 - e^{-\,n/\tau}\Big) \]
With \(k_{\min} = 0.5\), \(k_{\max} = 1.5\), \(\tau = 6\). \(n\) is the number of stamps at the findspot — not the subset carrying a die attribution, which is what it was until revision 30a. A findspot with no attestations would receive \(k_{\max}\); as attestations accumulate, \(k\) decreases towards \(k_{\min}\), so the reported interval narrows. Saturation is exponential: the difference between two and twelve stamps matters far more than the difference between eighty and ninety.
1.5 0.5 τ = 6 stamps → k_max · thinly attested k_min · richly attested
At \(n = \tau\) roughly 63 % of the available narrowing has been achieved. \(\tau\) therefore sets the assemblage size at which a findspot is considered substantially attested.
Volume only. Die repetition was tested as a second driver of \(k\) and rejected: across the selection then current it changed the ordering of findspots only marginally, and a single-signal model is easier to state and to defend. Die repetition is retained in full, but as a descriptive measure (§10) rather than as a component of the interval width.
\(k\) cannot see external dating. A findspot with three stamps receives a wide interval even where its true date is known to the year from other evidence. Inchtuthil, historically fixed to AD 83–86, is the standing example: from the stamps alone it is thinly attested, and the honest data-driven answer is a wide band. This is a property of the evidence, not a defect of the formula — but it means the interval must never be read as the best available date, only as the best date the stamps support.

The two constants: \(\tau\) and \(t_0\)

Two numbers that are not the same number, and one that is not Student's \(t\).

The model carries two constants whose symbols invite confusion. They govern different quantities, they are measured in different units, and they are arrived at by different means. Until the calibration described below they happened to carry the same value, which made the confusion cost-free — and therefore invisible.

\(\tau\)\(t_0\)
Governsthe coverage factor \(k\), and through it the width of the boxthe edge measures \(q_{\text{start}}\) and \(q_{\text{end}}\), and through them the whisker colours
Unitstampsyears
Value620
Arrived at byempirical calibration against ceramic-independent reference ensemblesanchoring on stated expert thresholds for sharp and unusable datings
Enters as\(e^{-n/\tau}\)\(e^{-\sigma/t_0}\)
Neither is Student's \(t\). Nothing in this model is a confidence interval, no distribution is assumed for the findspot date, and no significance is tested. \(k\) is a stated convention about how much of the observed scatter to show; \(t_0\) is a yardstick against which a dispersion is read. A reader who imports the vocabulary of frequentist inference will draw conclusions the data do not support.

\(\tau\): where 6 comes from

\(\tau\) is the assemblage size at which roughly 63 % of the available narrowing has been achieved. Setting it high makes the model cautious — even well-attested findspots keep a wide box; setting it low makes it confident, and a handful of stamps is then enough to claim a narrow date.

It was fixed empirically. Five findspots in the corpus are dated by evidence that does not depend on samian ware at all:

FindspotIndependent evidence
Dangstetten, Military campcoin-dated, 15 to 8 BC
Oberaden, Military campdendrochronology, ending 7 BC
Velsen, Velsen Ihistorically dated occupation
Pompeii, Hoarderuption of Vesuvius, AD 79
Inchtuthil, Gutterhistorically dated abandonment
Five panels, one per
    reference ensemble, each showing the modelled interval and the independent
    terminus as a vertical line.
The calibration set. Each panel shows what the model computes from the stamps alone — box, whiskers, full range of contributing potter dates — with the independent terminus drawn across it. The criterion is simply that the line falls inside the box in all five cases; the figure is generated by py/make_calibration_panels.py, which recomputes that and fails loudly if it stops holding.

\(\tau\) is the smallest value at which every one of these termini still falls inside the interval the model computes from the stamps alone. Smaller, and the model starts contradicting evidence it cannot see; larger, and it is being more cautious than the data require. That value is 6, down from the 20 used until the calibration.

Why the reference set is exactly these five. They are the only ensembles in the corpus whose date rests on something other than ceramics. Calibrating against samian-dated assemblages would be circular: the model would be tuned to agree with the chronology it is supposed to test. Two further candidates were dropped for precisely that reason. The set is published as lado:calibratedAgainst in the RDF, because a calibration whose reference set is not named cannot be checked.
Why \(k_{\min}\) and \(k_{\max}\) were not calibrated with it. Five reference ensembles cannot separate three parameters. Fitting all three produced 2 424 combinations that satisfied the criterion equally well, which is not a result but a symptom of an underdetermined problem. \(k_{\min}\) and \(k_{\max}\) therefore remain stated conventions, and only \(\tau\) is claimed as calibrated.

\(t_0\): where 20 comes from

The edge measures answer a different question from \(k\): not how wide to draw the box, but how much to trust each of its two edges. Both read

\[ q_{\text{start}} = \exp\!\left(-\frac{s_a}{t_0}\right) \qquad\qquad q_{\text{end}} = \exp\!\left(-\frac{s_b}{t_0}\right) \]
\(s_a\) and \(s_b\) are the sample standard deviations of the contributing potters' start and end dates. \(t_0\) is the length against which that dispersion is read.

Its value is anchored on two thresholds stated by the domain expert: a dispersion of about 5 years counts as a sharply dated edge, one of about 25 years as chronologically unusable. Setting \(t_0 = 20\) puts those two at

DispersionReading\(q\)
5 yearssharply dated0.78
20 years\(q = e^{-1}\), by construction0.37
25 yearschronologically unusable0.29

The value is therefore a convention, but a traceable one: it is not chosen for elegance, and changing the two thresholds changes it in a stated way.

Why a fixed length and not the mean year. Earlier versions divided the dispersion by the mean calendar year, which made the measure a coefficient of variation about year zero. That penalised Augustan material for sitting near the era boundary rather than for anything about its evidence: a findspot averaging AD 5 received a near-zero quality for a scatter that would pass unremarked at AD 150. A fixed reference length removes the dependence on epoch entirely, and the two measures became comparable across the corpus for the first time. §13
An incident worth recording. During development both constants were set to 6 at the same time. The pipeline ran, every internal check passed, and the figures looked plausible — but every whisker colour in the corpus was wrong: Amiens, for instance, showed a quality of 0.31 where the correct value is 0.70. The ranking of findspots was unaffected, which is exactly why it survived several review passes. Nothing in the arithmetic can catch this, because both values are individually legal. The safeguards are therefore procedural: the two constants are exported separately as p_tau and p_t0 on every row, and the query generator warns when they are equal.

The virtual fuzzy year

The plotted box; the interval exported to RDF.

\[ \text{eff\_start} = m - k\sigma \qquad\qquad \text{eff\_end} = m + k\sigma \]
Symmetric about the midpoint by construction. \(k\) is always defined, because \(n\) counts rows and cannot be missing. Until revision 30a it was read from the stamps carrying a die attribution and fell back to \(k_{\max}\) wherever none was recorded — which widened the interval for a reason having nothing to do with the material. See §7a.
midpoint m box = m ± kσ · eff_start … eff_end whisker whisker extreme stub extreme stub
One row of the plot. The box is the fuzzy year; the whiskers are the legacy standard deviations of §12 and are visual only; the stubs mark the outermost dates permitted by any single potter present.

Quality axis I: dating sharpness

q_interval — how closely the potters agree.

\[ q_{\text{interval}} \;=\; \exp\!\left(-\,\frac{\sqrt{s^{2}_{a} + s^{2}_{b}}}{\left|\overline{b} - \overline{a}\right|}\right) \]
\(s^2_a, s^2_b\) are the sample variances of the start and end dates. The ratio is dispersion measured in units of the interval's own length, so the measure is dimensionless and bounded in \((0, 1]\): 1 means the potters agree perfectly relative to the span they describe, values near 0 mean they scatter far more widely than the span itself.

The endpoint measures follow the same shape but read the dispersion against a fixed reference length \(t_0 = 20\) years rather than against anything derived from the material:

\[ q_{\text{start}} = \exp\!\left(-\frac{s_a}{t_0}\right) \qquad q_{\text{end}} = \exp\!\left(-\frac{s_b}{t_0}\right) \]
These drive the whisker colours in the plot.
Resolved in v27c: they no longer depend on the calendar origin. Until then both divided by the mean year, which made them coefficients of variation about year zero — a findspot averaging AD 5 received a near-zero quality for a scatter that would pass unremarked at AD 150, and Augustan and Antonine material were read on incomparable scales. The CASE WHEN AVG(datemin) = 0 guard prevented the division by zero but not the distortion. With a fixed \(t_0\) the three quality measures are finally on comparable footing. §7a

All three quality measures fall back to 0.5 via COALESCE when their inputs are undefined — chiefly at \(n = 1\), where no sample variance exists. In the plot this is a harmless neutral grey. In an RDF export it becomes an assertion that the dating quality is 0.5, which is fabricated. The export must omit these triples rather than emit the fallback.

Quality axis II: die repetition

die_repetition, q_repetition — the hoard signature.

When the same die recurs at a findspot, the assemblage carries the signature of a closed group — a merchant's consignment, a hoard, a single delivery — rather than the accumulated background of ordinary settlement rubbish. This is a statement about the character of the deposit, and it is archaeologically significant in its own right.

\[ r = \frac{n_{\text{die}}}{D} \qquad\qquad q_{\text{repetition}} = 1 - \frac{1}{\max(r,\,1)} \]
\(r\) is the mean number of attestations per distinct potter–die combination, so \(r \geq 1\) always. \(q_{\text{repetition}} = 0\) means every die occurs exactly once; values approaching 1 indicate strong repetition. Köln (Hafen), with 26 stamps from 4 dies, gives \(r = 6.5\) and \(q_{\text{repetition}} = 0.85\).
Zero is not missing. \(q_{\text{repetition}} = 0\) means "measured, and no repetition present". Where no die is recorded at all the value is NULL, meaning "not measurable". The distinction matters for RDF, where an absent triple and a triple asserting zero say different things.

Why the two axes are not combined

A rejected simplification, recorded because it is tempting.

A single composite quality score was drafted as the geometric mean \(\sqrt{q_{\text{interval}} \cdot q_{\text{repetition}}}\). It was abandoned, and the reason is instructive.

Because a geometric mean vanishes when either factor vanishes, any findspot without die repetition received a composite quality of exactly zero. Inchtuthil — \(q_{\text{interval}} = 0.7\), three stamps from three dies — was scored at 0, implying that its dating was worthless. It is not: it is a perfectly ordinary, reasonably sharp settlement assemblage that simply is not a hoard.

\[ \sqrt{0.7 \times 0} \;=\; 0 \qquad\text{but the dating quality is }0.7 \]
The composite conflated "not a hoard" with "not datable".

The two measures answer different questions and can vary independently in all four combinations:

Low \(q_{\text{repetition}}\)High \(q_{\text{repetition}}\)
High \(q_{\text{interval}}\) Sharply dated settlement context (Inchtuthil) Sharply dated closed group — the ideal case
Low \(q_{\text{interval}}\) Diffuse background scatter Closed group of chronologically disparate material

Collapsing that table into one number destroys exactly the contrast that makes each case interesting. Both measures are therefore reported side by side, in the table, in the hover panel, and as separate predicates in RDF.

Legacy quantities kept for the plot

Retained deliberately, but not part of the model.

\[ \text{unc\_start\_years} = s_a \qquad \text{unc\_end\_years} = s_b \qquad \text{unc\_interval\_years} = \sqrt{s^{2}_{a} + s^{2}_{b}} \]

These drive the whiskers. They are visual only: they predate the current dispersion model and use a different notion of spread from the \(\sigma\) of §6. Two consequences follow.

First, unc_interval_years is the standard deviation of the sum \(a_i + b_i\) under an independence assumption that nothing in the data justifies — it is not the dispersion of any quantity that appears in the model. Second, the whiskers add \(s_a\) and \(s_b\) to a box that is already \(\pm k\sigma\) wide, so two different measures of spread are drawn on top of one another.

This is acceptable in the plot and unacceptable in the export. As a graphical cue to "there is scatter here" the whiskers work. They must not be exported as bounds of anything, and they must not be described in a caption as uncertainty of the fuzzy year.

Superseded formulation

What the query used to compute, and why it was replaced.

Earlier versions defined the box as

\[ \text{eff} = m \pm \tfrac{1}{2}\sqrt{s^{2}_{a} + s^{2}_{b}} \qquad\text{except where } q_{\text{interval}} \text{ rounds to } 1.000, \text{ where } \text{eff} = [\overline{a},\, \overline{b}] \]

Three defects made this unusable as an exported date.

The quantity had no referent. \(\sqrt{s^2_a + s^2_b}\) is the standard deviation of \(a_i + b_i\), the sum of two calendar years — a quantity nobody wants. It scales like a dispersion without being the dispersion of anything in the model. The factor \(\tfrac{1}{2}\) was likewise unmotivated.

The conditional produced a discontinuity. The two branches return different kinds of quantity — a date range in one, a scatter band in the other — switched at a rounding threshold:

\(\sqrt{s^2_a+s^2_b}\)\(\overline{b}-\overline{a}\)\(q_{\text{interval}}\)BranchBox width
0301.000date range30 years
0.1300.997scatter band0.1 years

A negligible amount of disagreement collapsed the interval from thirty years to a tenth of a year. As a thin rectangle in a plot this passes unnoticed; as time:hasBeginning and time:hasEnd it asserts a findspot dated to within seven weeks.

Neither branch counted the width of the potters' ranges. The within-stamp term of §6 was absent altogether.

The replacement removes the conditional entirely. \(\sigma\) tends smoothly to zero as the stamps converge, so no special case is needed for perfect agreement, and every row of output is now the same kind of quantity.

Limitations and open questions

To be settled before publication.

  1. The three excluded end dates. p.datemax NOT IN (260, 120, 150) is undocumented and not neutral. §3
  2. Fabricated fallbacks. COALESCE(..., 0.5) on the quality measures and COALESCE(..., 0) on the uncertainties turn "undefined" into a number. Tolerable in a plot, false in RDF, and the export omits the triple instead. The fallback on \(k\) itself was removed in revision 30a. §9
  3. Occurrence weighting. Averages are weighted by stamp count, not by potter. Defensible, but it must be stated. §5
  4. Later material is dated less sharply, and this is real. Intervals widen with the calendar: the median box width is about twelve years before AD 100 and about twenty-three years after it, a ratio of roughly one to two between the first century and the second and third. The cause is archaeological, not a defect of the model — see the note below — and no epoch correction is applied. One was tried in v27b and made the drift worse.
  5. Uniformity assumption. Each potter's range is treated as uniform. If production is better modelled as rising and falling, the \(w^2/12\) term would change; the structure of the decomposition would not.
  6. External dates are invisible. Historically fixed contexts receive no benefit from that fact. §7
  7. \(k_{\min}\) and \(k_{\max}\) are conventions, not estimates. Only \(\tau\) is calibrated; the two bounds were set by inspection, because five reference ensembles cannot separate three parameters. All five parameters travel with every row as provenance, or the intervals cannot be reproduced. §7a
Why the second and third centuries are dated less sharply. In the words of the excavator of the reference material: the absence of ceramic-independent dated assemblages containing stamped samian in the second and third centuries has led to speculation about late impressions — moulds used over a very long period in the production of decorated ware (see the publications of Huld-Zetsche). Such an assumption would call the possibility of a samian chronology into question altogether. Genuinely closed assemblages do exist for the period, the finds from the Pudding Pan Rock wreck among them, but they cannot be dated independently of the ceramics. That absence also makes residuality very hard to assess for these centuries; in the first century it appears not to play a significant role.

Parameter reference

Everything adjustable, in one place.

ParameterValueEffectSet in
\(k_{\min}\)0.5narrowest interval, richly attested findspotsparams CTE
\(k_{\max}\)1.5widest interval, thinly attested findspotsparams CTE
\(\tau\)6assemblage size, in stamps, at which ~63 % of the narrowing is reached; calibrated, §7aparams CTE
\(t_0\)20reference length, in years, for \(q_{\text{start}}\) and \(q_{\text{end}}\); a convention, §7aparams CTE
\(w\)1.0weight of volume against repetition in \(k\); 1.0 = volume onlyfixed, not exposed
within-stamp variance\(w^2/12\)uniform distribution across each potter's rangehard-coded
For RDF export. All six belong on the time-span as provenance, together with \(\sigma\), \(k\), \(n\), \(D\) and \(r\). Without them the reported interval is a bare pair of years that cannot be checked, recomputed, or compared against a run with different conventions.

Column glossary

Output of the query, in order of appearance.

ColumnMeaningStatus
the_idarchaeology.link location identifierkey
the_site, the_findspotgrouping unitkey
latinsitename, long, lat, pleiadesdescriptive attributes carried through
count_stampsqualifying stamp occurrences (all)
avg_datemin, avg_datemax\(\overline{a}\), \(\overline{b}\)reference
min_dateminmax_datemaxextremes; plotted as stubsreference
q_start, q_endendpoint sharpness, \(e^{-s/t_0}\); whisker colourmodel
q_intervaldating sharpness — quality axis Imodel
n_dies\(D\), distinct potter–die pairsmodel
die_repetition\(r\), attestations per diemodel
q_repetitionhoard character — quality axis IImodel
avg_intervaldisplay string of \(\overline{a}\) to \(\overline{b}\)display
unc_start_years, unc_end_years, unc_interval_yearswhisker lengthsvisual only
midpoint_year\(m\)model
n_stamps_die\(n_{\text{die}}\); descriptive since 30a, no longer an input to \(k\)model
k_eff, sigma_eff\(k\) and \(\sigma\), the two factors of the half-widthmodel
k_no_dierecordtrue where no die is recorded at all; a gap in the record, with no effect on the intervalmodel
p_k_minp_t0the five model parameters, carried on every row as provenancemodel
n_stamps_wide, n_potters_wide, max_potter_spanwatchdogs for potters dated across 100 years or more
eff_start, eff_endthe virtual fuzzy yearprimary

References

Methodological background.

Full bibliographic details to be completed against the editions actually cited in the paper.