I understand that perspective but it's meant to be a rare event that takes you by surprise at an unexpected time, rather than something the player triggers. I'm sure it's considered shitty game design by many but I enjoy it being that way.
I understand that is a rare event.
But you should add a initial countdown counter for the very first time it should occur.
e.g.
if sister joins the mall for the 9th (or whatever number you like) time and has not being triggered then it should get a 100% chance to trigger during the next visit (10th in this example)
-------------------
Another logic that I do not get is the experience gain system.
e.g.
average personality with charm 2, fit 2 and intel 2 (0 max limit) => multiplier = 2.13x
But
average personality with charm 2, fit 2 and intel 2 (+3 max limit) => multiplier = 1.68x
You allow the players to change the max limit and make it way harder to level up...
I really do not understand the logic behind this.
I could get adding a penalty exp for overriding the default max level but should be used only if the default max level is reached and not from level 2.
edit: as it is now is like mocking the player... You allow him/her to change the max exp level but at the same time you make the game grindy as hell.