From 0cd8d81f475ae642226ac609c7337e2c85268449 Mon Sep 17 00:00:00 2001 From: jiameng Date: Fri, 11 Sep 2026 16:41:53 +0800 Subject: [PATCH] =?UTF-8?q?DSP-daily=20=E6=97=A5=E6=8A=A5:=20=E6=80=BB?= =?UTF-8?q?=E6=97=A5=E6=8A=A5+PKG=E6=B3=A2=E5=8A=A8+=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json | 1 + index.html | 261 ++++++++++++++++++++++++++++++++++++++++++++++ schedule.conf | 1 + update.sh | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 545 insertions(+) create mode 100644 data.json create mode 100644 index.html create mode 100644 schedule.conf create mode 100755 update.sh diff --git a/data.json b/data.json new file mode 100644 index 0000000..5c6083b --- /dev/null +++ b/data.json @@ -0,0 +1 @@ +{"overall":[{"dt":"2026/9/10","DSP total revenue":21177.85,"DSP CN revenue":16945.79,"DSP international":4232.06}],"cn":[{"dt":"2026/9/10","acshare":59.29,"adsdeep":31.3,"adwisdom":314.11,"affinityad":518.1,"alphadsp":311.73,"altosum":0.0,"apkpure":84.7152,"appfortis":308.34,"appnextads":9005.055,"bidmatrix":130.9714,"bidneuron":0.0,"bytemobi":13.41,"cookeads":32.25,"dolphin":915.169,"dolphin2":598.341,"flowbox":331.963,"flymob":1482.003,"gleamx":0.0,"gridads":18.361,"imax":90.614,"influxtec":9.86,"iogerads":441.105,"leapmob":85.393,"lightspot":0.45,"mbupps":68.1,"mobgem":0.0,"moblegend":51.03,"mocaads":0.0,"movablead":9.35,"mstoko":55.19,"nativexads":186.54,"Ricefruit":91.08,"shockit":81.168,"smartconnectads":18.926,"startym":28.75,"tenads":0.0,"verse":330.29,"vertexs":144.6204,"vikingmedia":315.73,"xoomads":5.6,"yolo":0.0,"youmi":0.0,"bidneuron_API":0.0,"quarklio_API":0.0,"quarklio_ddj_API":0.0,"Iogerads_API":449.922,"adwisdom_ddj_API":8.625,"mejoy_API":0.176,"witgala_API":0.0,"dolemobi_API":0.0,"flatads_API":0.0,"adnov_API":40.48,"goodjoy_API":15.5,"yomiads_API":0.0,"flymobi_API":208.496,"vertex_api":2.24,"isummer_API":2.072,"viking_api":34.16,"hope_api":0.0,"aba_api":13.2,"volo_api":0.0,"seanear_API":0.0,"mobhuge_API":0.0,"altosum_API":0.0,"clickpuff_API":2.01,"DSP CN revenue":16945.79}],"international":[{"dt":"2026/9/10","adsflourish":0.0,"affleads":123.52,"avowads":282.187,"cubicom":47.277,"keendigi":0.0,"launchpad":0.0,"mobavenue":322.52,"stackyads":20.25,"vserv":278.1,"xapad":2850.62,"sync_API":5.1,"motilal_API":276.29,"acmemobi_API":0.0,"strongmetrics_API":26.2,"c2c":0.0,"DSP international":4232.06}],"pkg_midas":{"2026/9/10":{"com.amazon.mShop.android.shopping":261.1662,"story.tv.drama.reels":1312.825,"com.kotak811mobilebankingapp.instantsavingsupiscanandpayrecharge":281.45,"ru.yandex.music":3286.136,"com.edadeal.android":1097.82,"ru.kinopoisk":1504.911,"com.meesho.supply":18.372,"com.master.learn.ai":325.85,"com.makemytrip":422.57,"in.swiggy.android":4.7,"org.altruist.BajajExperia":431.71,"id.co.bankbkemobile.digitalbank":79.045,"com.branch_international.branch.branch_demo_android":132.4,"org.nustaronline.games":330.083,"com.vitastudio.mahjong":391.9736,"com.playmate.playzone":174.87,"com.bulletshorts":129.44,"com.king.candycrushsaga":150.0544,"com.mercadopago.wallet":74.76,"com.policybazaar":71.164,"com.adityabirlacapitaldigital.OneApp":6.52,"com.app.alright":138.7,"ir.torob":19.23,"com.truecaller":4.824,"com.dotin.wepod":4.18,"com.bingoplus.bpom3411":5.46,"com.samanpr.blu":46.72,"com.intellihealth.truemeds":57.01,"com.fastbanking":27.192,"com.phonepe.app":21.5458,"org.xbet.client1":88.308,"com.bingoplus.bpom3410":81.81,"com.vlv.aravali.reels":5.5,"com.makeup.makeoverstylist":3.46,"com.snapdeal.main":33.95,"com.digikala":16.9264,"com.acko.android":5.5,"in.amazon.mShop.android.shopping":63.646,"com.traveloka.android":14.15,"com.acewin1.chgllfeeae":52.42,"com.transferwise.android":200.95,"com.bingoplus.bpcm01051":15.12,"com.globe.gcash.android":23.758,"com.binance.dev":124.077,"com.neptune.domino":72.0,"com.oakever.arrows":142.6574,"com.intech.c66app":24.22,"ru.domclick.mortgage":554.9,"com.candle.extreme_car_rush":3.995,"com.mobikwik_new":12.46,"com.oakever.tiletrip":55.405,"com.winaxis.arionplayandroidapp":92.25,"com.naviapp":9.157,"hk.easyvan.app.client":306.9,"com.stanfordtek.pinjamduit":7.628,"com.panalo11.applovingo":46.225,"ru.more.play":10.72,"com.mintq.gocash":0.3,"com.xgame.crazypizzadash":3.1142,"com.tod.xameen":32.28,"com.gz.main.game":26.7,"com.vidio.android":2.525,"com.vuclip.viu":32.508,"mint.dating":91.462,"in.mohalla.sharechat":1.625,"com.tabdeal":26.89,"melligold.com.app":29.28,"biz.growapp.winline":135.864,"com.myairtelapp":6.4374,"com.mobile.legends":32.0286,"com.hwsj.club":19.058,"net.one97.paytm":1.542,"com.happygogame.makeUpCollection3":3.229,"com.xplay.pop_antistress_simulator":3.8634,"com.big.ludocafe":84.995,"com.cars24.seller":1.7,"com.litvibes":25.0754,"in.swiggy.android.toing":1.23,"com.puzzlegames.puzzlebrickslegend":160.9886,"com.dubox.drive":24.506,"com.citybuilding.newcity":6.55,"com.lendingplate":34.49,"ir.zypod.app":23.4,"com.whizdm.moneyview.loans":16.0,"in.mohalla.video":3.871,"com.jekmant.matrplauncher":140.3832,"id.flip":0.3,"com.xgame.DrawLineChallenge":2.313,"com.msf.angelmobile":0.646,"com.hkfuliao.chamet":26.419,"com.master.chef.cooking.game":7.03,"com.winaxis.ninogamingandroidapp":22.801,"com.bingoplus.bpom3412":9.38,"sg.bigo.live":211.6186,"com.baubap":52.0,"com.paymaya":9.8,"com.bravestars.savethedog.drawgame":1.796,"com.anytimerupee":178.11,"com.oakever.meowdoku":89.7526,"com.dbs.in.digitalbank":64.5,"com.nobroker.app":2.0,"com.sgiggle.production":36.8556,"com.novin.talasea":0.03,"com.taxsee.taxsee":18.125,"com.crafto.android":4.068,"com.nar.bimito":0.75,"com.radio.pocketfm":1.2,"com.mpokket.app":30.219,"com.mcdonalds.mobileapp":3.93,"com.alloapp.yump":22.5,"com.seatech.bluebird":34.4,"digital.neobank":2.34,"com.thai.credit.finance.reliable.loan.android":8.496,"ru.tander.magnit":2.12,"net.cata.ai.android":11.6,"com.nextbillion.groww":7.97,"com.gigachat.app":161.7,"com.acewin66.gaming":22.481,"in.redbus.android":7.409,"market.nobitex":3.12,"taxi.tap30.driver":2.34,"com.livescore":81.75,"com.fxpro.direct.application":0.504,"com.tencent.ig":0.267,"com.kwai.bulldog":12.9104,"ir.tlyn.app":17.87,"com.winzy.app":11.34,"com.idamob.tinkoff.android":22.208,"ir.aban.th":12.66,"com.ads.ring":6.66,"com.bingoplus.bpom3413":3.36,"ph.seabank.seabank":40.5,"ru.betboom.android":407.915,"com.MadOut.BIG":6.113,"com.candle.car_master":1.02,"com.yandex.browser":32.14,"com.minor.pizzacompany":0.3,"com.bcadigital.blu":9.362,"com.samanpr.blujr":6.4,"com.loans.lending.onlinelend.mabiliscash":1.2,"com.zomato.delivery":5.4,"com.candle.magic_piano":5.9764,"com.xgame.VehicleDriving3D":1.395,"com.marathimatrimony":25.405,"com.jubl.popeyes":32.0,"com.immomo.biz.ddoversea":61.026,"com.khatabook.passbook":13.14,"com.yandex.searchapp":17.598,"com.todocredito.mx":4.09,"com.ideopay.user":0.6,"com.xgame.vehicleMaster3D":1.75,"com.finaccel.android":8.694,"com.okala":6.69,"kidultlovin.word.zen":28.8332,"com.smashcar.mmgame":1.723,"ru.adengi":67.32,"com.avito.android":4.04,"prodokplay.app_okwinphpf5.com":3.2,"com.yy.hiyo":117.561,"cn.herofight.starblast":1.845,"com.bankbazaar.app":13.0,"com.picpay":8.456,"com.jajiga.app":49.2,"com.candle.beatcar":0.693,"cn.herofight.skyfruits":0.518,"ee.mtakso.client":14.7774,"ru.dublgis.dgismobile":21.84,"com.xgame.trafficmoto":2.096,"com.storymax.reels.shorts":18.15,"com.mml.vehicle.masters":1.981,"com.star.ayar.android":41.624,"com.jh.juanbingo":57.132,"com.yandex.aliceapp":26.645,"com.happygo.runcollection":2.493,"com.astro.shop":3.366,"com.kwai.video":13.1,"com.fsn.nykaa":1.731,"com.netease.newspike":53.209,"com.happygogame.DrawGamesCollection":1.325,"id.co.bankfama.android":10.65,"com.azkivam.twa":8.4,"com.shopeepay.id":8.89,"com.ff111aa.com":22.925,"com.fintopia.idnEasycash.google":4.88,"com.fatakpay":1.75,"com.didiglobal.cashloan":3.24,"com.keralamatrimony":21.45,"com.winaxis.hanncandroidapp":5.994,"com.finternet.plutus":20.0,"com.telugumatrimony":23.8,"com.coindcx.btc":0.7,"com.deltaexchangeindia":6.971,"com.youmusic.magictiles":11.387,"com.amazon.mp3":0.35,"com.game.friends.android":26.64,"com.weegoon.thiefpuzzle":26.524,"voxy.friend.chat.ai":15.012,"com.callapp.contacts":40.966,"ru.banki.banki":79.8,"com.bimeh.pwa.twa":0.92,"com.grabtaxi.passenger":2.793,"com.king.candycrushsodasaga":16.519,"rapidrupee.app":9.1,"chat.bithouse.kachi":14.707,"com.NoaGames.Menchico":1.86,"com.tanksblitz":98.112,"com.sdkit.search.app":114.968,"com.vivago.ai":156.405,"com.voicemaker.android":38.2674,"BLucky.jifwetm.wrptcre":14.994,"com.novanews.android.localnews.ru":6.76,"com.bpi.ng.app":43.7,"com.edch.ykx":7.347,"uz.unamoliya.app":8.6,"mml.studio.antistress.puzzle.games":1.632,"com.novin.noghresea":0.09,"com.live.soulchill":37.932,"ir.wallgold.app":10.07,"com.khatabook.alertpay":23.7,"com.oriente.cashalo":2.186,"com.worldance.drama":1.7,"com.PilehGames.Lotus":0.1,"com.tamilmatrimony":10.97,"com.juanhand.fast.cash.peso.loan.app":5.5,"com.dhan.live":11.028,"com.halamate.app":1.08,"com.zvooq.openplay":9.44,"com.arenaplus.johnc2010101":5.04,"com.adakami.dana.kredit.pinjaman":5.175,"ru.yandex.androidkeyboard":4.2508,"sinet.startup.inDriver":13.7938,"ru.sberbank.investor":63.0,"ph.billeasev2.mobile":0.636,"com.fugo.wow":12.525,"com.creditcat.tech.app":3.901,"com.mocamoca":7.43,"za.co.pnp.smartshopper":73.852,"com.okinc.okex.gp":79.47,"com.maxim.internal":10.244,"com.cedargames.tileclear":6.684,"style.chat.niko.android":32.452,"in.stablemoney.app":3.54,"com.cashflow.h5":10.26,"in.hanafintech":3.0,"ru.tutu.tutu_emp":57.48,"ru.yandex.yandexmaps":14.972,"tech.fplabs.score":3.18,"com.vv55.appname":0.75,"com.gojek.gopay":0.256,"com.pinjamwinwin":1.523,"com.jar.app":6.228,"com.xparty.androidapp":34.447,"com.agoda.mobile.consumer":7.8064,"com.mandir":21.6,"ru.kfc.kfc_delivery":1.0,"com.mexcpro.client":82.485,"com.mml.mecha.run":0.77,"ru.tabor.search":12.872,"in.upstox.app":4.595,"com.happygogame.subwayrushescape":0.634,"dnh.mys.app":1.568,"com.furlenco.android":18.2,"com.indosk.sensid":0.78,"com.icicidirect.idirectsuper":35.1,"com.tetrapuzzle.bezanbahador":2.68,"com.apnatime":1.2,"com.ddgcorp.befree":10.0,"id.co.myhomecredit":1.34,"com.btpn.dc":9.5,"prestamo.dinero.ala":1.89,"rtb.mobile.android":11.0072,"com.tigo.flower":28.8808,"com.espritgames.rpg.chsrgn":16.32,"com.amanotes.beathopper":7.2,"ru.mts.music.android":3.101,"com.xm.webapp":4.63,"io.attabot.app.paymeindia":2.0,"com.bingoplus.bpcm01052":2.24,"com.Dominos":0.8,"ru.yandex.direct":22.8,"com.wejoy.weplay.ru":4.1,"com.medrick.zodiac":0.13,"com.uc.gym.clicker":15.35,"com.arenaplus.johnc2010090":2.52,"com.bimebazar.bimebazar":7.212,"ph.bigloan.mobile":3.0,"ru.sportmaster.app":8.28,"in.workindia.nileshdungarwal.workindiaandroid":3.9,"com.hamrah_mechanic.hamrah_mechanic":1.18,"com.technolife":0.75,"com.swpfjwle.fsfgswrg":13.65,"com.sharekhan.androidsharemobile":74.46,"com.levelinfinite.sgameGlobal":9.405,"drug.vokrug":7.192,"com.sepgames.thc":14.7,"com.zestplay.antistress":0.616,"com.video.welive":28.0,"com.pesohere.fastcash":1.92,"com.wei001.com":12.0,"com.krom.android":4.5,"com.game.friends.ru":18.88,"com.niceteen.games.milliondeal":4.72,"ru.otpbank.mobile":2.284,"com.hd.video.downloader.fastplayer":0.756,"com.fidibo.app":1.18,"com.Gamnest.CandyRace":1.874,"com.supercell.clashofclans":0.82,"fi.android.takealot":3.0,"com.ada.wealthplus":0.02,"ru.bkfon":7.51,"com.herofightinggames.shark.madness":2.959,"com.oakever.jigsawcard":6.264,"co.id.lumbungdana.android":1.935,"com.gsm.customer":0.25,"za.co.nedbank":2.562,"com.voicechat.live.group":16.08,"ru.detmir.dmbonus":1.68,"com.iss.client.cairin":28.5,"com.barclays.absa.banking":3.96,"com.apegroup.mcdonaldsrussia":12.824,"com.xworld.free.welfare.game.app.io":1.96,"com.launcher.ios11.iphonex":1.1748,"indwin.c3.shareapp":5.6,"com.f333.abc2":26.47,"com.reels.cash.video.app":3.135,"ru.rt.video.app.mobile":0.6,"tap.coin.make.money.online.take.surveys":0.61,"com.game.friends.teamiksa":33.877,"mml.studio.piano.musicgame":1.018,"banter.toki.android":35.692,"com.palawanpay.ewallet":1.38,"com.vividgames.realboxing2":3.2724,"com.fxroyale.app":1.78,"com.cheq.retail":0.6,"uz.kapitalbank.android":19.56,"com.ewclynt.tdmcr":2.38,"com.alibaba.aliexpresshd":8.894,"BLucky.ewrotpcr.rptnec":11.295,"com.gpyy.gfy":0.89,"com.planet.toobit":42.8,"com.niceteen.milliondealdeluxe":1.092,"com.solidict.gnc2":4.563,"com.mijing.livo":1.954,"mml.studio.princessdoll.dressup.game":1.635,"com.suka.blog.and":9.9566,"com.metaztech.chatta":8.0,"in.org.npci.upiapp":7.14,"ru.sravni.android.bankproduct":3.85,"com.astrolokal.astrology":3.0868,"ru.vanilla.prod":15.0,"ru.cian.main":1.28,"com.palq.thainance":2.58,"com.postpe.app":11.4,"com.espritgames.rpg.p1":25.92,"com.amazon.avod.thirdpartyclient":2.5,"ru.hh.android":0.512,"com.wlopscwz.plncixw":0.508,"BLucky.jwptcv.ewtwb":2.476,"com.eco.trust":1.88,"com.medrick.DominoOnline":0.04,"connect.poca.android":7.88,"com.bossgame.domino":1.8,"com.blinkit.storeob":0.72,"com.ph.pinoy.peso":3.8,"com.datawise.wpmain":14.4,"in.cricketexchange.app.cricketexchange":0.4368,"com.xenalite.androidapp":14.073,"com.zp.tongits.tt":6.6,"br.com.neon":2.5088,"com.kubi.kucoin":5.76,"co.thewordlab.luzia":5.962,"com.kreditpintar":0.17,"naukriApp.appModules.login":0.04,"com.ss.android.ttmd.video":6.69,"com.mashreq.pakistan":3.56,"in.jfs.jiofinance":5.4,"com.uc.animal.hide.seek":4.58,"com.viu.phone":2.62,"com.drivee.taxi.rides":9.145,"com.leonru.mobile5":105.192,"com.f222.ss03":8.454,"otello.dgis.ru":1.728,"com.arrow.out.tap.away":1.061,"com.pixverseai.pixverse":3.0,"com.hiiclub.live":5.01,"com.unacademyapp":2.1,"flex.loon.app":2.016,"com.client.tenderu.android":7.99,"com.fintopia.mxcredmex":5.484,"com.wepartytt":9.48,"co.bitx.android.wallet":4.8,"com.kopikenangan":0.6,"co.tide.tideplatform.in":0.5,"ru.dodopizza.app":1.44,"ru.gdemoideti.parent":8.772,"shorts.drama.video":5.61,"com.finex.trading":3.2,"com.phonegap.dominos":4.95,"com.immomo.biz.yaahlan":12.342,"ru.alfabank.mobile.android":5.304,"com.fantasia.ai":3.9,"com.vip5rt.com2":6.3,"com.andsystems.lendpinoy":1.128,"com.chato.amigo":40.46,"com.aaritya.sahi_trade_app":0.78,"app.blinkit.onboarding":0.2,"com.midopia.hokmraan":1.29,"net.peakgames.Yuzbir":14.05,"com.matchu.machat":13.56,"com.uc.minigame.relax":3.296,"com.honeycam":8.7,"com.finansbank.mobile.cepsube":0.75,"com.adda247.app":0.3,"com.lucky.game.fun":2.646,"fc.admin.fcexpressadmin":0.2,"com.bybit.app":1.204,"com.lamoda.lite":0.9,"com.grupp.cridit":12.6,"com.ygjszus.google":2.5,"com.live.bling.android":18.022,"astrum.ent.m2alyona":6.93,"app.shopino":0.84,"uz.iyb.monix":8.718,"com.bright.credit.safety":2.075,"com.falabella.falabellaApp":4.88,"prod0683271914.app_jlbettlbh1.com":0.78,"ng.com.fairmoney.fairmoney":0.42,"com.f333abc6.abc6":16.725,"cash.efectivo.okredito.prestamos.tala.credito.oxxo":21.35,"tech.jm":1.52,"com.bradesco":3.24,"asrtum.ent.domovyata":14.88,"jodiiapp.android.malayalam":5.2,"com.live.honey":0.96,"com.RedLineGames.Game49":1.278,"com.nu.production":1.46,"news.ramzarz.application":2.36,"com.incred.customer":0.9,"com.herofincorp.diyjourneys":0.41,"org.melbet.client":14.05,"com.mahak.app":1.86,"com.svipclub.app":3.462,"com.cjdrmtz.plnptmdx":5.434,"in.kubiz.app":5.444,"org.betwinner.vac":6.385,"com.rpd.duit":1.512,"com.nomadfintech.bank.app.android":0.3,"ir.filmnet.android":0.85,"com.dino.race.master":0.44,"com.lotuss.oneapp":0.5,"ru.cupis.wallet":5.165,"com.ti.live.stream":20.442,"ajaib.co.id":4.032,"com.tapmad.tapmadtv":2.0,"com.idekavan.behtarino":1.38,"live.bodygram.android":0.1,"com.msf.bfsltrade":0.42,"com.uma.musicvk":0.84,"com.indiabulls.securities":0.04,"org.dico.dream.android":15.01,"com.muthootfincorpone.superapp":0.185,"com.global.mus":25.85,"com.devmunifin.bharatloan":2.4,"com.daydreamers.kittens":0.02,"prod8449898730.app_ace67bdtf7.com":6.0,"com.oneceo.game":2.172,"com.slotgame.kesscasino":1.08,"com.vipera.ts.starter.MashreqAE":6.05,"su.ati.client.android":17.856,"org.ondc.nirmitbap":4.7,"com.savesage.club":6.2,"com.raastin.light":2.68,"com.happygogame.drive.car.truck.allInOne":0.742,"com.amarkets":2.65,"com.eplmc.clephn":4.4,"com.transsnet.palmpay":0.45,"uz.avo.app":1.2544,"com.pinjoy.game.app":4.692,"easy.sudoku.puzzle.solver.free":10.042,"com.earlysalary.android":0.2,"com.alien.shooter.galaxy.attack":1.04,"ru.stoloto.mobile":8.64,"cards.scapia.android":1.724,"br.com.uol.ps.myaccount":4.8,"com.newword.medved.bbb":0.838,"com.taobao.taobao":11.276,"com.tapsi.tapsishop":0.04,"level.travel":81.0,"com.superhoki.app":4.7,"com.mcdo.mcdonalds":0.18,"com.abi.skewer.sort":0.312,"robot.zaimer.ru":0.576,"org.betwinner.client":5.6,"com.nvsgames.pt":1.844,"com.os.airforce":3.252,"com.abi.perfect.tidy":0.275,"com.betsson.android":0.88,"ru.marathonbet.sportsbook":8.76,"com.hashkeypro.exchange":2.4,"com.webbankir":7.482,"es.socialpoint.DragonCity":0.51,"com.h.zoo.prank":1.2,"com.rayole.games.jungle.escape":0.03,"com.fruit.hexa.sort":0.025,"com.easemytrip.android":0.2,"com.bravestars.cat.rescue.draw.to.save":0.032,"com.id7pp62.ntla47":2.142,"com.rosytalk.ai":1.48,"com.amigolive":0.9,"com.vgames.mergemoney":0.0128,"cn.com.vau":1.94,"com.dhgate.buyermob":4.2,"com.remitly.androidapp":3.0,"com.dozarplati.android":1.0,"de.autodoc.gmbh":7.344,"io.gmt.app.twa":2.945,"com.themepress.icon.changer.wallpaper.widget":0.126,"com.vgames.millionairegoldendeal":0.489,"and.brainworks.holeemall":0.064,"com.ntt.screw.out.factory":0.288,"ru.betcity.android":2.88,"com.fcl.peso":0.84,"com.gp.slg3q.moc":0.66,"com.mavi.kartus":3.15,"com.alodokter.android":1.396,"com.dogan.arabam":2.88,"org.fxclub.libertex":2.048,"org.salwa.livechat":2.44,"com.shaadi.android":0.4,"com.fofi.pet.effects.ai.peteffects":0.52,"fit.cure.android":0.18,"com.lionwallpaper.kingwallpaper.wallpaper":0.106,"br.com.sbf.centauro":1.25,"com.clumsy.arrow":0.03,"com.bitget.exchange":9.46,"mml.studio.boomboomcars2":0.168,"org.linebet.client":0.6,"com.hy.bongdalu":0.15,"com.didiglobal.driver":0.7,"com.rayole.games.basket.dunk":0.12,"com.death.puzzle.ways.to.die":0.252,"ru.globus.app":0.35,"com.surfshark.vpnclient.android":0.4,"com.quintessence.mandate":0.12,"com.gametree.lhlr.gp":0.66,"ru.limezaim.www":3.18,"com.fastringgit.official":0.352,"com.ggv.rogames.sea":0.52,"ir.sospans.lalastories":0.03,"ru.bistrodengi.my":1.396,"com.playuzu.www":0.245,"com.yzlmus.google":0.5,"com.iPruAMC":5.394,"com.vtcmobile.gz06":0.7,"ph.cashme.android":1.74,"com.rayole.games.color.link":0.18,"ru.kupibilet":1.0,"com.okredito.cash.credito.tala.prestamo.crediti":0.4,"app.intent.android":1.9,"com.superchain.lbankgoogle":1.8,"com.autonavi.minimap":1.5,"com.lordsmobile.rustore":0.5,"in.paisa247":25.0,"com.igg.android.doomsdaylastsurvivors":1.27,"com.hyugalife":0.474,"com.carshering":3.125,"com.flowwow":0.24,"com.bubble.pop.legends":0.03,"com.revo.red.android":1.0,"daily.number.match.free.puzzle":0.5,"com.olimpbk.app.bet":3.71,"com.qoni.guesstheiranswer":0.168,"com.yalla.yallaparchisi":0.688,"com.lalamove.global.driver.sea":3.3,"com.myloan.pesocash":0.72,"com.freeplaysultanov.shootit":1.088,"com.bigcake.android.mahjongmatch":0.833,"fr.playsoft.lefigarov3":0.625,"com.bukalapak.mitra":1.26,"com.dev.narod.zaim":7.77,"com.localweather.radar.climate":0.3,"com.wplay.sports":0.8092,"com.royal.casino.gjgu.gjuf.apk":0.96,"com.mten.tgp":0.6,"com.wpcltrdw.lplecrfd":0.594,"com.multicastgames.butcher":8.488,"com.vivolive.app":2.46,"cn.com.vpu":0.375,"com.road7.ddtgo.gp":1.2,"com.paygo24.ibank":0.74,"com.creceimpulso.platform.tools":4.02,"com.rayole.games.match.play3D":0.03,"com.sano.support.android":1.575,"com.loandigit.android":1.3,"com.musicgame.colordancinghop":0.238,"ua.sloncredit.mobile":9.0,"ru.sutochno_redesign":2.376,"zps.game.pusoy.thaf":0.25,"ru.uteka.app":0.768,"com.moniepoint.personal":0.4,"ru.morizo.clatch":5.24,"com.snake.escape.maze.slither.puzzle":0.044,"cn.com.ummarkets":0.504,"com.Hadiz.Yogaflex":0.934,"in.flicktv":0.12,"com.rayole.games.marble.zigzag":0.09,"com.xb.car360.app":0.144,"com.ipakyulibank.mobile":4.104,"com.truelife.mobile.android.trueiservice":0.084,"com.cashbridge.app":3.15,"my.atome.paylater":0.11,"com.appteka.lapy":4.68,"com.flexsalary":0.25,"prod3447332273.app_333mmkf5.com":1.6,"com.ntt.hole.collect.objects":0.018,"bus.park.matching.adventure":0.0972,"com.r83e.a369n.z667":0.655,"com.selfiecredit.mobile":10.0,"com.aloparty.app":2.0,"prod2748202078.app_k1mmkf5.com":0.72,"com.credito.main.util":1.575,"plus.portfo.twa":0.4,"in.magnetapp":0.6,"cg.yellowbet":0.8,"solitaire.patience.card.games.klondike.free":0.4388,"com.rayole.games.dungeon.escape":0.12,"com.wmlcnte.pcyedw":0.891,"com.htt.alpha.shooter.fps":0.6,"com.cttph.offcial":1.6,"com.linecorp.LGGRTHN":0.18,"in.pocketmitra":1.06,"com.didiglobal.passenger":0.108,"com.monsterindia.seeker.views":0.14,"com.bcgame.mx":0.312,"com.nice.reels":0.58,"com.nobubank.now":4.5,"ru.aeroflot":1.5,"com.metaWeb.menang7771":1.05,"com.officialgroup.duitgini":0.264,"com.tui.fstravel":1.025,"com.dolarapp":0.375,"com.vitalk.android":5.121,"com.rayole.games.flappy.emoji":0.09,"com.koinsayang.mobile":0.625,"com.yalla.yallabaloot":1.24,"com.fun.share":4.3,"com.paylaju.ex":0.448,"com.mastiji.mlive":0.64,"com.iladad.brand":3.5,"com.loan.bank.cash.aidacredit.nigeria":0.2,"com.esprit.rpg.lttlefirykng":1.92,"com.twinby":0.752,"com.theastrotime":0.74,"com.bravestars.doll.dressup.princess.coloringgame":0.154,"com.hawatalk.live":0.576,"com.rovio.baba":0.896,"starfin.com.ua":10.0,"com.applications.max":2.808,"com.snabbit.customer":0.335,"ru.neopharm.stolichki":0.376,"games.joker.chicken.go":0.762,"com.and.imi.hcw":1.976,"com.opera.minipay":0.24,"com.take.cash":4.0,"com.Medrick.RoosterWars2":0.02,"com.sevensolutions.thaimart":2.03,"com.wrx.wazirx":5.8,"com.holaglobal.cash.loan.mx":2.76,"com.finleap.daira":0.058,"siamr.apid.krungm.sexma":1.25,"com.mechanist.vampire.aos":0.55,"com.taixiu188f2.bower":0.6608,"com.tpmaster.pattisequencearena":0.16,"com.devaashishcapitals.rot":0.18,"com.megogo.application":0.45,"com.msb.digibank.retail":1.6,"com.husoewkjdu.muhjcihvhi":4.975,"ru.letu":7.898,"games.joker.plinko.space.galaxy.party":1.143,"com.majorfrank.sneakerart":0.012,"com.applications.homecentre":0.64,"adr.danakredi.id":0.696,"com.adidas.app":1.6,"com.risky.roller":0.03,"mx.stadiobet.app":0.34,"com.short.luckydramas":1.04,"ru.broker.my":7.05,"com.hdoanan.egjajsh":1.0,"com.mxdzzus.google":0.77,"webviewgold.myappname.fi":0.48,"com.daffodil.dealorbet":0.624,"com.roamiyo":0.15,"com.ddup.zombiewaves.zw.ru":2.4,"ru.simple.wine":0.188,"com.bancoagricola.bancamovil":0.32,"com.spindreams.game":1.443,"ru.zhuck.webapp":2.6,"com.kurogame.wutheringwaves.global":12.82,"com.wamba.bbs":4.146,"com.twelve.club":0.7,"com.pocketoption.broker":0.54,"com.baitu.qingshu":3.658,"com.action.one.shot.flick.soccer":1.1,"com.gamee.brainly.homepin3.pullpin.puzzle":0.042,"com.rayole.games.ball.hop":0.09,"giniapps.easymarkets.com":0.21,"com.u1.relax.minigame3":1.22,"br.com.madeiramadeira":0.72,"com.lemonn.app":1.41,"com.vivid.bossdomino":0.3,"com.game.dragondown":0.03,"com.rayole.games.naruto.hero":0.03,"com.pokergame.teenpattiwinner":0.3,"com.venus.tools.pk":2.64,"com.video.snapdramas":0.4,"fyd.mz.fydengg":0.4,"com.party.infriends":4.0,"com.smsupermalls.smmallsonline":0.22,"com.lendigogroup.personal.loan.application.fastcredit.th":1.05,"com.prepladder.learningapp":0.54,"com.goldenjogos.game":0.9,"com.actechnology.rextrix":0.3,"com.neowiz.games.poker":0.12,"com.cloudtradetech.sky":0.48,"com.bharatmatrimony":0.31,"com.brazino.mexico":3.542,"com.iskra.mobile":0.705,"pe.com.backusya":0.61,"gogolook.callgogolook2":0.24,"com.mudrexmobile":0.75,"ru.dc":0.974,"com.rayole.games.knife.ninja":0.09,"com.baltbet.clientapp":8.688,"prestamos.creditoya.urgente.dinero.peso.cash.credito.rapido":1.5,"com.freshbus.app":0.4,"com.ewkmct.pcplrw":0.504,"com.matchgame.arrowspuzzle.game":0.399,"com.sebbia.youdo":1.492,"com.bidorbuy.app":0.45,"com.rapid_money":2.196,"com.pineapple.tile.hole.master":0.15,"ru.yandex.yandexnavi":0.54,"com.vfmoney.android":0.3,"com.tuktuki.app":0.29,"com.voi.taky":0.8,"com.werent.wfr":0.62,"com.leme.coe":2.016,"com.view.app.dinerofaro":6.4,"com.kraken.trade":0.11,"com.getstan.influencer":0.643,"ru.moneyman":5.4,"id.co.cimbniaga.mobile.android":0.56,"com.national.lottery":1.68,"finance.empower.mx":0.48,"by.belbet.android":0.384,"com.coupang.mobile":1.22,"com.kariyer.androidproject":5.88,"br.com.meliuz":0.72,"com.sustvest.bonds":0.25,"uz.birbir.app":0.72,"online.credits.app":1.175,"ru.zengalt.fines":0.6,"com.explurgerapp":0.05,"com.esprit.rpg.cntrctfft":1.44,"com.rayole.games.spin.rush":0.15,"com.sportsdunia_app":0.16,"livestream.inslive.live":0.47,"ru.alfadirect.app":1.575,"casino.games.slot.machines.free":0.34,"com.angame.gunnymobi.vn":0.32,"com.okbet.ph":0.576,"casino.caliente.com.calientecasino":24.48,"ru.migcredit.migcredit2":10.0,"com.csahdlka.chsajkdnh":0.4,"com.coffye.dqiabm":0.375,"money.jupiter":0.028,"com.rayole.games.umbrella.escape":0.06,"games.joker.crash.rocket":1.11,"com.notissimus.allinstruments.android":1.5,"com.fuib.android.spot.online":1.26,"com.bengalimatrimony":0.3,"ru.rivegauche.app":0.2,"com.exinity.alpari":1.8,"com.yzlm.tw.and":0.058,"com.fevrum.ingame":0.5,"pe.prestamo365":0.225,"jodiiapp.android.marathi":0.312,"com.fondo.claro.master":0.4,"com.bravestars.hair.salon.beauty":0.196,"prod1905680022.app_jlcsntlbf3.com":1.05,"com.worldquiz.delta_emulator.gba.emulator":0.288,"ru.rigla.client.android":2.25,"com.xpay.agent":0.8,"com.epthrc.torcwk":1.144,"prod5937661082.app_jlbettlbh1.com":2.0,"com.mz.fzcqkr":1.0,"ru.tripster.tripster":2.6,"com.espritgames.rpg.hoc":1.44,"com.qmove.logistics.consignor":0.8,"com.aveiro.go":0.15,"com.rbx.city.android":1.17,"com.vegas.casino.free.lucky.bonus.jackpot.dragon.slots":1.93,"com.tool.cash.flujo":2.4,"com.rayole.games.bird.climb":0.09,"com.swap.rush.game":0.03,"com.hy.thscore":0.084,"com.rayole.games.color.rush":0.09,"com.thatsenglish.aturitmo":1.46,"com.northcube.sleepcycle":2.2,"com.oioilive":1.24,"gpm.tnt_premier":1.44,"com.gloriajeans.mobile":1.92,"com.tpozyka.app":4.0,"com.rayole.games.stack.blocks":0.06,"com.treintaapp":10.0,"ir.invi":0.15,"ru.moex.finuslugi.zaim":2.0,"com.cpaxtra.axtramallapp":0.13,"com.localiza.mobile":0.375,"cashgiraffe.app":1.344,"com.dinero.fd.mx.loan":0.75,"com.misslive":0.34,"com.vgames.arabiagoldendeal":0.576,"prod5912242000.app_jlbettlbh1.com":2.8,"com.pchelka.app":3.36,"com.balootgames.monopolygo":0.02,"com.bcht.vn":0.385,"com.exinity.fxtm":0.2,"games.alternativa.projectv.test":1.4816,"com.ciliz.spinthebottle":1.98,"co.okex.app":1.06,"com.twec.xmi":0.49,"com.cocacola.dahadaha":3.4,"com.tiptide.khoshtas":0.02,"com.rayole.games.sort.master":0.09,"com.cloud.thailand":0.4,"ru.mybox.app":0.288,"ae.policybazaar":0.2,"ru.aforte.android":8.448,"com.wan.wartuneh5":0.9,"ru.tokyocity.tokyocity":0.2408,"com.global.hiyapro":1.5,"com.imbb.oversea.android":0.42,"com.kredivo.ph.android":4.6,"com.vana":4.0,"com.fhjsffsaa.com":0.3072,"ru.yandex.flowers":3.76,"br.com.netshoes.app":0.18,"ru.livetyping.zarina":1.548,"com.reelies.hermes":1.35,"com.pin.jam":0.06,"com.abi.busjam.sortpuzzle":0.0125,"com.oneshot.pool":0.03,"pl.mediaexpert.app":8.64,"ru.yandex.practicum.flutter_practicum":0.224,"platiza.ru":1.44,"com.flatgames.football.referee.simulator":0.36,"pk.pakrummy18.app":1.35,"com.playlight.puzzlechallenge":1.85,"com.app.mylo.dating":1.0,"com.xavelive":1.05,"com.vidn.credit":1.28,"com.rayole.games.basket.shot":0.06,"com.blueplanetm.gp":0.346,"ru.bestprice.fixprice":3.0,"si.oncredit.lk":12.0,"ru.x5.x5job":0.24,"br.bet.k.twa":3.2,"com.gsn.zps.full":0.25,"org.megapari.vac":10.08,"pl.pracuj.android.jobsearcher":3.645,"com.fishinggoldnira.fgoldnira":0.4,"taptrendinggames.offroadjeepdrivingextremedriftchallenge":0.0005,"com.rxjhglkr.gp":0.96,"ru.yandex.mobile.afisha":0.75,"com.fun88.app":0.252,"com.thehub.apps":1.25,"com.rayole.games.gold.miner":0.09,"prod5865927730.app_jlbettlbh1.com":0.4,"com.urpxf.mdsig":2.94,"ru.handh.petrovich":14.4,"com.RastleksGames.TheShootout":0.138,"com.plantsonfire.merge":2.07,"net.arzplus.twa":0.63,"com.manyjobs":0.42,"com.okstudio.okeykafe":3.75,"pl.jakwydaje":0.9,"com.medrick.snake":0.02,"com.kfc.malaysia":0.392,"prod7765733601.app_jlbettlbh1.com":2.26,"com.manalotgames.lagunafermerov":1.44,"com.u1.prank.school.monkey":1.44,"ru.shoppinglive.app":0.69,"com.peso.maxy":0.3,"com.sportybet.android.gp.brazil":1.0752,"com.amaze.superapp":0.5,"com.espritgames.rpg.demon.slayer":3.264,"pk.pakrummy19.app":0.3,"com.turkcell.ott":8.37,"gold.tochal.app":0.75,"pl.komputronik.app":0.208,"com.rgefeqwd.dwqbgfdreewq":0.54,"gold.daric.daric":0.4,"prod4191609767.app_jlbettlbh1.com":6.3,"com.finger.hsgame":2.0,"com.arenaplus.johnc2010096":1.26,"com.fc.p.gp.skincare.makeup.makeover.asmr.game":0.005,"com.panzerdog.tacticool":1.294,"com.cybergaming.blockwarriorsde":0.09,"vn.funtap.infinitykingdom":0.1,"one.zilo":0.09,"com.mars.india":0.4,"com.vsem.eda.app":0.9,"com.sparkler.los.ir":0.15,"com.big_capital_eg.big_capital":0.403,"com.jp777.gem.xk2b7":1.05,"com.fingerfun.mu4new.gp.us":0.74,"com.iplus.tops":0.72,"com.teenpattinique.masterdealer":0.22,"com.treasury.apps":0.3536,"com.cybernautica.solitairetripeaks":0.1,"id.co.bcasyariah.bsya":0.384,"com.baghboon":1.31,"com.cimrimobilevoyager":2.97,"app.ako.org":0.12,"com.betway.gh":0.74,"com.orange.rn.dop":1.44,"com.orange.rn.nju":0.3}},"pkg_ms":{"2026/9/10":{"com.oioilive":0.15,"kidultlovin.word.zen":0.83,"com.edadeal.android":903.2,"story.tv.drama.reels":1412.61,"com.notissimus.allinstruments.android":43.89,"mx.prestamos.urgente.dinero.online.peso.viva.credito.rapido":104.0,"com.whizdm.moneyview.loans":7.2,"com.Gamnest.CandyRace":0.16,"livestream.inslive.live":3.5,"com.ai.Daxin":2.6,"com.cheq.retail":3.06,"com.mukuru.customer.android":13.5482,"com.paymaya":2.1,"com.king.candycrushsaga":2749.4981,"net.peakgames.Yuzbir":8.1,"ru.yandex.music":1440.6,"robot.zaimer.ru":3.802,"com.hwsj.club":0.44,"com.yy.hiyo":1.5,"com.igg.android.doomsdaylastsurvivors":2.75,"com.gz.main.game":0.6,"com.money.credit.pilot.fin.app":2.2,"com.superchain.lbankgoogle":0.5,"com.dupoin.indonesia":20.0,"sports.caliente.mx.calientedeportes":884.0,"com.finaccel.android":3.6,"com.pinjoy.game.app":5.275,"com.vitastudio.mahjong":227.021,"com.bet88.si":2.1,"com.vivago.ai":2.994,"com.fxpro.direct.application":71.72,"in.upstox.app":2.6,"com.policybazaar":70.84,"com.fatakpay":6.84,"ru.uteka.app":54.8,"com.wings.bene.ph":167.4,"com.seatech.bluebird":17.6,"com.kurogame.wutheringwaves.global":25.0,"ru.yandex.yandexnavi":1.0,"com.ic.hot77_98":0.35,"pk.pakrummy25.app":21.6,"com.lendingplate":30.6,"com.amazon.mShop.android.shopping":5683.6926,"com.alibaba.aliexpresshd":0.8,"com.puzzlegames.puzzlebrickslegend":93.831,"com.mudrexmobile":0.476,"com.intellihealth.truemeds":38.33,"com.hiiclub.live":42.166,"com.vivolive.app":0.64,"com.yandex.bank":2462.1,"com.quick.loan.center.vay.mau":44.88,"com.planet.toobit":2.0,"ru.otpbank.mobile":1.0,"com.palawanpay.ewallet":5.1,"com.icicidirect.idirectsuper":1.0,"tech.jm":494.407,"com.reels.cash.video.app":83.55,"com.kubi.kucoin":1.2,"com.reliablecredit.effectivecash.effectiveloan.android":0.4,"com.krom.android":461.98,"com.myairtelapp":6.2,"ru.rt.video.app.mobile":101.6,"com.falabella.falabellaApp":0.96,"com.master.learn.ai":302.4,"com.game.friends.ru":1.0,"ph.com.bdo.pay":165.75,"com.uma.musicvk":342.72,"id.co.bankbkemobile.digitalbank":15.8,"ru.mail.cloud":562.38,"com.superhoki.app":44.5,"com.oakever.meowdoku":23.74,"ru.rosfines.android":139.5,"asrtum.ent.domovyata":515.69,"com.mobile.legends":1.4,"ru.ozon.app.android":1243.711,"id.dana":1.0,"com.binance.dev":6.86,"es.socialpoint.DragonCity":0.576,"ru.kinopoisk":898.15,"com.immomo.biz.yaahlan":1.75,"com.meesho.supply":0.04,"com.mexicash.app":10.35,"com.piggybankng.piggy":0.6,"com.star.ayar.android":0.16,"com.take.cash":31.3,"sg.bigo.live":6.25,"com.live.bling.android":0.2,"com.voicemaker.android":0.2,"hb.xinxinxr.vip":1.65,"com.kopikenangan":0.5,"com.moneydd.goodmoney":39.49,"com.disneyplus.ph":129.24,"pk.pakrummy24.app":12.2,"com.vuclip.viu":0.2,"com.netease.newspike":35.2,"com.yandex.lavka":222.61,"blibli.mobile.commerce":35.4,"com.conquian.parallax":11.5,"com.twec.xmi":0.6,"ru.gdemoideti.parent":0.38,"com.king.candycrushsodasaga":591.62,"ru.aliexpress.buyer":3190.364,"com.fintopia.idnEasycash.google":0.16,"com.sevensolutions.thaimart":0.12,"com.lotuss.oneapp":1.7,"com.hashkeypro.exchange":0.7,"ph.com.peso.fast.loan.android":73.5,"games.joker.chicken.go":0.08,"com.svipclub.app":95.0,"com.fecredit.feonline":32.9,"ru.mobstudio.andgalaxy":136.8,"com.kwai.bulldog":374.98,"com.oakever.arrows":1.724,"com.amigolive":0.9,"com.winaxis.arionplayandroidapp":60.3,"br.com.rico.mobile":9.3,"com.explurgerapp":0.05,"com.gloriajeans.mobile":262.45,"com.foreigncurrency.internationalfxeye":87.775,"com.poonawallafincorp.loan.emi.payment.card.upi.mf":95.9,"astrum.ent.m2alyona":503.5,"com.esprit.rpg.cntrctfft":49.8,"connect.poca.android":3.0,"com.prolabcolsas.credcol":3.6,"com.appteka.lapy":282.01,"com.fxroyale.app":0.55,"com.blinkit.storeob":0.75,"com.vk.love":354.9,"com.reefgames.fabletown":12.054,"com.devmunifin.bharatloan":0.4,"com.apptool.track.tallyup":31.68,"com.loans.lending.onlinelend.mabiliscash":20.0,"ru.neopharm.stolichki":0.072,"com.bossgame.domino":14.5,"com.immomo.biz.ddoversea":3.5,"com.lucky.fishing.ph":0.4,"com.vrindafinlease.rupee112":2.0,"com.esprit.rpg.lttlefirykng":114.4,"com.devaashishcapitals.bls":2.7,"org.telegram.messenger.web":0.32,"in.startv.hotstar.dplus":27.68,"com.vimanotech.kreditbuddha":2.1,"xyz.be.customer":0.75,"com.hkfuliao.chamet":6.872,"com.id6javo88.ntla509":1.14,"com.peramoo":258.3,"com.betsoftware.hwpremiumwrapped":188.7156,"com.oakever.tiletrip":0.08,"com.devaashishcapitals.rot":2.4,"com.kreon.stucred":0.8,"com.personalLoan.loan112":1.5,"com.iqoption":418.5,"com.nagwa.classes":150.0,"com.cash.credit.marikaya":21.64,"com.picpay":0.91,"com.pinjamango":37.86,"com.branch_international.branch.branch_demo_android":143.55,"com.trademaxaustralia.tmgm":0.1,"com.xavelive":0.6,"com.Hadiz.Yogaflex":0.5,"com.live.soulchill":14.9,"com.lemonn.app":1.57,"ru.yandex.weatherplugin":57.4,"uiendfskjn.nzqifdgdpld.bxcvuwhe":0.5,"com.tencent.ig":103.813}},"cust_daily":{"2026/9/10":{"头部直客渠道":13245.792,"厂商预算":4176.204,"中小客户":3403.867,"待抛弃客户":93.977}},"cust_detail":{"2026/9/10":[{"cat":"头部直客渠道","acc":"appnextads","base":7422.98,"t1":9005.055},{"cat":"头部直客渠道","acc":"xapad","base":4200.73,"t1":2850.62},{"cat":"头部直客渠道","acc":"vserv","base":3551.89,"t1":278.1},{"cat":"头部直客渠道","acc":"affinityad","base":2099.18,"t1":518.1},{"cat":"头部直客渠道","acc":"avowads","base":381.55,"t1":282.187},{"cat":"头部直客渠道","acc":"alphadsp","base":0.0,"t1":311.73},{"cat":"厂商预算","acc":"flymob","base":1002.15,"t1":1482.003},{"cat":"厂商预算","acc":"flymobi_API","base":0.0,"t1":208.496},{"cat":"厂商预算","acc":"dolphin","base":773.56,"t1":915.169},{"cat":"厂商预算","acc":"dolphin2","base":0.0,"t1":598.341},{"cat":"厂商预算","acc":"iogerads","base":371.16,"t1":441.105},{"cat":"厂商预算","acc":"Iogerads_API","base":0.0,"t1":449.922},{"cat":"厂商预算","acc":"shockit","base":292.4,"t1":81.168},{"cat":"中小客户","acc":"adwisdom","base":738.61,"t1":314.11},{"cat":"中小客户","acc":"adwisdom_ddj_API","base":0.0,"t1":8.625},{"cat":"中小客户","acc":"appfortis","base":257.96,"t1":308.34},{"cat":"中小客户","acc":"mobavenue","base":228.43,"t1":322.52},{"cat":"中小客户","acc":"verse","base":199.27,"t1":330.29},{"cat":"中小客户","acc":"startym","base":116.72,"t1":28.75},{"cat":"中小客户","acc":"mbupps","base":112.17,"t1":68.1},{"cat":"中小客户","acc":"nativexads","base":102.0,"t1":186.54},{"cat":"中小客户","acc":"mstoko","base":97.96,"t1":55.19},{"cat":"中小客户","acc":"flatmedia_API","base":72.42,"t1":62.166},{"cat":"中小客户","acc":"leapmob","base":60.46,"t1":85.393},{"cat":"中小客户","acc":"affleads","base":59.83,"t1":123.52},{"cat":"中小客户","acc":"moblegend","base":51.33,"t1":51.03},{"cat":"中小客户","acc":"vertexs","base":51.09,"t1":144.6204},{"cat":"中小客户","acc":"vertex_api","base":0.0,"t1":2.24},{"cat":"中小客户","acc":"stackyads","base":43.7,"t1":20.25},{"cat":"中小客户","acc":"apkpure","base":37.73,"t1":84.7152},{"cat":"中小客户","acc":"acshare","base":33.72,"t1":59.29},{"cat":"中小客户","acc":"bytemobi","base":33.55,"t1":13.41},{"cat":"中小客户","acc":"adsdeep","base":32.19,"t1":31.3},{"cat":"中小客户","acc":"Ricefruit","base":31.7,"t1":91.08},{"cat":"中小客户","acc":"abamobi","base":31.29,"t1":0.0},{"cat":"中小客户","acc":"aba_api","base":0.0,"t1":13.2},{"cat":"中小客户","acc":"imax","base":29.14,"t1":90.614},{"cat":"中小客户","acc":"vfineads","base":27.77,"t1":0.0},{"cat":"中小客户","acc":"influxtec","base":26.75,"t1":9.86},{"cat":"中小客户","acc":"isummer","base":24.8,"t1":0.0},{"cat":"中小客户","acc":"isummer_API","base":0.0,"t1":2.072},{"cat":"中小客户","acc":"smartconnectads","base":23.99,"t1":18.926},{"cat":"中小客户","acc":"macan","base":21.64,"t1":0.0},{"cat":"中小客户","acc":"xoomads","base":21.62,"t1":5.6},{"cat":"中小客户","acc":"flowbox","base":20.62,"t1":331.963},{"cat":"中小客户","acc":"bidmatrix","base":18.91,"t1":130.9714},{"cat":"中小客户","acc":"seanear_API","base":17.48,"t1":0.0},{"cat":"中小客户","acc":"gridads","base":16.51,"t1":18.361},{"cat":"中小客户","acc":"yomiads_API","base":15.55,"t1":0.0},{"cat":"中小客户","acc":"gleamx","base":14.37,"t1":0.0},{"cat":"中小客户","acc":"bidneuron","base":12.89,"t1":0.0},{"cat":"中小客户","acc":"bidneuron_API","base":0.0,"t1":0.0},{"cat":"中小客户","acc":"quarklio_API","base":12.83,"t1":0.0},{"cat":"中小客户","acc":"altosum","base":11.95,"t1":0.0},{"cat":"中小客户","acc":"altosum_API","base":0.0,"t1":0.0},{"cat":"中小客户","acc":"lightspot","base":11.75,"t1":0.45},{"cat":"中小客户","acc":"vikingmedia","base":10.87,"t1":315.73},{"cat":"中小客户","acc":"viking_api","base":0.0,"t1":34.16},{"cat":"中小客户","acc":"mobgem","base":5.86,"t1":0.0},{"cat":"中小客户","acc":"launchpad","base":4.2,"t1":0.0},{"cat":"中小客户","acc":"adnov_API","base":0.24,"t1":40.48},{"cat":"中小客户","acc":"hopemobi_API","base":2.55,"t1":0.0},{"cat":"中小客户","acc":"hope_API","base":0.0,"t1":0.0},{"cat":"中小客户","acc":"volo","base":10.84,"t1":0.0},{"cat":"中小客户","acc":"volo_api","base":0.0,"t1":0.0},{"cat":"待抛弃客户","acc":"mobhugeads","base":9.95,"t1":0.0},{"cat":"待抛弃客户","acc":"wayne","base":7.86,"t1":0.0},{"cat":"待抛弃客户","acc":"c2c","base":6.3,"t1":0.0},{"cat":"待抛弃客户","acc":"tenads","base":4.45,"t1":0.0},{"cat":"待抛弃客户","acc":"movablead","base":4.22,"t1":9.35},{"cat":"待抛弃客户","acc":"tecdo","base":3.17,"t1":0.0},{"cat":"待抛弃客户","acc":"cookeads","base":1.52,"t1":32.25},{"cat":"待抛弃客户","acc":"mocaads","base":0.57,"t1":0.0},{"cat":"待抛弃客户","acc":"cubicom","base":0.55,"t1":47.277},{"cat":"待抛弃客户","acc":"sync_API","base":0.43,"t1":5.1},{"cat":"待抛弃客户","acc":"youmi","base":0.65,"t1":0.0}]},"cust_base":[{"cat":"头部直客渠道","acc":"appnextads","base":7422.98},{"cat":"头部直客渠道","acc":"xapad","base":4200.73},{"cat":"头部直客渠道","acc":"vserv","base":3551.89},{"cat":"头部直客渠道","acc":"affinityad","base":2099.18},{"cat":"头部直客渠道","acc":"avowads","base":381.55},{"cat":"头部直客渠道","acc":"alphadsp","base":0.0},{"cat":"厂商预算","acc":"flymob","base":1002.15},{"cat":"厂商预算","acc":"flymobi_API","base":0.0},{"cat":"厂商预算","acc":"dolphin","base":773.56},{"cat":"厂商预算","acc":"dolphin2","base":0.0},{"cat":"厂商预算","acc":"iogerads","base":371.16},{"cat":"厂商预算","acc":"Iogerads_API","base":0.0},{"cat":"厂商预算","acc":"shockit","base":292.4},{"cat":"中小客户","acc":"adwisdom","base":738.61},{"cat":"中小客户","acc":"adwisdom_ddj_API","base":0.0},{"cat":"中小客户","acc":"appfortis","base":257.96},{"cat":"中小客户","acc":"mobavenue","base":228.43},{"cat":"中小客户","acc":"verse","base":199.27},{"cat":"中小客户","acc":"startym","base":116.72},{"cat":"中小客户","acc":"mbupps","base":112.17},{"cat":"中小客户","acc":"nativexads","base":102.0},{"cat":"中小客户","acc":"mstoko","base":97.96},{"cat":"中小客户","acc":"flatmedia_API","base":72.42},{"cat":"中小客户","acc":"leapmob","base":60.46},{"cat":"中小客户","acc":"affleads","base":59.83},{"cat":"中小客户","acc":"moblegend","base":51.33},{"cat":"中小客户","acc":"vertexs","base":51.09},{"cat":"中小客户","acc":"vertex_api","base":0.0},{"cat":"中小客户","acc":"stackyads","base":43.7},{"cat":"中小客户","acc":"apkpure","base":37.73},{"cat":"中小客户","acc":"acshare","base":33.72},{"cat":"中小客户","acc":"bytemobi","base":33.55},{"cat":"中小客户","acc":"adsdeep","base":32.19},{"cat":"中小客户","acc":"Ricefruit","base":31.7},{"cat":"中小客户","acc":"abamobi","base":31.29},{"cat":"中小客户","acc":"aba_api","base":0.0},{"cat":"中小客户","acc":"imax","base":29.14},{"cat":"中小客户","acc":"vfineads","base":27.77},{"cat":"中小客户","acc":"influxtec","base":26.75},{"cat":"中小客户","acc":"isummer","base":24.8},{"cat":"中小客户","acc":"isummer_API","base":0.0},{"cat":"中小客户","acc":"smartconnectads","base":23.99},{"cat":"中小客户","acc":"macan","base":21.64},{"cat":"中小客户","acc":"xoomads","base":21.62},{"cat":"中小客户","acc":"flowbox","base":20.62},{"cat":"中小客户","acc":"bidmatrix","base":18.91},{"cat":"中小客户","acc":"seanear_API","base":17.48},{"cat":"中小客户","acc":"gridads","base":16.51},{"cat":"中小客户","acc":"yomiads_API","base":15.55},{"cat":"中小客户","acc":"gleamx","base":14.37},{"cat":"中小客户","acc":"bidneuron","base":12.89},{"cat":"中小客户","acc":"bidneuron_API","base":0.0},{"cat":"中小客户","acc":"quarklio_API","base":12.83},{"cat":"中小客户","acc":"altosum","base":11.95},{"cat":"中小客户","acc":"altosum_API","base":0.0},{"cat":"中小客户","acc":"lightspot","base":11.75},{"cat":"中小客户","acc":"vikingmedia","base":10.87},{"cat":"中小客户","acc":"viking_api","base":0.0},{"cat":"中小客户","acc":"mobgem","base":5.86},{"cat":"中小客户","acc":"launchpad","base":4.2},{"cat":"中小客户","acc":"adnov_API","base":0.24},{"cat":"中小客户","acc":"hopemobi_API","base":2.55},{"cat":"中小客户","acc":"hope_API","base":0.0},{"cat":"中小客户","acc":"volo","base":10.84},{"cat":"中小客户","acc":"volo_api","base":0.0},{"cat":"待抛弃客户","acc":"mobhugeads","base":9.95},{"cat":"待抛弃客户","acc":"wayne","base":7.86},{"cat":"待抛弃客户","acc":"c2c","base":6.3},{"cat":"待抛弃客户","acc":"tenads","base":4.45},{"cat":"待抛弃客户","acc":"movablead","base":4.22},{"cat":"待抛弃客户","acc":"tecdo","base":3.17},{"cat":"待抛弃客户","acc":"cookeads","base":1.52},{"cat":"待抛弃客户","acc":"mocaads","base":0.57},{"cat":"待抛弃客户","acc":"cubicom","base":0.55},{"cat":"待抛弃客户","acc":"sync_API","base":0.43},{"cat":"待抛弃客户","acc":"youmi","base":0.65}],"cust_idsp":{"头部直客渠道":6,"厂商预算":4,"中小客户":42,"待抛弃客户":12},"updated_at":"2026-09-11 16:37:37 UTC+8"} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..b8e0c6b --- /dev/null +++ b/index.html @@ -0,0 +1,261 @@ + + + + + +DSP Daily 日报 + + + +
+

DSP Daily 日报

+
加载中…
+
+
总日报
+
PKG 收入波动
+
客户分类
+
+ + +
+
+

1.1 Overall 持续叠加

+
+ +
dtDSP total revenueDSP CN revenueDSP international波动(与前一天total差)
+
+
+

1.2 CN 持续叠加 · 各account收入

+
+
+
+

1.3 International 持续叠加 · 各account收入

+
+
+
+ + +
+
+

2.1 PKG 收入波动 - Midas 保留14天

+
DoD=最新日与前一日收入差;|DoD|>100 标注,+绿 −红。波动原因可编辑(暂存本浏览器)。
+
+
+
+

2.2 PKG 收入波动 - MS 保留14天

+
DoD=最新日与前一日收入差;|DoD|>100 标注,+绿 −红。波动原因可编辑(暂存本浏览器)。
+
+
+
+ + +
+
+

3.1 客户分类日报

+
DoD=T-1−T-2,DoD%=T-1/T-2−1。波动原因可编辑(暂存本浏览器)。
+
+ + +
客户分类iDSP个数base daily revenueT-4收入T-3收入T-2收入T-1收入DoDDoD%波动原因
+
+
+

3.2 客户明细 保留14天

+
+ +
客户分类客户base收入T-1收入DoD(与T-2差)
+
+
+
+ + + + diff --git a/schedule.conf b/schedule.conf new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/schedule.conf @@ -0,0 +1 @@ +1 diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..6b77cd0 --- /dev/null +++ b/update.sh @@ -0,0 +1,282 @@ +#!/usr/bin/env bash +# DSP-daily 日报数据更新脚本 +# 每小时被平台执行;UTC+8 过11点且当天未更新则补跑,查询 T-1(前一天)。 +# 产出 data.json: +# overall/cn/international : 每天一行,持续叠加 +# pkg_midas / pkg_ms : 每个pkg按天的revenue,保留14天(前端算DoD) +# cust_daily / cust_detail : 客户分类,保留14天 +# ============================================================ +set -euo pipefail +cd "$(dirname "$0")" + +# ============ 凭证(会过期,过期后替换这两行即可)============ +# Superset cookie(用于 Midas / 无_API account) +SUPERSET_COOKIE='SR-PROD=dea34a1f6d50f4426c0a9fa3d19d75a5; oidc=d86576ac9fae4782b20b16044ca089a0; session=.eJztkMFqAzEMRH8l-LwHWbaz1t4K-YsSgmRJzdJlA-v0FPLvNfQ3ehoG9IbRvMLNN-5362H5fIXTc0hQ3r_sCFP4aM16P639dLF9NQ3X9_R_dJ3GaIf1e1ict27DrhqWoK65ZtCcIEWPqK0QzAiVhbmm1oZKpUh5BkiKLOoulJgRFItkAyzguYKVVCl5xsqALatxKQk51aIyUEaspYmcudQyq0uV7Oc82rZ--O35-LZ99IFIJplJm9GslWb0AlGcyVFoBCM1oDkNbns03mwwA5zCT7fj76WIAOH9C_vZpvc.aqOlrQ.xmkrmwsNe89-wy3pSP20QhNNuC8' +# MS report/v2/list token(用于 MS / 带_API account) +MS_TOKEN='eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1YTE1ZDZkNTU0ODc0ODc4YTdhNTNlNjMxNDkyNDMzYSIsImlhdCI6MTc4ODc1MDE1OSwic3ViIjoidG9rZW4gYnkgdXNoYXJlaXQiLCJleHAiOjE3ODg4MzY1NTl9.mXzeDaQ9A9QjbB3xurXU9dPnqH0Gi_oBwG9NuXPjSTM' + +SUPERSET_URL='https://ads-bi.ushareit.org/superset/explore_json/' +SLICE_ID=821 +REPORT_URL='https://ms-api.sandssea.com/api/v1/report/v2/list' +DATA_FILE='data.json' +KEEP_DAYS=14 + +# ============ 执行时机(UTC+8,过11点且当天未更新则补跑)============ +HOUR_CST=$(TZ='Asia/Shanghai' date +%H) +RUN_DATE=$(TZ='Asia/Shanghai' date '+%Y/%-m/%-d') +FORCE="${FORCE_RUN:-0}" +if [ "$FORCE" != "1" ]; then + if [ "$((10#$HOUR_CST))" -lt 11 ]; then echo "[skip] UTC+8 $HOUR_CST 点,未到11点"; exit 0; fi + if [ -f "$DATA_FILE" ]; then + A=$(python3 -c "import json;d=json.load(open('$DATA_FILE',encoding='utf-8'));print('1' if any(r.get('date')=='$RUN_DATE' for r in d.get('overall',[])) else '0')" 2>/dev/null || echo 0) + if [ "$A" = "1" ]; then echo "[skip] 今天($RUN_DATE)已更新"; exit 0; fi + fi +fi + +# T-1 日期(前一天) +PREV_YMD=$(TZ='Asia/Shanghai' date -v-1d '+%Y%m%d' 2>/dev/null || TZ='Asia/Shanghai' date -d 'yesterday' '+%Y%m%d') # 20260910 +PREV_DATE=$(TZ='Asia/Shanghai' date -v-1d '+%Y/%-m/%-d' 2>/dev/null || TZ='Asia/Shanghai' date -d 'yesterday' '+%Y/%-m/%-d') # 2026/9/10 +echo "[run] RUN_DATE=$RUN_DATE T-1=$PREV_YMD($PREV_DATE)" + +# ============ 主处理:Python 完成拉取+聚合+合并 ============ +export SUPERSET_COOKIE MS_TOKEN SUPERSET_URL SLICE_ID REPORT_URL DATA_FILE KEEP_DAYS RUN_DATE PREV_YMD PREV_DATE +python3 <<'PYEOF' +import os,json,urllib.parse,urllib.request,ssl,datetime +from collections import defaultdict + +SUPERSET_COOKIE=os.environ['SUPERSET_COOKIE']; MS_TOKEN=os.environ['MS_TOKEN'] +SUPERSET_URL=os.environ['SUPERSET_URL']; SLICE_ID=int(os.environ['SLICE_ID']) +REPORT_URL=os.environ['REPORT_URL']; DATA_FILE=os.environ['DATA_FILE'] +KEEP=int(os.environ['KEEP_DAYS']); RUN_DATE=os.environ['RUN_DATE'] +PREV_YMD=os.environ['PREV_YMD']; PREV_DATE=os.environ['PREV_DATE'] +ctx=ssl.create_default_context(); ctx.check_hostname=False; ctx.verify_mode=ssl.CERT_NONE + +# ---- account 对照表 (advertiser_account_id -> _API名) ---- +ACC={102:'nativex_API',99:'adsplay_API',98:'clickpuff_API',97:'affle_API',96:'mobhuge_API',95:'altosum_API',94:'seanear_API',93:'stridemobi_API',92:'volo_API',91:'strongmetrics_API',87:'aba_API',86:'hope_api',85:'stackyads_API',84:'isummer_API',83:'vertex_API',82:'viking_API',80:'acmemobi_API',79:'flymobi_API',78:'motilal_API',77:'flatmedia_API',76:'hypertap_API',75:'Influx_API',74:'sync_API',73:'c2c_API',72:'tecdo_API',71:'yomiads_API',70:'goodjoy_API',69:'apkpure_API',68:'flatads_API',67:'adnov_API',66:'dolemobi_API',65:'witgala_API',64:'mejoy_API',63:'adwisdom_ddj_API',62:'vfineads_ddj_API',60:'Iogerads_API',56:'quarklio_API',55:'quarklio_ddj_API',54:'bidneuron_API',52:'mstoko_API',51:'hopemobi_API',23:'Macan_API',18:'Midas_API',11:'Dreammobi_API',9:'Flowbox_API'} + +# ---- CN / International 列头 account ---- +CN_ACCS=['acshare','adsdeep','adwisdom','affinityad','alphadsp','altosum','apkpure','appfortis','appnextads','bidmatrix','bidneuron','bytemobi','cookeads','dolphin','dolphin2','flowbox','flymob','gleamx','gridads','imax','influxtec','iogerads','leapmob','lightspot','mbupps','mobgem','moblegend','mocaads','movablead','mstoko','nativexads','Ricefruit','shockit','smartconnectads','startym','tenads','verse','vertexs','vikingmedia','xoomads','yolo','youmi', + 'bidneuron_API','quarklio_API','quarklio_ddj_API','Iogerads_API','adwisdom_ddj_API','mejoy_API','witgala_API','dolemobi_API','flatads_API','adnov_API','goodjoy_API','yomiads_API','flymobi_API','vertex_api','isummer_API','viking_api','hope_api','aba_api','volo_api','seanear_API','mobhuge_API','altosum_API','clickpuff_API'] +INTL_ACCS=['adsflourish','affleads','avowads','cubicom','keendigi','launchpad','mobavenue','stackyads','vserv','xapad', + 'sync_API','motilal_API','acmemobi_API','strongmetrics_API','c2c'] + +# ---- 客户分类 base 明细 (以文字明细为准) ---- +CUST_BASE_RAW="""头部直客渠道|appnextads|7422.98 +头部直客渠道|xapad|4200.73 +头部直客渠道|vserv|3551.89 +头部直客渠道|affinityad|2099.18 +头部直客渠道|avowads|381.55 +头部直客渠道|alphadsp|0 +厂商预算|flymob|1002.15 +厂商预算|flymobi_API|0 +厂商预算|dolphin|773.56 +厂商预算|dolphin2|0 +厂商预算|iogerads|371.16 +厂商预算|Iogerads_API|0 +厂商预算|shockit|292.4 +中小客户|adwisdom|738.61 +中小客户|adwisdom_ddj_API|0 +中小客户|appfortis|257.96 +中小客户|mobavenue|228.43 +中小客户|verse|199.27 +中小客户|startym|116.72 +中小客户|mbupps|112.17 +中小客户|nativexads|102 +中小客户|mstoko|97.96 +中小客户|flatmedia_API|72.42 +中小客户|leapmob|60.46 +中小客户|affleads|59.83 +中小客户|moblegend|51.33 +中小客户|vertexs|51.09 +中小客户|vertex_api|0 +中小客户|stackyads|43.7 +中小客户|apkpure|37.73 +中小客户|acshare|33.72 +中小客户|bytemobi|33.55 +中小客户|adsdeep|32.19 +中小客户|Ricefruit|31.7 +中小客户|abamobi|31.29 +中小客户|aba_api|0 +中小客户|imax|29.14 +中小客户|vfineads|27.77 +中小客户|influxtec|26.75 +中小客户|isummer|24.8 +中小客户|isummer_API|0 +中小客户|smartconnectads|23.99 +中小客户|macan|21.64 +中小客户|xoomads|21.62 +中小客户|flowbox|20.62 +中小客户|bidmatrix|18.91 +中小客户|seanear_API|17.48 +中小客户|gridads|16.51 +中小客户|yomiads_API|15.55 +中小客户|gleamx|14.37 +中小客户|bidneuron|12.89 +中小客户|bidneuron_API|0 +中小客户|quarklio_API|12.83 +中小客户|altosum|11.95 +中小客户|altosum_API|0 +中小客户|lightspot|11.75 +中小客户|vikingmedia|10.87 +中小客户|viking_api|0 +中小客户|mobgem|5.86 +中小客户|launchpad|4.2 +中小客户|adnov_API|0.24 +中小客户|hopemobi_API|2.55 +中小客户|hope_API|0 +中小客户|volo|10.84 +中小客户|volo_api|0 +待抛弃客户|mobhugeads|9.95 +待抛弃客户|wayne|7.86 +待抛弃客户|c2c|6.3 +待抛弃客户|tenads|4.45 +待抛弃客户|movablead|4.22 +待抛弃客户|tecdo|3.17 +待抛弃客户|cookeads|1.52 +待抛弃客户|mocaads|0.57 +待抛弃客户|cubicom|0.55 +待抛弃客户|sync_API|0.43 +待抛弃客户|youmi|0.65""" +CUST_IDSP={'头部直客渠道':6,'厂商预算':4,'中小客户':42,'待抛弃客户':12} + +# 解析客户分类明细 +cust_items=[] # (cat, acc, base) +for ln in CUST_BASE_RAW.strip().split('\n'): + cat,acc,base=ln.split('|') + cust_items.append((cat,acc,float(base) if base.strip() else 0.0)) + +def norm(s): return str(s).strip().lower() + +# ============ 拉 Superset (Midas / 无_API account) ============ +def fetch_superset(): + # 先用 slice_id 拿完整 form_data + fd0=urllib.parse.quote(json.dumps({'slice_id':SLICE_ID})) + req=urllib.request.Request(SUPERSET_URL+'?form_data='+fd0,headers={'cookie':SUPERSET_COOKIE,'accept':'application/json'}) + base=json.load(urllib.request.urlopen(req,timeout=120,context=ctx)) + fd=base['form_data']; fd['row_limit']=100000 + enc=urllib.parse.quote(json.dumps(fd)) + req2=urllib.request.Request(SUPERSET_URL+'?form_data='+enc,headers={'cookie':SUPERSET_COOKIE,'accept':'application/json'}) + d=json.load(urllib.request.urlopen(req2,timeout=180,context=ctx)) + return d['data']['records'] + +# ============ 拉 report/v2/list (MS / 带_API account) ============ +def fetch_report(ymd): + cols=[{"tCode":"adnouter_dws_report_san","tName":"dws_san_report_sum_hour","sqlType":"select","field":"action_dt","title":"Dt","sqlField":"action_dt","fieldType":1,"sorted":10,"checked":True}, + {"tCode":"adnouter_dws_report_san","tName":"dws_san_report_sum_hour","sqlType":"select","field":"advertiser_account_id","title":"Adv Account","sqlField":"advertiser_account_id","fieldType":1,"sorted":26,"checked":True}, + {"tCode":"adnouter_dws_report_san","tName":"dws_san_report_sum_hour","sqlType":"select","field":"package_name","title":"Pkg Name","sqlField":"pkg_name","fieldType":1,"sorted":60,"checked":True}, + {"tCode":"adnouter_dws_report_san","tName":"dws_san_report_sum_hour","sqlType":"select","field":"revenues","title":"Revenue","sqlField":"sum(revenue)","fieldType":2,"sorted":230,"checked":True}] + body={"pageSize":100000,"pageIndex":1,"query":{"dt":[ymd,ymd],"pb_geo":[],"target_geo":[]},"columns":cols,"orderBy":{}} + req=urllib.request.Request(REPORT_URL,data=json.dumps(body).encode(), + headers={'authorization':MS_TOKEN,'content-type':'application/json;charset=UTF-8','origin':'https://ms.sandssea.com','referer':'https://ms.sandssea.com/'}) + d=json.load(urllib.request.urlopen(req,timeout=180,context=ctx)) + return d['data']['list'] + +print('[fetch] Superset...'); sup=fetch_superset() +print('[fetch] report/v2/list T-1...'); rep=fetch_report(PREV_YMD) + +# Superset: 只取 T-1 那天(dt格式20260910) +sup_prev=[r for r in sup if str(r.get('dt'))==PREV_YMD] +print(f' superset T-1行={len(sup_prev)} (全部{len(sup)}) ; report行={len(rep)}') + +# ---- 汇总:无_API account revenue (来自Superset attr_platform) ---- +sup_acc_rev=defaultdict(float) # account(小写) -> rev +sup_pkg_rev=defaultdict(float) # pkg -> rev (Midas) +for r in sup_prev: + acc=norm(r.get('attr_platform')) + rev=float(r.get('revenue(还原前)') or 0) + sup_acc_rev[acc]+=rev + pkg=r.get('pkg name(EN)') or '' + sup_pkg_rev[pkg]+=rev + +# ---- 汇总:带_API account revenue (来自report, 按account_id映射, 排除18) ---- +rep_acc_rev=defaultdict(float) # _API名(小写) -> rev +rep_pkg_rev=defaultdict(float) # pkg -> rev (MS, 排除account18) +for r in rep: + aid=r.get('advertiser_account_id') + rev=float(r.get('revenues') or 0) + if aid==18: # Midas_API 不记录 + continue + name=ACC.get(aid) + if name: + rep_acc_rev[norm(name)]+=rev + pkg=r.get('package_name') or '' + rep_pkg_rev[pkg]+=rev + +# 统一取某 account 收入:无_API走superset,带_API走report +def acc_rev(acc): + a=norm(acc) + if acc.endswith('_API') or acc.endswith('_api'): + return round(rep_acc_rev.get(a,0.0),4) + else: + return round(sup_acc_rev.get(a,0.0),4) + +# ============ 1.2 CN / 1.3 International ============ +cn_row={'dt':PREV_DATE}; cn_total=0.0 +for a in CN_ACCS: + v=acc_rev(a); cn_row[a]=v; cn_total+=v +cn_row['DSP CN revenue']=round(cn_total,2) + +intl_row={'dt':PREV_DATE}; intl_total=0.0 +for a in INTL_ACCS: + v=acc_rev(a); intl_row[a]=v; intl_total+=v +intl_row['DSP international']=round(intl_total,2) + +# ============ 1.1 Overall ============ +overall_row={'dt':PREV_DATE,'DSP total revenue':round(cn_total+intl_total,2), + 'DSP CN revenue':round(cn_total,2),'DSP international':round(intl_total,2)} + +# ============ 2.1 PKG-Midas / 2.2 PKG-MS (当天pkg->rev) ============ +pkg_midas={pkg:round(v,4) for pkg,v in sup_pkg_rev.items() if v} # Midas: superset +pkg_ms={pkg:round(v,4) for pkg,v in rep_pkg_rev.items() if v} # MS: report(已排除18) + +# ============ 3.x 客户分类 (当天) ============ +# 每个 account 的 T-1 收入 +cust_detail_today=[] # {cat,acc,base,t1} +cat_t1=defaultdict(float) +for cat,acc,base in cust_items: + t1=acc_rev(acc) + cust_detail_today.append({'cat':cat,'acc':acc,'base':base,'t1':round(t1,4)}) + cat_t1[cat]+=t1 +cust_cat_today={cat:round(v,4) for cat,v in cat_t1.items()} # 分类->T-1收入 + +# ============ 合并入 data.json ============ +def dkey(s): return tuple(int(x) for x in s.split('/')) +old={'overall':[],'cn':[],'international':[],'pkg_midas':{},'pkg_ms':{}, + 'cust_daily':{},'cust_detail':{},'cust_base':[],'cust_idsp':CUST_IDSP,'updated_at':''} +if os.path.exists(DATA_FILE): + try: old=json.load(open(DATA_FILE,encoding='utf-8')) + except Exception: pass +for k,dv in [('overall',[]),('cn',[]),('international',[]),('pkg_midas',{}),('pkg_ms',{}),('cust_daily',{}),('cust_detail',{})]: + old.setdefault(k,dv) +old['cust_idsp']=CUST_IDSP +# 客户分类 base 明细(固定,每次覆盖为最新配置) +old['cust_base']=[{'cat':c,'acc':a,'base':b} for c,a,b in cust_items] + +# 叠加型:overall/cn/international,按dt去重后append +def upsert_daily(lst,row): + lst=[x for x in lst if x.get('dt')!=row['dt']]+[row] + lst.sort(key=lambda x:dkey(x['dt'])) + return lst +old['overall']=upsert_daily(old['overall'],overall_row) +old['cn']=upsert_daily(old['cn'],cn_row) +old['international']=upsert_daily(old['international'],intl_row) + +# 14天型:pkg_midas/pkg_ms 是 {dt: {pkg:rev}};cust_daily {dt:{cat:t1}};cust_detail {dt:[{cat,acc,base,t1}]} +def keep_recent(dct): + dts=sorted(dct.keys(),key=dkey) + for d in dts[:-KEEP]: dct.pop(d,None) + return dct +old['pkg_midas'][PREV_DATE]=pkg_midas +old['pkg_ms'][PREV_DATE]=pkg_ms +old['cust_daily'][PREV_DATE]=cust_cat_today +old['cust_detail'][PREV_DATE]=cust_detail_today +for key in ['pkg_midas','pkg_ms','cust_daily','cust_detail']: + old[key]=keep_recent(old[key]) + +old['updated_at']=datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8))).strftime('%Y-%m-%d %H:%M:%S UTC+8') +json.dump(old,open(DATA_FILE,'w',encoding='utf-8'),ensure_ascii=False,separators=(',',':')) +print(f"[done] overall={len(old['overall'])}天 CN合计={cn_row['DSP CN revenue']} Intl合计={intl_row['DSP international']}") +print(f" pkg_midas={len(pkg_midas)}个pkg pkg_ms={len(pkg_ms)}个pkg cust分类={cust_cat_today}") +PYEOF + +echo "[ok] data.json 已更新"