def _goal_times_to_scatter_for_timeline(goal_times, cfdf):
    """
    A helper methods that translates a list of goal times to coordinates for goal markers.
    Goal markers are placed on the cumulative CF line, with more 2 stacked markers if it's the 2nd goal, 3 if 3rd, etc

    :param goal_times: list of int or float
    :param cfdf: dataframe with Time and CumCF columns

    :return: (x_coords, y_coords)
    """
    goal_xs = []
    goal_ys = []
    cumgoals = 0
    for i in range(len(goal_times)):
        cumgoals += 1
        cf_at_time = cfdf[cfdf.Time == goal_times[i] - 1].CumCF.max()
        for j in range(cumgoals):
            goal_xs.append(goal_times[i] - 1)
            goal_ys.append(cf_at_time + j)
    return goal_xs, goal_ys