Calculation of proxy contract storage slot

What's the reason for subbing 1 after keccak256 the slot name?

    bytes32 internal constant PERPETUAL_V1_INITIALIZE_SLOT =
    bytes32(uint256(keccak256("dYdX.PerpetualV1.initialize")) - 1);