Like almost every other male, you did not select for compatibility, so you didn't get it. Working as designed.
Almost every male uses the following algorithm:
1. Pick the best-looking girl that seems like she is in my league.
2. Do we meet an absolute minimal compatibility threshold such that we can stand being around each other?
3. Is she willing to settle for me?
4. If so, I'm done... change relationship status to Engaged! If not, go back to Step 1.
Obviously, this algorithm does not optimize for compatibility. If you want a different result, fix your program.