From the picture you sent it looks like your numerator is either equal to/or very close to the denominator from March to June and then your numerator is much larger than your denominator.
Your set analysis for your numerator can be shortened. The monthstart( ) function has an optional parameter to shift the months so the addmonths( ) function isn't required. You should still be able to see the date it resolves to at the bottom of the screen.
By the looks of the output both your numerator and denominator are calculating but the numerator is not coming up with anything close to your denominator. I can see that you have a subset of Period_Date in the numerator but not the denominator. This could be pulling through a lot more invoices than expected so maybe try adding this to your denominator.
In your numerator you're counting distinct TRANSACTION_NUMBER and your denominator is counting NB_INVOICE. Given FACT_TYPE and Period_Date is a column that goes through both sets and you have a set analysis separating these it looks like the numerator is counting rows in your data that are not in the denominator. That's okay as long as there is a logical subset of your numerator and denominator.
Without seeing an example set of data can I suggest a way of debugging this code.
Start with a straight Count(distinct TRANSACTION_NUMBER) / count(NB_INVOICE) and add in one of your set analysis at a time. Start with the FACT_TYPE for both.