Preamble

Washington quarters have been produced almost continuously from 1932 until present day. From 1932 until 1964 their composition was 90% silver and 10% copper; in 1965 the composition was changed to a copper core, which was clad on the obverse and reverse with CuNi (this is why there’s a strip of copper on the edge of the quarters you have in your pocket; you’re seeing the copper core). Due to the value of their silver content, pre-65 quarters are commonly collected and held by collectors.

This past week I was able to access a semi-random assortment of pre-1965 Washington quarters; I thought it would be neat to compare the dates and mints-of-origin with what we’d expect given the mintage numbers provided by the United States Mint and maybe explore some trends within the dataset.

Data

This link can be used to access the raw data and the R code I used can be found below.

Here is the raw data I am working with. “P” designates the Philadelphia mintmark; “D” the Denver mint; “S” the San Francisco mint. No prefix indicates official mintage numbers, while “obs.” indicates my observed frequencies in the small (290 quarters) sample I had access to.

Year P D S Proof obs.P obs.D obs.S
1932 5404000 436800 408000   0 0 0
1933              
1934 31912052 3527200     2 0  
1935 32484000 5780000 5660000   1 0 0
1936 41300000 5374000 3828000 3837 3 0 0
1937 19696000 7189600 1652000 5542 2 0 0
1938 9472000   2832000 8045 1   0
1939 33540000 7092000 2628000 8795 2 1 2
1940 35704000 2797600 8244000 11246 4 0 1
1941 79032000 16714800 16080000 15287 2 1 1
1942 102096000 17487200 19384000 21123 10 1 0
1943 99700000 16095600 21700000   5 0 1
1944 104956000 14600800 12560000   6 0 0
1945 74372000 12341600 17004001   3 0 0
1946 53436000 9072800 4204000   2 0 0
1947 22556000 15338400 5532000   1 4 1
1948 35196000 16766800 15960000   2 1 3
1949 9312000 10068400     0 0  
1950 24920126 21075600 10284004 51386 1 2 2
1951 43448102 35354800 9048000 57500 3 4 3
1952 38780093 49795200 13707800 81980 4 4 0
1953 18536120 56112400 14016000 128800 3 9 3
1954 54412203 42305500 11834722 233300 3 3 0
1955 18180181 3182400   378200 3 0  
1956 44144000 32334500   669384 1 3  
1957 46532000 77924160   1247952 3 10  
1958 6360000 78124900   875652 0 5  
1959 24384000 62054232   1149291 0 3  
1960 29164000 63000324   1691602 0 7  
1961 37036000 83656928   3028244 2 11  
1962 36156000 127554756   3218019 5 8  
1963 74316000 135288184   3075645 9 7  
1964 560390585 704135528   3950762 56 50  

Results & Discussion

Loading Data

Let’s go ahead and prepare our environment and load our data.

1
2
3
4
5
6
7
8
9
10
11
12
13
   
#--------------------
library(ggplot2)
library(reshape2)
library(gridExtra)
library(magrittr)

###
# read data
###
dat.orig<-dat<-read.csv(file.path(getwd(),"QuartData.txt"),sep="\t",header=TRUE)
dat
str(dat)

Data Prep

We’ll start by removing the Proof mintage numbers. We’ll be ignoring the Proof mintage numbers for this analysis for two reasons:

  • they’re exceedingly small in magnitude compared to the other categories
  • and more importantly, because they were Proofs, we don’t expect them to be in general circulation when these coins were being issued, and therefore we really don’t expect them to appear in the junk silver market.

We follow up by substituting zeros for NA’s in the dataset (Don’t worry, we won’t forget about those NA values when carrying out tests.), calculate the total number of quarters produced by the mint (per year and in total) and the observed (yearly and total) sums. We then convert all of the counts to fractions/proportions to make the values easier to compare. Finally we split and “melt” the data to make it ggplot friendly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
   
#--------------------
###
# restructure & prepare data for ggplot
###
# remove proof numbers; they're inconsequential...
dat<-dat[,-c(5)]

# add zero's for NA values to make math operations easier
dat[is.na(dat)]<-0

# calculate total mintage by year
dat$mintYearSum<-dat$P + dat$D + dat$S

# calculate total observed by year
dat$obsYearSum<-dat$obs.P + dat$obs.D +dat$obs.S

# how many total (non-proof) quarters minted?
totalMintage<-sum(dat$mintYearSum)

# how many total observations? 
totalObs<-sum(dat$obsYearSum)

# we will be working with proportions...
# so let's calculate them: 
dat$MintP<-dat$P/totalMintage
dat$MintD<-dat$D/totalMintage
dat$MintS<-dat$S/totalMintage
dat$ObsP<-dat$obs.P/totalObs
dat$ObsD<-dat$obs.D/totalObs
dat$ObsS<-dat$obs.S/totalObs
dat$YearMintage<-dat$mintYearSum/totalMintage
dat$YearObs<-dat$obsYearSum/totalObs

# and let's break the data up into two dataframes, one for mintage and one for observed values.
str(dat)
mdat<-dat[,c(1,10:12)]
odat<-dat[,c(1,13:15)]

# and let's do some voodoo to make the visualization easier later on...
# you'll see where I'm going with this...
odat$ObsS<-odat$ObsS
odat$ObsD<-odat$ObsD + odat$ObsS
odat$ObsP<-odat$ObsP + odat$ObsD

# melt data for ggplot
mdat<-melt(mdat,id.vars="Year")
mdat
odat<-melt(odat,id.vars="Year")
odat

Yearly mintage

Looking at the mintage number per year, we can see that the number in 1964 absolutely dwarfs all of the other years. This is due to the hoarding of silver coins by the American public in response to the upcoming changes in quarter (and dime) composition.

1
2
3
4
5
6
7
8
9
   
ggplot() + 
  theme_bw() +
  ylab("Fraction") +
  geom_bar(data=mdat,
           aes(x=Year, y=value, fill=variable),
           stat="identity",
           alpha=0.5
           ) 

Observed date frequencies

When we overlay our observed frequencies on the mintage numbers, there seems to be a nice degree of correspondence.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   
ggplot() + 
  theme_bw() +
  ylab("Fraction") +
  geom_bar(data=mdat,
           aes(x=Year, y=value, fill=variable),
           stat="identity",
           alpha=0.5
           ) +
  geom_line(data=odat,
            aes(x=Year, y=value, color= variable),
            alpha=1, size=1
            ) +
  geom_point(data=odat,
            aes(x=Year, y=value, shape=variable), 
            colour= "black",
            size=1) 

Distribution goodness of fit

We should ask ourselves “how well does our observed distribution fit our assumed parent distribution”, i.e. is the distribution of our observed data fit our expectations that mintage counts govern the availability of quarters available to collectors. We can test this using a Chi-Square goodness of fit test.

For this test:

  • H0: the observed frequency distribution is the same as the hypothesized distribution.
  • HA: Observed and hypothesized distributions are different.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
   
# no production of quarters in 1933, so they must be excluded from the test
dat[-c(2),] %$% 
  chisq.test(
    x = obsYearSum,
    p = mintYearSum,
    rescale.p = TRUE
  )
# 	Chi-squared test for given probabilities
# 
# data:  obsYearSum
# X-squared = 38.635, df = 31, p-value = 0.1628
# 
# Warning message:
# In chisq.test(x = obsYearSum, p = mintYearSum, rescale.p = TRUE) :
#   Chi-squared approximation may be incorrect
cs<-dat[-c(2),] %$% 
  chisq.test(
    x = obsYearSum,
    p = mintYearSum,
    rescale.p = TRUE
  )
cs$expected
#  [1]  0.4799033  2.7217091  3.3733316  3.8785173  2.1916672  0.9449384
#  [7]  3.3223369  3.5900285  8.5882179 10.6725811 10.5595633 10.1464753
# [13]  7.9654372  5.1234951  3.3351163  5.2164222  1.4884008  4.3222428
# [19]  6.7468861  7.8552680  6.8093714  8.3367482  1.6406309  5.8734938
# [25]  9.5581436  6.4883796  6.6383941  7.0781538  9.2691301 12.5728684
# [31] 16.0974507 97.1146967

The p-value (0.1628) is above the (arbitrary) significance level of 0.05, indicating that we cannot reject H0. This statement comes with a caveat however: The output indicates that the Chi-Squared approximation may be incorrect. This is due to our low expected counts in each bin. Ideally we’d want all of our expected counts to be much higher. In this specific case, the warning indicates that because our dataset is small, we should interpret these results with caution, and we’d do well to increase our sample size.

Possible influences…

Looking at the previous plot, It appears that dates later than ~1950 have observed counts that are generally consistent with or higher than our expectations based on mintage numbers alone, while later dates might have lower counts. I also notice that the observed counts for the years during WW2 are generally lower than expected.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   
ggplot() + 
  theme_bw() +
  ylab("Fraction") +
  geom_bar(data=mdat,
           aes(x=Year, y=value, fill=variable),
           stat="identity",
           alpha=0.5
           ) +
  geom_line(data=odat,
            aes(x=Year, y=value, color= variable),
            alpha=1, size=1
            ) +
  geom_point(data=odat,
            aes(x=Year, y=value, shape=variable), 
            colour= "black",
            size=1) +
  geom_vline(xintercept = 1941, colour="brown") +
  geom_vline(xintercept = 1942, colour="brown") +
  geom_vline(xintercept = 1943, colour="brown") +
  geom_vline(xintercept = 1944, colour="brown") +
  geom_vline(xintercept = 1945, colour="brown") 

These observations suggest that the distribution may be disturbed by a couple factors.

  • The overall age of the coin; older coins are more likely to become lost or worn and removed from circulation by the mint.
  • People may remove coins with culturally significant dates from circulation.
  • The overall rarity of a coin (a product of mintage, and other factors) can improve its desirability for collection, which would also effect its chances of being removed from circulation.

Age is probably the easiest influence to investigate, let’s look at its possible influence.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   
# let's look at age impact for each mint
# take the differences (of fractional values) between observed and expected
dat$YearDiff<-dat$YearObs-dat$YearMintage
dat$YearDiff.P<-dat$ObsP-dat$MintP
dat$YearDiff.D<-dat$ObsD-dat$MintD
dat$YearDiff.S<-dat$ObsS-dat$MintS

# here are those values
dat[,c("Year","YearDiff","YearDiff.P","YearDiff.D","YearDiff.S")]
yr.dat<-melt(
  dat[,c("Year","YearDiff","YearDiff.P","YearDiff.D","YearDiff.S")]
  ,id.vars="Year")
yr.dat

# we substituted zeros for NA's earlier, but this is going to interfere with our regression, so we must remove them, as we did for the overall mintage numbers above...
yr.dat<-yr.dat[!c(
  dat.orig$Year==1933,
  is.na(dat.orig$P),
  is.na(dat.orig$D),
  is.na(dat.orig$S)),]
yr.dat

plot1<-
ggplot(data=yr.dat,
       aes(x=Year, y=value, color=variable, shape=variable)
       ) + 
  theme_bw() +
  geom_point() +
  geom_hline(yintercept = 0) +
  geom_smooth(method=lm, size=1, se=TRUE, aes(linetype=variable))
plot1
plot1 + facet_wrap( ~ variable,ncol=2)

When we look at all of the mints together, there does appear to be a small, marginally significant influence by age on the observed abundance (in relation to what we expected), but with the small total count, it would probably be inappropriate to test the significance for each of the individual mints separately. It is interesting to observe that the quarters from the Philadelphia Mint appear to be the most effected by date/age (out of the three) despite producing roughly the same amount of quarters as the Denver Mint.

Fin

This was a neat experiment, but I was a little disappointed that we couldn’t make any large sweeping generalizations. I hope to be able to expand this analysis in the future.