Method in storytelling
The surprise factor is a technique used in storytelling to produce a visceral reaction from the audience. It is created by telling a story in a way which creates a certain perception of events which is then revealed to be false often in exact opposition to original perception. The term most often refers to its use in many forms of humour which provides the audience with the twist or punch line, intended to elicit amusement. However it can also be used to elicit a tragic reaction, rather than a comic one. 
It has been theorised that the essence of humour lies in two elements or factors, the "relevance factor", and the "surprise factor". First, it is necessary to present something familiar or relevant to the audience. This accounts for gaining the involvement and scrutiny of the audience, who may believe they know the natural follow-through thoughts or conclusion. Next, the actual amusement results from the presentation of some twist on what the audience expected, or else from interpreting the original situation in an unexpected way. These twists and unexpected interpretations may be summarized as the surprise factor.
For this reason, knowing a punch line in advance, or some situation which would flub the delivery of the punchline, can destroy the surprise factor, and in turn destroy the entertainment value or amusement the joke may have otherwise provided; such information is known in some contexts as a spoiler. On the other hand, a person previously holding the same unexpected conclusions or secret perspectives as the comedian could derive amusement from hearing those same thoughts expressed and elaborated. That there is commonality, unity of thought, and an ability to openly analyze and express these (where secrecy and inhibited exploration was previously thought necessary) can be the surprise factor in these situations. This phenomenon explains much of the success of comedians who deal with same-gender and same-culture audiences on gender conflicts and cultural topics, respectively.
References.
 ;templatestyles src="Reflist/styles.css" / ;