OutfitScore Research · Report No. 12 · October 2026

The Occasion Effect

What 21,778 outfits reveal about naming where you are going

Abstract On 21,778 scored fashion and complete analyses, 18,843 name an occasion and 2,935 do not. The rows that name none score highest: mean 71.4 against 65.7 for the rows that do — a 5.7-point gap the other way from intuition. Among named occasions that clear n ≥ 100, wedding guest leads (mean 73.3, 32.6% at 85-plus), then party (68.8) and party / clubbing (68.3). The lowest is daily office wear (61.3, 43.8% below 60). Grouped into families, formal leads (69.6) and work trails (61.9). The no_occasion_mode flag points the same way — 65.3 when on, 63.7 when off. The free-text field also fragments one idea into several strings, which the report documents rather than merges. Observational snapshot, not a treatment study. No causal score lift is claimed.
People gathered in an office setting — a work occasion, one of the contexts this report measures
Figure 1. The unit this report measures: an outfit plus the occasion the upload names for it. Photograph by Nimbuzz via Flickr (CC BY 2.0). Stock photograph, not a user upload.

The obvious theory is that telling the rater where you are going should help it help you. A named occasion gives the model a rubric to grade against. The data run the other way, and this report is about how far, and why the field is harder to read than it looks.

Two things are counted here: whether an occasion is named at all, and which occasion it is. The first result is about the first question, and it is the surprising one.

18,843Named an occasion
2,935Named none
65.7Named mean
71.4Unnamed mean
How to read the numbers Every headline figure in this report is frozen on 14 October 2026. The page does not live-query production. Cite the snapshot, not "current site stats."

Section 1Methodology

The unit of analysis is one row in the OutfitScore analyses table. I keep a row if analysis_type is fashion or complete and a numeric overall score can be read under the same numeric-regex guard used by seo_stats_service. The occasion is the occasion column, a free-text string the upload may or may not carry. An empty or null occasion is treated as "none named." Soft-deleted rows are not filtered. The window is every qualifying row then in production: 27 September 2025 through 14 October 2026.

Two fields are in play, and they are not the same field. occasion is the label itself (for example everyday or wedding guest). no_occasion_mode is a boolean the analysis carries when the user explicitly chose not to specify one; it is present on only 4,499 rows. Sections 2 and 3 use the occasion label; Section 6 uses the boolean. They are reported separately because they are not interchangeable.

Publication floor A rate is printed only if the exact-string n is at least 100. wedding guest (n = 132) and party (n = 120) clear it narrowly; the report prints the n beside every cell. Occasions under the floor are named as too thin to rate, not merged upward.

Section 2Naming an occasion is associated with a lower score

Here is the whole first result in one split. The 2,935 rows with no occasion named average 71.4. The 18,843 rows that name one average 65.7. The empty-occasion group is not a small curiosity; at 13.5% of the corpus it is larger than every named occasion except everyday and general.

Group Rows Share Mean score
No occasion named2,93513.5%71.4
Occasion named18,84386.5%65.7

The 5.7-point difference runs opposite to the "give the model more context" instinct. The most likely mechanism is structural in the rubric, not about the outfits: scoring includes an occasion-appropriateness pillar, and an outfit with no declared occasion cannot lose points for being wrong for one. The model has less to penalise. This snapshot can show the association and name the mechanism as a hypothesis; it cannot isolate it.

Section 3The named ladder

Among occasions that clear n ≥ 100, the spread is wide. Wedding guest leads at 73.3 and puts 32.6% of its rows at 85-plus. At the other end, daily office wear averages 61.3 and sends 43.8% of its rows below 60.

Occasion (exact string) Rows Mean Median 85+ Below 60
everyday9,06164.96510.8%26.3%
general6,17567.76815.8%19.4%
general style49561.9650.2%31.9%
streetwear27964.9652.5%21.5%
school drop off or pickup22262.763.50.9%25.2%
daily office wear14661.3623.4%43.8%
date night13866.26711.6%29.7%
weekend brunch13465.967.56.0%23.1%
drinks with friends13363.9655.3%24.1%
running errands13266.1652.3%24.2%
wedding guest13273.37832.6%19.7%
party / clubbing12368.3722.4%8.1%
party12068.87819.2%15.0%
party or clubbing10656.7———

The pattern at the top is that a well-defined, dressed context scores high. Wedding guest and the two party strings are the only named occasions above 68. The pattern at the bottom is that a broad, low-stakes context scores low: office wear, school run, everyday. A context that carries a clear dress code grades better than one that carries none, even though naming any context grades worse than naming none at all. Both things are true at once, and Section 5 shows why the second fact is softer than it looks.

Mean score by named occasion Exact strings clearing n ≥ 100. Axis starts at 55 so the spread is visible. 55 65 75 73.3 wedding guest 68.8 party 68.3 party / clubbing 67.7 general 66.2 date night 66.1 running errands 64.9 everyday 64.9 streetwear 61.3 daily office wear 56.7 party or clubbing
Figure 2. Mean score by exact occasion string. Wedding guest leads at 73.3; office wear (61.3) and the fragmented "party or clubbing" (56.7) trail. Axis starts at 55, not zero.

Advertisement

Section 4The league table: formal high, work low

The exact strings are many and small. Grouped by intent — a rule disclosed below — a cleaner order appears. Formal occasions lead, work trails, and the most common context, the broad casual one, sits just under the middle.

Occasion family Rows Mean
No occasion named2,93571.4
Formal (wedding, gala, cocktail)20169.6
General / versatile6,67367.3
Casual (everyday, errands, brunch)9,69764.9
Unclassified strings1,11764.9
Date22264.7
Party / clubbing46864.0
Travel14562.9
Work (office, business, interview)31261.9

The family rule is a keyword map, disclosed so it can be checked: work matches office/work/business/commute/meeting/interview; formal matches wedding/formal/gala/black tie/cocktail/funeral; party matches party/clubbing/club/night out/festival/concert; casual matches everyday/casual/errand/brunch/weekend/school/uni/campus; date, travel, and general match their words. Athletic strings (n = 8) are too thin to rate and are withheld. The family shows the same shape as the exact table: a defined, dressed context is associated with higher scores, and the everyday context with lower ones.

Section 5The fragmentation problem

The occasion field is free text, and the same intent arrives as different strings with different scores. This is the most important caveat in the report, because it means some of the ladder in Section 3 is an artefact of punctuation rather than of dressing.

Same idea, different string Rows Mean
party12068.8
party / clubbing12368.3
party or clubbing10656.7
general6,17567.7
general style49561.9

"Party," "party / clubbing," and "party or clubbing" are the same occasion written three ways, and they score 68.8, 68.3, and 56.7. "General" and "general style" are 5.5 points apart. A report that ranked exact strings without saying so would be ranking spellings. The ladder in Section 3 is real as exact-string output — that is what the model saw and graded against — but a reader should not carry "party or clubbing scores 56.7" away as a claim about party outfits.

Section 6The no-occasion flag agrees

There is a second, narrower signal. no_occasion_mode is a boolean present on 4,499 rows, true when the user explicitly chose not to name one. It points the same direction as Section 2: choosing "no occasion" averages 65.3 against 63.7 when an occasion was selected.

no_occasion_mode Rows Mean
True (no occasion chosen)3,60765.3
False (occasion chosen)89263.7

The 1.6-point gap is smaller than the 5.7-point gap in Section 2 and rests on a different, sparser subset, so it is a supporting result, not a second headline. What matters is the direction: on both signals, naming an occasion is associated with a lower score, not a higher one. There are also 618 rows carrying a custom_occasion string — a further reminder that "the occasion field" is several overlapping systems, not one.

Section 7What this report is not

It is not a claim that naming an occasion lowers your score, and it is not advice to stop naming one. The rows that name no occasion are different uploads with different habits, not the same uploads with a field removed. This is an observational difference between groups, not an effect.

It is not a dress-code guide. The report ranks how the model scored outfits that carried each occasion string. It does not say which outfit to wear to a wedding.

It is not live, and the exact strings are not merged. The frozen snapshot and the printed n are the whole claim.

Section 8Limitations

The corpus is voluntary and the field is free text. The 2,935 empty-occasion rows are not a random control: they may be quick tests, product shots, or uploads by people who did not want to type. Section 2 describes a difference between two self-selected groups.

The named-occasion cells are small. wedding guest (132) and party (120) clear the floor narrowly; a handful of rows would move their means by a point. The exact n is printed beside every cell for that reason.

Fragmentation is severe and is documented rather than repaired. "Party" appears at least three ways, "general" at least two, and 1,117 strings fit no family. Merging them would produce tidier numbers the model never wrote; the report keeps the strings separate and shows the splits.

The family rule is a keyword map, not human coding, and is not exclusive where a string matches more than one pattern. A different reasonable mapping would move a family mean by a point or two. No inter-rater kappa was computed.

The two occasion systems (occasion and no_occasion_mode) cover different subsets and must not be combined into a single "occasion score." They are reported as two signals that happen to point the same way.

Section 9Conclusion

On 21,778 scored outfits, 18,843 name an occasion and 2,935 do not. The unnamed rows score highest (71.4) against 65.7 for the named — a 5.7-point gap in the counter-intuitive direction. Among named occasions clearing n ≥ 100, wedding guest leads (73.3, 32.6% at 85-plus) and daily office wear trails (61.3, 43.8% below 60). Grouped into families, formal leads (69.6) and work trails (61.9). The no_occasion_mode flag agrees (65.3 vs 63.7). Free-text fragmentation means some of the ladder is punctuation, which the report prints rather than hides. No causal lift is claimed.

The honest sentence for a journalist is: on this data, telling the rater where you are going is associated with a lower score, and the highest-scoring group is the one that stayed quiet. If you want the engine to look at your own frame, the tool is the same as it was: the free AI outfit rater. This page is the study. Pitch this URL.

How To Cite This Report

Title: The Occasion Effect: What 21,778 Outfits Reveal About Naming Where You Are Going
Author: Saad, Founder of OutfitScore
Publication: OutfitScore Research Reports, No. 12
Date: October 14, 2026
Sample: n = 21,778 scored fashion/complete analyses, occasion field, 27 Sep 2025 – 14 Oct 2026
Saad. (2026). The Occasion Effect: What 21,778 Outfits Reveal About Naming Where You Are Going. OutfitScore Research Reports, No. 12. Retrieved from https://outfitscore.com/research/the-occasion-effect

Advertisement