You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python计算结果与Cycle Time Widget平均周期时间不符求助

Azure DevOps Cycle Time Widget 平均周期时间计算结果不一致问题

问题概述

我在对比Azure DevOps Cycle Time Widget显示的平均周期时间与自定义计算结果时,发现数值存在差异:

  • Cycle Time Widget显示12天
  • 用Python/Pandas调用Feed OData API直接计算平均值得到11天
  • 按官方逻辑实现移动平均时,结果为9天或11天
  • 用Power BI连接Feed OData API计算,结果同样为11天

代码实现(Jupyter Notebook)

import pandas as pd
import requests
import json
import base64
import math
from datetime import datetime, timedelta

token_do_azure = '{hidden}'
pat_encoded = base64.b64encode((":" + token_do_azure).encode()).decode()
headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Basic {pat_encoded}'
}

hoje = datetime.today()
delta = timedelta(days=90)
dia_resultante = hoje - delta
dia_formatado = dia_resultante.strftime('%Y-%m-%dT00:00:00.00000Z')

url = rf"https://analytics.dev.azure.com/{hidden}/_odata/v4.0-preview/WorkItems?$select=WorkItemId,WorkItemType,Title,CycleTimeDays,ClosedDate&$filter=(Project/ProjectName eq 'Suporte_Torres' AND (WorkItemType eq 'Issue') AND State eq 'Done' AND ClosedOn/Date ge {dia_formatado})"

req = requests.get(url, headers=headers)
req_tabela = json.loads(req.text)
req_valores = req_tabela["value"]

df = pd.DataFrame(req_valores)
df['ClosedDate'] = pd.to_datetime(df['ClosedDate'], format='ISO8601').dt.date

# 直接计算平均值
print(round(df['CycleTimeDays'].mean(), 0))
# 返回11.0,而非预期的12.0

# 移动平均计算(参考官方逻辑)
def calcular_janela_n(n_dias):
    n = int(0.2 * n_dias)
    n = math.floor(n)
    if n % 2 == 0:
        n -= 1
    if n < 1:
        n = 1
    return n

janela_n = calcular_janela_n(90)
df['SMA_n'] = df['CycleTimeDays'].rolling(window=janela_n, min_periods=1).mean()

print(round(df['SMA_n'].tail(1).iloc[0], 0))
# 返回9.0,而非预期的12.0
print(round(df['SMA_n'].mean(), 0))
# 返回11.0,而非预期的12.0

待排查疑问

请协助分析可能导致差异的原因:

  • OData API返回的CycleTimeDays字段计算逻辑是否与Widget不一致?
  • Widget是否对时间范围、工作项筛选有特殊处理(比如状态转换规则、时区差异)?
  • 移动平均的窗口计算或数据排序逻辑是否与官方实现存在偏差?

内容的提问来源于stack exchange,提问作者fcoalcantarajr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:15:54