TL;DR: how long a perfume lasts depends mostly on application (hydrated skin, areas that give off heat) and composition (base notes last longer than top notes). A few simple adjustments can noticeably extend the wear of a perfume that seems "weak" on you.
Moisturize your skin before applying perfume
One of the most common tips among experienced collectors: apply an unscented moisturizer right before spraying your perfume. Dry skin absorbs and disperses scent molecules faster than hydrated skin, which noticeably reduces longevity, especially for perfumes that are already light in concentration.
Target areas that give off heat
Body heat diffuses perfume throughout the day. Commonly recommended areas are the neck, the inside of the wrists, and — for longer, more discreet wear — the chest under clothing, an option particularly favored by enthusiasts because it protects the perfume from ambient air while still benefiting from body heat.
Avoid rubbing your wrists after applying
Rubbing your wrists together after spraying breaks down some of the most volatile molecules and can alter the very first notes of the perfume. It's better to let it dry naturally in the air.
Understanding why base notes last longer
A perfume is structured in three stages: top notes (the first ones perceived, very volatile), heart notes, then base notes (often woody, amber, or musky), which are the heaviest and most persistent. A perfume that seems to "disappear" after an hour likely has dominant top notes and few pronounced base notes — that's not necessarily a flaw in the perfume, but a characteristic of its structure.
Olfactory fatigue: when it's your nose, not the perfume
After prolonged exposure to a perfume, your nose gets used to it and gradually stops detecting it, even though people around you can still smell it perfectly well. This is called olfactory fatigue. Before concluding that a perfume "doesn't last," it's worth asking someone else if they can still smell it after several hours.