This article explains some of the faults with using donations as an interaction type in Engagement Segmentation. Lets say that you want the first and last name of everyone who has made a certain amount of donations in the last 365 days. What you can do is run a task to set the engagement factor (see article) and then run a query (see video tutorial) on the engagement factor to see the results. You may notice that it pulls inaccurate information. It might leave some people out whom you know has made multiple donations in the last 365 days. So you might ask yourself why this is happening.
The weight for donations in engagement segmentation does not count every individual donation in a sustaining gift thread, rather it counts the entire thread as 1. For example: if a constituent set up a sustaining gift to donate once a month and let it run for 12 months, then the weight would show as 1, even though there were 12 donations. Additionally, the system only counts the first donation in the sustaining gift thread. This means that if the sustaining gifts were instantiated before the timeframe that you specify in the task, then it will show a weight of 0.