finding sparse regions in time series data I have several hundred years of church baptisms that will be searched by people wanting to find the baptisms of their ancestors.  I want to call attention to periods in the records in which the number of baptisms is particulary sparse when compared to other periods, because sparse periods may indicate poor record keeping rather than an actual decrease in the number of baptisms. The baptisms were performed fairly often (every few days for busy churches), but not absolutely regularly, so the baptism dates are distributed somewhat randomly, and any number of baptisms could be performed on any given day. 
One simple approach is to simply check for gaps of a specified length between baptism dates, but this would miss sparse periods in which baptisms were performed but much less often than usual.  Perhaps the least biased approach is to graph the entire data set and let people decide for themselves what periods qualify as sparse, but this method has its own drawbacks associated with presenting the data to users, who would need to interact with the plot in order to scan the huge amount of data in it.  I don't want to deal with that unless forced to do so.
What kinds of statistical methods are used in situations like this?  Can anyone provide the name of an algorithm that has been designed for more or less this kind of problem, or describe an appropriate means of analysis?  I'm willing to write code (Python) if necessary.
 A: Interesting question! and interesting data. You can focus on the waiting times between baptism, so take the successive differences.  Then you could make a local estimation of the mean waiting times (high means correspond to sparse baptisms).  Methods like lowess (also name of an R function, but similar methods must be present in many systems, like python) use cross-validation to choose window length.
You could either present a plot of the smooth to users, or subjectively, based on the plot, divide into intervals yourself, and present that as a table. I doubt some more formal methods will be useful here.
EDIT  Multiple baptisms on the same day?  They would lead to zero waiting times, and typical waiting time distributions do not work well ... If few ignore them, or replace the zeros with fractions of a day? If many, discrete models or zero-inflation? I'm not sure ...
A: Essentially, you are trying to estimate the number of events per unit time, given the times of the events.  The usual way to approach a problem like this is an algorithm called kernel density estimation.  The gist of the algorithm is that you take each of your observations and smear it out over time, with its contribution to the rate being greatest right at the time where the observation actually occurred and falling off as you get further away from that actual time.  The function used to define this smearing is called the "kernel", which gives the method its name.  You do this for all of the points, and then the estimate of the rate at any particular time is the sum of the contributions from the kernels centered on all of the observation points.  (In practice only the nearest ones will make an appreciable contribution.)
There are some subtleties involved with how to choose the width of the kernels, so you will probably want to go with a packaged implementation.  For python it looks like there are a few to choose from.  The article Kernel Density Estimation in Python breaks down the advantages and disadvantages of several packages.  In R the density function from the built-in stats package works pretty well, as does the kde1d package.
All that said, the differences between implementations are unlikely to matter much for your purposes.  Pick one that is easy to use and has a built-in plot method for displaying the data, and you should be fine.
A: you could bucket your data into say 10 year intervals and then apply arima plus intervention detection culminating in the identification of "level shifts / step changes ". https://stats.stackexchange.com/search?tab=newest&q=user%3a3382%20level%20shifts%20step%20changes will give you some discussions and useful examples.
