← ZEME AI  ·  ZEME Academy  ·  Learn  ·  Ask ZEME

Reading the Campaign Phase table without fooling yourself

ZEME-301Lesson 7 of 78 min readEnglishFree

A real taxonomy, and the two traps in reading it

Campaign Phase is ZEME's description of where a stock sits in an operator's campaign. It is a real taxonomy with measured numbers behind it - which is more than most market vocabulary can claim. Here is the whole table on one definition, over the research panel:

Campaign Phasenext-session lock ratelift vs basen
DISTRIBUTING5.998%1.75x21,224
RUNNING5.591%1.63x74,528
LAUNCHING5.118%1.50x87,978
LOADING3.614%1.06x34,170
EARLY LOAD3.149%0.92x81,364
WATCHING2.585%0.76x132,051
FULLY LOADED2.422%0.71x231,692
EXITED1.930%0.56x5,804

Base rate on this same definition: 3.421% over 668,811 liquid stock-sessions. Every lift above is that phase's rate divided by that base, and both come from one pass over the same rows, so they cannot drift apart.

Trap one - the lift is not a return

A phase with a lift above 1 locks more often than average. That is all it says. It says nothing about what the stock returns, nothing about what it costs to hold, and nothing about the drawdown along the way. Lesson 4 of this course is why that distinction matters: a higher lock rate that yields less than 3.04 pp is a losing trade with a flattering statistic attached.

Trap two - the ranking is not stable, so the WINDOW must travel with it

This table is measured over the full panel. Measured over a different, shorter window the order changes - notably, the phase that leads over ten years is not the one that leads over the last twenty months. Neither measurement is wrong. They are answers to different questions, and a phase ranking quoted without its window is not a finding.

This is the same failure that ZEME-101 lesson 2 documents for the lock definition, wearing a different costume. Definition drift and window drift are the two ways a real number turns into a false claim without anybody lying.

The useful way to hold this

Treat the phase as a description of state, not a forecast. FULLY LOADED does not mean "about to fire" - on this measurement it locks below base. It means the operator appears to hold a position and is not yet moving. That is genuinely worth knowing; it is simply not the same thing as a prediction.


Evidence - History - Confidence - Counterargument

Confidence - high on the rates, moderate on the ordering, low on any of it being actionable on its own.

Counterargument - the strongest case against this table: the phase is assigned by our own engine, so this measures the consistency of our labelling as much as any market truth. A phase that locks more often may simply be a phase we tend to assign to stocks that are already moving. That is a circularity we can describe but cannot fully remove.


Evidence - where every number came from

Every figure in this lesson is listed below with its definition, its sample size, its window and the exact query that produced it, so you can re-run it rather than take our word for it.

phase_lock_DISTRIBUTING = 5.998% (n = 21,224)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_DISTRIBUTING = 1.75x (n = 21,224)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_RUNNING = 5.591% (n = 74,528)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_RUNNING = 1.63x (n = 74,528)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_LAUNCHING = 5.118% (n = 87,978)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_LAUNCHING = 1.50x (n = 87,978)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_LOADING = 3.614% (n = 34,170)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_LOADING = 1.06x (n = 34,170)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_EARLY_LOAD = 3.149% (n = 81,364)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_EARLY_LOAD = 0.92x (n = 81,364)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_WATCHING = 2.585% (n = 132,051)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_WATCHING = 0.76x (n = 132,051)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_FULLY_LOADED = 2.422% (n = 231,692)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_FULLY_LOADED = 0.71x (n = 231,692)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lock_EXITED = 1.930% (n = 5,804)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_lift_EXITED = 0.56x (n = 5,804)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

phase_base = 3.421% (n = 668,811)

``text GROUP BY camp_phase over liquid panel rows: 100*AVG(locked_next) per phase, and the same figure over all phases as the base rate. ``

round_trip_cost = 3.04 pp (n = not measured)

``text fixed house assumption, [[reference_backtest_methodology]] D2 ``


ZEME Academy is educational analysis of Pakistan Stock Exchange data. It is not investment advice, not a recommendation, and not a solicitation to trade. Every number here is measured history, and history is not a forecast. ZEME is not SECP-registered.
✅ Check your understanding: take this lesson’s quiz and track your progress (free)

All 7 lessons in Where ZEME is weak - our own numbers, against ourselves