def METHOD_NAME():
    """Projects a calculation to all members of an entity.
    When a household contains more than one family
    Variables can be defined for the the household
    And calculations are projected to all the member families.
    """
    from openfisca_core.taxbenefitsystems import TaxBenefitSystem
    from openfisca_core.entities import build_entity
    from openfisca_core.periods import DateUnit
    person_entity = build_entity(
        key="person",
        plural="people",
        label="A person",
        is_person=True,
    )
    family_entity = build_entity(
        key="family",
        plural="families",
        label="A family (all members in the same household)",
        containing_entities=["household"],
        roles=[
            {
                "key": "member",
                "plural": "members",
                "label": "Member",
            }
        ],
    )
    household_entity = build_entity(
        key="household",
        plural="households",
        label="A household, containing one or more families",
        roles=[
            {
                "key": "member",
                "plural": "members",
                "label": "Member",
            }
        ],
    )
    entities = [person_entity, family_entity, household_entity]
    system = TaxBenefitSystem(entities)
    class household_level_variable(Variable):
        value_type = int
        entity = household_entity
        definition_period = DateUnit.ETERNITY
    class projected_family_level_variable(Variable):
        value_type = int
        entity = family_entity
        definition_period = DateUnit.ETERNITY
        def formula(family, period):
            return family.household("household_level_variable", period)
    system.add_variables(household_level_variable, projected_family_level_variable)
    simulation = SimulationBuilder().build_from_dict(
        system,
        {
            "people": {"person1": {}, "person2": {}, "person3": {}},
            "families": {
                "family1": {"members": ["person1", "person2"]},
                "family2": {"members": ["person3"]},
            },
            "households": {
                "household1": {
                    "members": ["person1", "person2", "person3"],
                    "household_level_variable": {"eternity": 5},
                }
            },
        },
    )
    assert (
        simulation.calculate("projected_family_level_variable", "2021-01-01") == 5
    ).all()