The perfect tense (das Perfekt) is the past tense that German speakers most often use when describing events that have been completed. Language learners sometimes get thrown by using two different auxiliary verbs, or helping verbs, when forming the perfect in German. The helping verb, together with the past participle, in layman’s terms, sometimes referred to as the ge- word, forms the perfect in German. The helping verb is the one we conjugate and keep in position II, and the participle doesn’t change, and we stick it 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 state change or movement from A to B include 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.