In a few days' time, a collaborator is going to be giving a talk to our research group. He has sent me the slides in advance (just to check that it all runs OK on our system). Having looked over the slides, I have noticed a mistake in his methods (a major assumption that is not just unsupported, but definitely incorrect) that unfortunately invalidates his entire analysis. This mistake is potentially fixable, but only by going back to square one, and the new analysis could (and I suspect probably will) yield different results.
Obviously, I need to raise this with him, but when is the most tactful time to do this? My concern is that if I raise the problem immediately, it leaves him with too little time to redo the analysis before his presentation, and leaves him stewing over it knowing that his prepared work is invalid. Also, I wasn't specifically asked to give feedback at this stage. On the other hand, if I leave it until the talk, it means that I have to bring it up in front of the rest of the research group, and he has no time to prepare a response.
I feel like both situations leave me looking cruel. Which option is preferable, or is there an alternative approach that I've not thought of?
[And to anticipate the comments, I am 99% sure that there is an important mistake and that it's not just my misinterpretation]