We'd like to acknowledge donors who have given continuously for (say) 5 years. Let's say 'continuous' means at least one donation in a year. How could these contacts be identified and reported? I've looked at all the contribution reports, including the Powerbase report extension, and thought about smart groups but I can't see a way of detecting these. There is the 'Recurring contributions' report but that doesn't do it as these donations may not necessarily be defined as recurring contributions. We're using Drupal so could use Drupal Views, but I'm not sure that would be able to do it.
I'm unaware of a way to do this with out-of-the-box features in CiviCRM. However we recently did this for a client by extending the Summary Fields extension, defining a Summary Field that calculates Yes/No based on whether the contact has at least one completed contributions of a certain Financial Type in each of the 5 most recent years. Sounds almost exactly like what you describe.
- Summary Fields: https://civicrm.org/extensions/summary-fields
- Joinery's "PAAO Summary Fields": https://github.com/twomice/com.joineryhq.paaosumfields (this defines the Summary Field called "Loyalty Discount", which is currently not doing what's described above; but in an earlier version it was doing just that: https://github.com/twomice/com.joineryhq.paaosumfields/commit/234603ffcbad013e4ad37b6494625be4f1606bf3)
So my answer here would be "yes, totally possible by extending Summary Fields".