The perfect tense (das Perfekt) is the past that German speakers most often use when describing events that have been completed. Learners of the language sometimes get thrown by the use of two different auxiliary verbs, or helping verbs, when forming the perfect in German. The helping verb together with the past participle, in layman terms sometimes referred to as the ge- word, form the perfect in German. The helping verb is the one that we conjugate and keep in position II and the participle which doesn’t change we stick at the end of the sentence.
But which helping verb to use? Haben (to have) or sein (to be)? Most verbs use ‘haben’ to form the perfect. Verbs that convey a change of state or movement form A to B form the perfect with ‘sein’.
To capture 95% of verbs, there is an easy formula to remember: use ‘haben’ unless the verb conveys a change of position or condition. That also applies if you make metaphorical use of the verb. In addition, the verbs sein (to be), bleiben (to stay) and werden (to become) use ‘sein’ as well.
Learning German is as simple as that.