```
AttributeError: module 'posthog.queries.sessions' has no attribute 'Sessions'
(6 additional frame(s) were not displayed)
...
  File "posthog/api/dashboard.py", line 101, in get_items
    update_dashboard_items_cache(dashboard)
  File "posthog/tasks/update_cache.py", line 73, in update_dashboard_items_cache
    update_cache_item(cache_key, cache_type, payload)
  File "posthog/tasks/update_cache.py", line 64, in update_cache_item
    result = _calculate_by_filter(filter, key, team_id, cache_type)
  File "posthog/tasks/update_cache.py", line 144, in _calculate_by_filter
    insight_class = import_from(insight_class_path[0], insight_class_path[1])
  File "posthog/tasks/update_cache.py", line 132, in import_from
    return getattr(importlib.import_module(module), name)
```
ee/clickhouse/queries/funnels/funnel_trends.py
"""
    ## Funnel trends assumptions
    Funnel trends are a graph of conversion over time – meaning a Y ({conversion_rate}) for each X ({entrance_period}).
    ### What is {entrance_period}?
    A funnel is considered entered by a user when they have performed its first step.
    When that happens, we consider that an entrance of funnel.
    Now, our time series is based on a sequence of {entrance_period}s, each starting at {entrance_period_start}
    and ending _right before the next_ {entrance_period_start}. A person is then counted at most once in each
    {entrance_period}.
    ### What is {conversion_rate}?
    Each time a funnel is entered by a person, they have exactly {funnel_window_days} days to go
    through the funnel's steps. Later events are just not taken into account.
    For {conversion_rate}, we need to know reference steps: {from_step} and {to_step}.
    By default they are respectively the first and the last steps of the funnel.
    Then for each {entrance_period} we calculate {reached_from_step_count} – the number of persons
    who entered the funnel and reached step {from_step} (along with all the steps leading up to it, if there any).
    Similarly we calculate {reached_to_step_count}, which is the number of persons from {reached_from_step_count}
    who also reached step {to_step} (along with all the steps leading up to it, including of course step {from_step}).
    {conversion_rate} is simply {reached_to_step_count} divided by {reached_from_step_count},
    multiplied by 100 to be a percentage.
    If no people have reached step {from_step} in the period, {conversion_rate} is zero.
    """
    def __init__(self, filter: Filter, team: Team, funnel_order_class: Type[ClickhouseFunnelBase]) -> None: