Using PELT changepoint detection for observation counts data I'm trying to detect changepoints in the number of observations (specifically the number of occurrences of x happening per day). Broadly speaking the events are independent and the time intervals between them are exponentially distributed. However at certain points, such as changes in policy or legislation, there may be a change in the number of occurrences per day.
Implementation will be via a Python application and off-line detection is preferred since analysis will be after the fact.
Practical aspects and review of available literature lead me to prefer to use PELT for this. However, I've not been able to find anything that confirms PELT is ok to use for this. This is for a critical public safety application so it needs to be valid and I'd really appreciate any advice or comment including any tips on setting up the problem.

As Lucas states whether PELT is appropriate depends on how you define your problem.  As stated in the original PELT paper if you are using likelihoods to define your cost function in a segment additive way (as Lucas described mathematically) then PELT can be applied.
The Poisson cost function is included in the original changepoint R package which has the option of the PELT search method.  You can use this in Python via rpy2 Documentation.
If you want a native Python implementation then I was going to point you to ruptures but it appears it doesn't have a Poisson cost function.  You could add a request on the ruptures github issues as it just requires an extra cost function to be added as a module.
Alternatively, you could code your own cost function and use the custom cost function from ruptures.  There is Python code that implements a single changepoint in a Poisson distribution here which you could check your code against for single changes, as well as checking the ruptures custom cost result against the R changepoint result for a few examples to build your confidence.  You could also post the code in a comment here for others to check.
There is also the NAG (Numerical Algorithms Group) Python library which contains a PELT implementation with Poisson cost function but this isn't open source. Available here.
