Since people ask about consistency all the time: I decompiled the game and took a look at the source code. I'm not familiar with Godot scripting language, but it seems fairly straightforward. I might have misunderstood something, but I think I've been careful enough to avoid all errors.
TLDR: If you have published 50 scenes or more in last 70 days you get penalized based on how variable are your scenes and girl levels. It also greatly penalizes you based on variability of model bonus traits and scene types you shoot. The scene being published doesn't seem to matter at all; scenes consistency debuff is calculated before the scene is published and changes daily.
And here's how it works in details.
To begin with, I believe all of the calculations are carried out at midnight and affect scenes that you publish during that day. The calculation is also carried out whenever you (from a quick glance) load the game - so saving and reloading the game before publishing might slightly affect consistency levels. I haven't verified that one, however.
As such, it seems to me that the stats of the particular scene you publish don't matter.
It works based on 4 variables, we'll call them
"70 days scene popularity average", "70 days girl rating average", "scene standard deviation" ,"girl standard deviation".
For now, keep in mind that "popularity average" is not exactly popularity average. More on this soon.
Guys don't contribute to the consistency debuff directly. They only affect it indirectly by affecting scene popularity.
Now, these four variables are derived from the list of all scenes
published in 70 (see note 1) days.
It also, no surprise, uses data of all actresses that starred in these movies, counting each appearance separately (so, a really "busy" girl will contribute to these stats multiple times). Models that you have removed from the contact list seem to NOT be used in the following calculations.
First, all scenes published in last 70 days are collected.
For every one of thes scenes (looks like it's sorted by shooting time, but I'm not sure) the game takes popularity and total bonus score and calculates, let's say, "transformed popularity" with the simple formula:
Transformed popularity is equal to
popularity raised to the power of the
bonus.
Example, this scene has popularity 3300 and total bonus of 0.6461; the scene's transformed popularity will be approximately 187,63.
View attachment 2865067
All of these "transformed popularities" are stored in a variable that we will call "scene popularities" list.
At the same time game stores
current levels of all the girls that have played in these movies. We will call this list "girl levels" list. In the example I shot a movie with level 4.2 model, so that value will be put on the list.
Now, the code splits into two branches.
Branch 1: If the scene popularity list has at least 50 values in it:
To me, this branch seems to be glitched. mbmb tried to trim top and bottom 10% of the scene popularities and girl levels (so that extremely talented girls / popular scenes don't ruin your consistency too hard), but the trimming happens before the list is sorted. As such, the trimmed elements are not the outliers, but simply the oldest and newest entries.
To reiterate, 10% of the most recent scenes and 10% of the oldest scenes don't contribute.
In the same way, 10% of most recent girl levels and 10% of the oldest girl levels don't contribute. Keep in mind that's not "girls from these 10% movies". It's just 20% (combined) of the values in the list. As the girl can be put on the list multiple times, they might still contribute. Or not.
In other words, the scene you publish will only matter in a week or so, assuming you publish at a relatively stable pace and produce similar scene types as previously.
Now, the game calculates average of the 80% of the kept "scene popularities" and average of the 80% kept "girl levels". It also calculates
You must be registered to see the links
of these trimmed lists. See the formula on the wiki if you're not familiar with the concept; it's a relatively simple calculation.
Finally, results of these calculations are the four variables that I've mentioned previously.
Branch 2: If you have not published 50 movies in last 70 days.
Averages are set to 0.1, standard deviations are set to 0, nothing else happens.
The branches combine
Now the variables are calculated and will be kept for the remainder of the day.
The consistency debuff is calculated as follows:
Two temporary variables are created.
1) "scene factor" calculated as "scene standard deviation" / "70 days scene popularity average"
2) "girl factor" calculated as "girl standard deviation" / "70 days girl rating average"
If the "scene factor" is equal to 0, consistency debuff is not applied. Keep in mind that this will definitely be the case if the code went through branch 2. It will almost surely NOT BE the case if the game went through branch 1.
Otherwise, consistency will be applied based on "total factor", calculated as (0.81 - scene factor - girl factor).
Finally, the total factor is capped between 0% and -20%, and that's the penalty that's applied.
I can't say why 0.81 is used - it's meant to provide a buffer so that very small variances don't ruin your consistency.
I believe the number is just there for a balancing purposes, and might be increased or decreased based on the feedback (and intended balancing). As far as I can say, it's not some sort of a special value derived in a specific way; it's just an arbitrarily chosen and manually refined constant.
Note 1 - The code checks for last 70 days, but I'm not exactly sure how accurate is it (up to an ingame minute? hour? day?) Also, names of the variables in code refer to 3-month period - perhaps the names are a leftover from the early version of the mechanic, or perhaps it should be 90 days and it's a bug. Only one person knows, and it's not me.
Edit; fixed a missing minus sign, expanded a bit on a single detail.
Also, don't ask me how to decompile the game and/or to post relevant code fragments and/or post other code fragments. If mbmb is fine with it, I might do that. Until mbmb takes a stance on decompiled code, I'll keep the decompiled files to myself.
Edit 2: Now that I gave it another thought, I believe it's the way scene popularities are transformed that actually messes with the player the most. Total bonus might vary from 50% to 150%, transforming 4k popularity scene anywhere between ~63 and over ~250000. That definitely introduces enough variance to almost surely set consistency at -20%, as long as the player sometimes uses models with bonus-affecting traits and shoots different scene types.