play icon for videos

Longitudinal Data Analysis: Change Within, Not Between

How to analyze longitudinal data honestly: within-unit change on clean linkage, attrition modeled, and the reasons read beside the numbers.

Updated
July 21, 2026
360 feedback training evaluation
Use Case

How do you analyze longitudinal data?

Longitudinal data analysis examines change within the same units across waves: it measures each unit’s trajectory, models how outcomes rise or fall over time, and accounts for the fact that a unit’s observations are correlated with each other. Its whole power comes from comparing a unit to itself, which controls for stable individual differences a between-group comparison cannot. The analysis is only as valid as the linkage feeding it.

The obstacle most teams hit is upstream of the statistics: the analysis assumes the waves are correctly linked to the same units, and when they are not — when the data was matched fuzzily after collection — every within-unit result is built on mismatched rows. You cannot measure change within a unit if you cannot be sure the two observations belong to the same unit.

Key takeaways

  • Longitudinal analysis compares a unit to itself, which controls for stable individual differences a between-group design cannot.
  • The analysis is only as valid as the linkage: mismatched waves make every within-unit result an artifact.
  • Sopact’s Wave-One Link keeps every wave on one persistent ID, so within-unit change is measured on genuinely the same units.
  • Attrition must be modeled, not ignored — who left, and whether their leaving biases the result.
  • Sopact’s Loop methodology reads change and its reasons on arrival, so the number and the why arrive together.

Within-unit change is the point — and it needs correct linkage

The reason longitudinal analysis is worth its complexity is that comparing a unit to itself removes the noise of individual differences. Two people can differ for a thousand stable reasons; the same person measured twice differs mainly because something changed. That within-unit comparison is the design’s superpower, and it is also its fragility, because it depends completely on the two observations truly belonging to the same unit. A single mismatched pair does not just add noise; it manufactures a change that never happened.

So the analysis rests on the linkage, and the linkage rests on how the data was collected. Sopact calls the reliable link the Wave-One Link: every wave on one persistent Contact ID, so a within-unit change is a real change in a real unit, not an artifact of a fuzzy match. Analysis that starts from clean linkage skips the reconstruction step where errors enter, the standard the longitudinal data page sets.

How the analysis was tooled — and the one test

Longitudinal analysis tooling moved through three eras. First, hand-computed change scores on matched spreadsheets. Then statistical packages with mixed models and growth curves, powerful for modeling but agnostic about whether the linkage feeding them was clean. The current era keeps the units linked from collection and reads the qualitative reasons alongside the numbers, so the analysis explains the change, not just measures it.

The one test that separates the eras: ask whether your analysis can show a unit’s trajectory and the participant’s own words explaining the biggest movement, on one record. A stats package can fit a growth curve; it cannot tell you why a unit dropped between waves. If change comes without its reasons, the analysis measures the what and misses the why.

Model the attrition, and read the reasons

Two things separate credible longitudinal analysis from a naive one. First, attrition has to be handled explicitly: units that drop out are rarely random, so ignoring them lets a biased survivor sample masquerade as the whole. Whether through modeling the missingness or at minimum characterizing who left, the analysis has to account for the shrinking sample rather than pretend it is intact. Second, the reasons behind change belong in the analysis, not just the magnitudes.

Reading the open-ended answers alongside the trajectories is what turns a growth curve into an explanation: the unit whose outcome fell between waves usually said why, and that why is the actionable part. Keeping the numbers and the reasons on the same record is what makes this possible, the same connected read that mixed methods research is built around.

How do I analyze change without fooling myself?

Start from clean linkage so within-unit change is real, model or at least characterize attrition so the survivor sample does not bias the result, and read the participants’ reasons alongside the trajectories so the change is explained — not just measured. The move that keeps longitudinal analysis honest is trusting the linkage and refusing to ignore who left.

The output is analysis you can defend: each unit’s trajectory measured on genuinely the same unit, attrition accounted for, and the reasons behind the biggest movements quoted from the participants’ own words. Because Sopact keeps waves on the Wave-One Link and reads change and reasons on arrival, the analysis measures real within-unit change and explains it, which is what the longitudinal study was for.

A naive analysis vs an honest one

A naive longitudinal analysis trusts fuzzy linkage and ignores attrition; an honest one starts from clean linkage, models who left, and reads the reasons. The difference is whether the change is real and explained.

Two longitudinal analyses
The questionNaiveHonest (Wave-One Link)
Is the linkage clean?Fuzzy match, some mismatched pairsOne persistent ID, genuinely same units
Is attrition handled?Ignored: survivors treated as wholeModeled or characterized
Are reasons included?No: magnitudes onlyYes: the why, quoted, beside the trajectory
Can you defend it?No: change may be an artifactYes: real change, explained

The data it analyzes is longitudinal data; the reasons come from the same connected read as mixed methods research.

A dataset tells you what you gathered. The Loop tells you in time to act.

Longitudinal and mixed-methods designs are usually treated as after-the-fact analysis: collect everything, then, months later, try to stitch it together. The value of reading data is highest while collection is still open, when a wave can be chased and a confusing number can be explained. That is the premise of the Loop, Sopact’s method for continuous intelligence: collect clean at the source, analyze the moment data arrives, improve while there is still time to act.

The Loop is also what makes a longitudinal or mixed-methods claim defensible: every figure traces back to the response it came from, on the same unit across waves and methods, the standard detailed in Loop traceability.

One method, three moves that never stop

1 · CollectClean at the source; every wave and every method lands on one persistent record.
2 · AnalyzeOn arrival; change read as real pairs, the number kept beside its reason.
3 · ImproveIn time to act; chase a wave, explain a number, and fix a measure mid-study.

Then the cycle runs again, a little sharper each time. Read the method: the Loop methodology →

Analyze your own trajectories honestly

The fastest way to see the difference is to run change and its reasons together. Export several waves on the same IDs, then paste the prompts below into Sopact Sense’s Assistant, or reason through them with your team. The arrow above each links the Academy walkthrough with the expected output and tips.

Academy walkthrough → Analyze longitudinal data

Here are several waves of data from the same participants on the same IDs: [ATTACH]. Track each participant across waves, show the trajectory of the key measures, flag anyone who dropped out, and surface the open-ended comments that explain the biggest movements.

Academy walkthrough → Analyze pre, mid, and post data

Here are pre and post responses from the same units on the same IDs: [ATTACH]. Report change per unit as real pairs against each baseline, flag anyone who did not move or regressed, and quote the answer that explains each flag.

Academy walkthrough → Connect quant and qual data

Here are our quantitative measures and the open-ended comments on the same IDs: [ATTACH]. Show which themes in the comments explain the weakest numbers, quote a comment for each, and tell me which cases to look at more closely.

Academy walkthrough → How to build a data dictionary

Here are the measures I collect across waves and methods: [PASTE]. Build a data dictionary entry for each — exact wording, scale, wave schedule, and what would invalidate a comparison — so wave two and method two stay comparable to wave one.

Learn the how-to in the Academy

Each walkthrough is short and practical: what to do, the prompt to run, the output to expect, and the tips that keep it reliable.

Watch: keeping the same unit connected across waves and methods on one record.

Frequently asked questions

How do you analyze longitudinal data?

Examine change within the same units across waves: measure each unit’s trajectory, model how outcomes change over time, account for the correlation between a unit’s observations, and handle attrition. The analysis depends on clean linkage. Sopact keeps every wave on the Wave-One Link, so within-unit change is measured on genuinely the same units.

Why is within-unit change more powerful than between-group?

Because comparing a unit to itself controls for stable individual differences that a between-group comparison cannot, so a within-unit change is closer to a real effect. But it requires the two observations to truly belong to the same unit. Sopact’s persistent ID guarantees that link, so the within-unit comparison is valid.

How does fuzzy linkage corrupt longitudinal analysis?

A mismatched pair does not just add noise; it manufactures a change that never happened, because the analysis treats two different units as one. Sopact avoids the fuzzy match by keeping every wave on one persistent Contact ID, so mismatched pairs do not enter the analysis.

How should I handle attrition in longitudinal analysis?

Explicitly: units that drop out are rarely random, so model the missingness or at minimum characterize who left, rather than treating the survivors as the whole sample. Sopact reads each wave on arrival, so attrition is visible during the study and can be accounted for in the analysis.

Should qualitative reasons be part of longitudinal analysis?

Yes — the unit whose outcome fell usually said why, and that reason is the actionable part. Reading the open-ended answers alongside the trajectories turns a growth curve into an explanation. Sopact keeps numbers and reasons on the same record, so change is explained, not just measured.

What statistical methods suit longitudinal data?

Mixed-effects models, growth-curve models, and repeated-measures approaches that account for the correlation between a unit’s observations, chosen to fit the design and the wave schedule. Whatever the method, it depends on clean linkage. Sopact supplies that with the Wave-One Link, so the modeling starts from real units.

How does Sopact support longitudinal data analysis?

It keeps every wave on one persistent ID so within-unit change is real, reads each wave on arrival so attrition is visible and accountable, and keeps the participants’ reasons on the same record as the numbers. So the analysis measures genuine change and explains it, defensibly.

Next: ensure the data is clean on longitudinal data, or run the study on longitudinal study.