Championship Series ’16

v2016… it’s on

executing: BPR_Championship_Series_funct -> 03-Apr-2016 18:16:38

theTopDir = /Users/juddrohwer/BPR Files/theRACEstuff_v2016

The Race: RACE-01-Jan09-Tuscobia.xlsx
The Race: RACE-01-Jan25-Arrowhead.xlsx
The Race: RACE-02-Feb06-SSAZ.xlsx
The Race: RACE-02-Feb13-24HrsInTheOldPueblo.xlsx
The Race: RACE-02-Feb20-24HrsWEMBO.xlsx
The Race: RACE-03-Mar8-Aotearoa.xlsx
The Race: RACE-BPR-CO.xlsx
The Race: RACE-BPR-KS.xlsx
The Race: RACE-BPR-WYO.xlsx
---- ---- ---- ---- ---- ---- ----
ANALYSIS of RESULTS: THE GLOBAL CREW - rolling single & rigid (?)

BPR_Championship_Series_funct_01

ANALYSIS of RESULTS: THE GLOBAL CREW with Ajustable Mechanical Advantage

BPR_Championship_Series_funct_02

ANALYSIS of RESULTS: BPRNM_ThePhilosofizer BPR_Championship_Series_funct_03BPR_Championship_Series_funct_04 ANALYSIS of RESULTS: BPRNM_TheMoraleChairmanBPR_Championship_Series_funct_05BPR_Championship_Series_funct_06 ANALYSIS of RESULTS: BPRAZ_MadRhinoBPR_Championship_Series_funct_08BPR_Championship_Series_funct_07ANALYSIS of RESULTS: BPRAZ_EffUgeyez BPR_Championship_Series_funct_10 BPR_Championship_Series_funct_09 ANALYSIS of RESULTS: BPRAZ_Joey

BPR_Championship_Series_funct_12BPR_Championship_Series_funct_11ANALYSIS of RESULTS: BPRAZ_Jolly BPR_Championship_Series_funct_13BPR_Championship_Series_funct_14ANALYSIS of RESULTS: BPRAZ_Deuce BPR_Championship_Series_funct_16BPR_Championship_Series_funct_15 ANALYSIS of RESULTS: BPRAZ_Frog BPR_Championship_Series_funct_18BPR_Championship_Series_funct_17ANALYSIS of RESULTS: BPRAZ_GnarlyBPR_Championship_Series_funct_20BPR_Championship_Series_funct_19ANALYSIS of RESULTS: BPRAZ_KrazyKarlBPR_Championship_Series_funct_22BPR_Championship_Series_funct_21ANALYSIS of RESULTS: BPRAZ_WhoreChataBPR_Championship_Series_funct_24BPR_Championship_Series_funct_23ANALYSIS of RESULTS: BPRAZ_TheButcherBPR_Championship_Series_funct_26BPR_Championship_Series_funct_25ANALYSIS of RESULTS: BPRNZ_TheCrewChiefBPR_Championship_Series_funct_28BPR_Championship_Series_funct_27ANALYSIS of RESULTS: BPRNZ_JasperBPR_Championship_Series_funct_30BPR_Championship_Series_funct_29ANALYSIS of RESULTS: BPRND_DaBeardBPR_Championship_Series_funct_32BPR_Championship_Series_funct_31ANALYSIS of RESULTS: BPRNC_Endless BPR_Championship_Series_funct_34BPR_Championship_Series_funct_33ANALYSIS of RESULTS: BPRCO_CjellMoneBPR_Championship_Series_funct_36BPR_Championship_Series_funct_35ANALYSIS of RESULTS: BPRCO_BPRCOLeader BPR_Championship_Series_funct_38BPR_Championship_Series_funct_37ANALYSIS of RESULTS: BPRCO_ThePitBossBPR_Championship_Series_funct_41BPR_Championship_Series_funct_40ANALYSIS of RESULTS: BPRCO_KellyBPR_Championship_Series_funct_44BPR_Championship_Series_funct_43ANALYSIS of RESULTS: BPRCO_TheByrdBPR_Championship_Series_funct_46BPR_Championship_Series_funct_45ANALYSIS of RESULTS: BPRCO_DuaneBPR_Championship_Series_funct_48BPR_Championship_Series_funct_47ANALYSIS of RESULTS: BPRCO_OldMan BPR_Championship_Series_funct_50BPR_Championship_Series_funct_49ANALYSIS of RESULTS: BPRCO_BackpackDan BPR_Championship_Series_funct_52BPR_Championship_Series_funct_51ANALYSIS of RESULTS: BPRIA_SteveBPR_Championship_Series_funct_54BPR_Championship_Series_funct_53ANALYSIS of RESULTS: BPRIA_JB BPR_Championship_Series_funct_56BPR_Championship_Series_funct_55ANALYSIS of RESULTS: BPRKS_Churchy BPR_Championship_Series_funct_54BPR_Championship_Series_funct_57ANALYSIS of RESULTS: BPRWYO_Goddess

BPR_Championship_Series_funct_61BPR_Championship_Series_funct_60 ANALYSIS of RESULTS: BPRWYO_HeadFreak BPR_Championship_Series_funct_63BPR_Championship_Series_funct_62 ANALYSIS of RESULTS: BPRWYO_DirtheadPoet BPR_Championship_Series_funct_64BPR_Championship_Series_funct_65

‘,e]);
clear d e

theStartDir = ‘/Users/juddrohwer/MATLAB’;

% a1 = userpath;
% theStartDir = a1(1:end-1); %’/Users/juddrohwer/BPR Files/matlabScripts/’;

cd(theStartDir)
load(‘PublishOptions.mat’);

clear a1 userpath

% if ~exist(‘YearSel’,’var’)
% theDataDir = ‘/Users/juddrohwer/BPR Files/theRACEstuff_v2016/’;
% else
theDataDir = [‘/Users/juddrohwer/BPR Files/theRACEstuff_v’,num2str(YearSel),’/’];
% end

ResultsDir = ‘PointTotals’;
prodDir = ‘DataProducts’;

cd(theDataDir)
theTopDir = pwd()
[valC, txtC, CrewSearch] = xlsread(‘theBPRcrew_v2016.xlsx’);

TheRacersRacing = char(CrewSearch(2:end,1));
Chapter = char(CrewSearch(2:end,2));
Pts = cell2mat(CrewSearch(2:end,3));
NumRaces = cell2mat(CrewSearch(2:end,4));

TheSeriesPts = table(TheRacersRacing,Chapter,Pts,NumRaces);
TheSeriesPts_Gears = table(TheRacersRacing,Chapter,Pts,NumRaces);

[valS, txtS, ScoringTemplate] = xlsread(‘theBPRptsTemplate_v2016.xlsx’);
TheStuff = ScoringTemplate(1);

[ScoringTemplate, ScoringTemplateRaw] = DataCellMat_rowDel(ScoringTemplate);

TheXLSdir = dir(‘*.xlsx’);
zDir = size(TheXLSdir,1);
for jr1 = 1:zDir

if strfind(TheXLSdir(jr1).name,’RACE’)
[valD,txtD,DataConvert] = xlsread(TheXLSdir(jr1).name);

cd(theStartDir)

[DataConvert, DataConvertRaw,DateIdx,RaceIdx] = DataCellMat_rowDel(DataConvert);

if ~isempty(DateIdx)
selIdx = 5;
DataConvertRaw = DataConvertRaw(1:selIdx,:);
end

TheDateStr = {‘N/A’};
TheRaceID = TheXLSdir(jr1).name;
strFnd1 = strfind(TheRaceID,’.xlsx’);
TheRaceStr = TheRaceID(1:strFnd1(1)-1);

TheRacePts = cell(size(DataConvert,2)-1,2);
TheRacePts(1,1) = {‘The Racers Racing’};
TheRacePts(1,2) = {‘pts’};

disp(‘ ‘)
disp([‘The Race: ‘,TheRaceID])

for jr2 = 1:size(ScoringTemplate,1)
for jr3 = 1:size(ScoringTemplate,2)
if strcmp(ScoringTemplate(jr2,jr3),’TheRacersRacing’)% == 0
IdScIdx = [jr2,jr3];
for jr1A = 1:size(ScoringTemplate,2)
if strcmp(ScoringTemplate(jr2,jr1A),’The Details’)% == 0
DetScIdx = [jr2,jr1A];
end
end
end
end
end

if strcmp(DataConvert(1,1),’TheRacersRacing’)% == 0
IdIdx = [1,1];
jr2 = [];
jr3 = [];
for jr1A = 1:size(DataConvert,2)
if strcmp(DataConvert(1,jr1A),’The Details’)% == 0
DetIdx = [1,jr1A];
end
end
else
for jr2 = 1:size(DataConvert,1)
for jr3 = 1:size(DataConvert,2)
if strcmp(DataConvert(jr2,jr3),’TheRacersRacing’)% == 0
IdIdx = [jr2,jr3];
for jr1A = 1:size(DataConvert,2)
if strcmp(DataConvert(jr2,jr1A),’The Details’)% == 0
DetIdx = [jr2,jr1A];
end
end
end
end
end
end

for jr4 = IdIdx(1,2) + 1 : DetIdx(2)-1
% disp(‘ ‘)
% disp([‘The Race: ‘,TheRaceID])
% disp([‘The Racer: ‘,char(DataConvert(IdIdx(1,1),jr4))])
% disp(‘ ‘)
theMultFactorTotal = 1;
BonusPts = 0;
calcMultTime = 0;
TheElevGain = 0;
TheMiles = 0;
TheTime = 0;
TimeVar = 0;
ElevGainPts = 0;
DistancePts = 0;
PodiumPts = 0;
TheTazFactorPts = 0;
xVar = 5; xBonus = 0;
yVar = 5; yBonus = 0;
zVar = 1; zBonus = 0;
TheMilesPerLap = 0;
TheElevationGainPerLap = 0;
TheLaps = 0;
TheRaceDuration = 0;
ThePitFactor = 0;ThePitBonus = 0;
RaceWriteupFactor = 0;
ThePitBossFactor = 0;ThePitBossBonus = 0;
TheTeamFactor = 1;
TheGearsFactor = 1;

for jr5 = 1:size(CrewSearch,1)
if strcmp(CrewSearch(jr5,1),DataConvert(IdIdx(1,1),jr4))% == 0
TheDude = DataConvert(IdIdx(1,1),jr4);
TheChapter = CrewSearch(jr5,2);

if ~isempty(DateIdx)
try
TheDateGuessTemp = datestr(cell2mat(DataConvertRaw(DateIdx,jr4)));
strFnd1 = strfind(TheDateGuessTemp,’-‘);
TheDateGuess = TheDateGuessTemp(1:strFnd1(2)-1);
catch
TheDateGuess = ‘-‘;
end
else
TheDateGuess = ‘ – ‘;
end %RaceIdx

if ~isempty(RaceIdx)
try
TheRaceDescStr = char(DataConvertRaw(RaceIdx,jr4));
catch
TheRaceDescStr = ‘-‘;
end
else
TheRaceDescStr = ‘-‘;
end %

TheRacePts(jr4,1) = TheDude;
for jr6 = IdIdx(1,1)+1:size(DataConvert,1)
if ~isempty(DataConvert(jr6,1))
algIdx = [];
FoundTazFactor = [];
if size(ScoringTemplate,1) >= jr6 && strcmp(DataConvert(jr6,1),ScoringTemplate(jr6,1))% == 0
algIdx = [jr6,1];
else
for z2 = 1:size(ScoringTemplate,1)
if strcmp(DataConvert(jr6,1),ScoringTemplate(z2,1))% == 0
algIdx = [z2,1];
end
end
end

if ~isempty(algIdx)
if algIdx(1,1) = 1
b1 = theCommaVec(1);
theDec(1) = eval(theTazFactorStr(a1+1:b1-1));
end
if length(theCommaVec) >= 2
c1 = theCommaVec(2);
theDec(2) = eval(theTazFactorStr(b1+1:c1-1));
theDec(3) = eval(theTazFactorStr(c1+1:a2-1));
end
if length(theCommaVec) >= 3
error(‘something is wrong. TheTazFactor ~line 190’);
end
end
for jrC = 1:length(theDec)
if jrC == 1
xBonus = xVar * theDec(jrC);
elseif jrC == 2
yBonus = yVar * theDec(jrC);
elseif jrC == 3
zBonus = zVar * theDec(jrC);
end
end
TheTazFactorPts = xBonus + yBonus + zBonus;
end
catch
error(‘TheTazFactor calculations failed -> ~ line 193′)
end

elseif ~isnan(cell2mat(DataConvert(algIdx(1,1),jr4)))
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’miles’)% == 0
TheMiles = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’elevation gain’)% == 0
TheElevGain = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’time’)% == 0
TheTime = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’miles / lap’)% == 0
TheMilesPerLap = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’elevation gain / lap’)% == 0
TheElevationGainPerLap = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’laps’)% == 0
TheLaps = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’race duration’)% == 0
TheRaceDuration = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’dude with gears’)% == 0
TheGearsFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
% disp([‘TheGearsFactor: ‘,num2str(TheGearsFactor)])
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’dudette with gears’)% == 0
TheGearsFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
% disp([‘TheGearsFactor: ‘,num2str(TheGearsFactor)])
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’Racing on a Team’)% == 0
TheTeamFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’ThePitFactor’)% == 0
ThePitFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’ThePitBossFactor’)% == 0
ThePitBossFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’RaceWriteup’)% == 0
RaceWriteupFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’Podium’)% == 0
clear PodiumPts
if calcMultTime == 1
TimeVar = TheTime; %24
else
TimeVar = TheRaceDuration;
end
if TimeVar > 1
TimeVar = 1;
end
try
theGuess = cell2mat(DataConvert(algIdx(1,1),jr4));
if isnumeric(theGuess)
PodiumPts = 500/cell2mat(DataConvert(algIdx(1,1),jr4)) * TimeVar; %24
elseif ischar(theGuess)
PodiumPts = 500/eval(cell2mat(DataConvert(algIdx(1,1),jr4))) * TimeVar;
end

catch
error(‘cell2mat conversion of podium pts failed. line 250 or about there.’)
end
end
end
end
end
end
end
end
end
end
if calcMultTime == 1
MultTime = min(1.25,max(1,TheMiles/(TheTime*24)/5));
theMultFactorTotal = theMultFactorTotal * MultTime;
DistancePts = TheMiles;
% disp([‘Time Race -> MultTime: ‘,num2str(MultTime)])
else
TheElevGain = TheElevationGainPerLap * TheLaps;
DistancePts = TheMilesPerLap * TheLaps;
end
theMultFactorTotal = theMultFactorTotal * TheTeamFactor * TheGearsFactor;
BonusPts = BonusPts + ThePitFactor * 25 + ThePitBossFactor * 50 + RaceWriteupFactor * 10;
ElevGainPts = 1/2 * 1/100 * TheElevGain;

% disp([‘The Elevation Points: ‘,num2str(ElevGainPts)])
% disp([‘The Distance Points: ‘,num2str(DistancePts)])
% disp([‘The Team Factor: ‘,num2str(TheTeamFactor)])
% disp([‘The Gears Factor: ‘,num2str(TheGearsFactor)])
% disp([‘Multiplication Factor: ‘,num2str(theMultFactorTotal)])
% disp([‘Bonus Pts: ‘,num2str(BonusPts)])
% disp([‘The Podium Pts: ‘,num2str(PodiumPts)])
% disp([‘The Bonus Pts: ‘,num2str(BonusPts)])
% disp([‘The Taz Factor: ‘,num2str(TheTazFactorPts)])

TotalPts = min(((ElevGainPts + DistancePts) * theMultFactorTotal + BonusPts + TheTazFactorPts + PodiumPts),3000);

% TotalPts = ((ElevGainPts + DistancePts) * theMultFactorTotal + BonusPts + TheTazFactorPts + PodiumPts);

if TotalPts 2
[SUCCESS] = create_analysisPlots_x1(fullfile(theDir,[‘Pts_’,ChapterStr,’_’,TheDudeStr]),[‘pAnalysis_’,ChapterStr,’_’,TheDudeStr],tableTemp);
open(fullfile(theDir,[‘Pts_’,ChapterStr,’_’,TheDudeStr],[‘pAnalysis_’,ChapterStr,’_’,TheDudeStr,’_Plot-i_Cal.fig’]))
snapnow
end
disp(‘ ‘);
disp(‘ ‘);
pause(1)
close all
end
end

cd(theStartDir)
##### SOURCE END #####
–>

 


— v2015 Closeout:

—- —- —- —- —- —- —-

 

Point Total as of Oct 3rd

TheSeriesPts_10-4-2015-71640

Point Total as of Sept 7th

TheSeriesPts_9-7-2015-17456

Point Total as of August 8th

TheSeriesPts_8-9-2015-9444

Point Total as of June 28th

TheSeriesPts_6-28-2015-8596

Point Total as of June 13th

TheSeriesPts_6-13-2015-71215

Point Total as of May 3rd

TheSeriesPts_050315

Point Total as of March 29th

TheSeriesPts_3-29-2015-115230

Point Total as of March 15th

TheSeriesPts_3-15-2015-83343

Point Total as of Feb 15th

TheSeriesPts_2-21-2015-17536

Point Total as of Feb 1st

TheSeriesPts_2-1-2015_formatted

Mid January Point Total Summary

The point totals for the early January races are below. Amazing distribution and some big time surprises.

The Scoring Algorithm, ref below, is truly an amazing tool generated by Back of the Pack technology. Through this algorithm I am able to find 5 distinct strategies employed by The Racers Racing at the back of the pack

The Strategies – as of early January:

  1. The Race Strategy: Miles, Fast Laps and The Taz Factor.
  2. The Podium Strategy: TeamWork and Fitness leading to a very important and high profile Podium position
  3. The LSD Strategy: Long Slow Distance via dedication to the pain cave
  4. The Pit Boss Strategy: support the team -> encourage, promote & maintain Hooliganism
  5. The BPR Strategy: just chill out, turn the cranks and enjoy life in the alternate reality

The Execution of Strategies:

  • It’s clear that Mad Rhino and Krazy Karl executed The Race Strategy. Those dudes put in the miles and supported Hooliganism… in the Alternate Reality. But THEIR choice to race in a duo team lead to multiplication factor of 1/2 – but then again, if they were going solo and entire different set of variables would’ve dominated their point total.
  • Joey went for The Podium Strategy. That freak had a multiplier of 0.07. Which means he broke all ‘The Rules’. And at the back of the pack we don’t really believe that Winners Win or Winning makes a Winner. But, to my surprise, Joey’s podium brought in big points. And this successful execution of The Podium Strategy MAY keep Joey at the front of the back of the pack for the entire race season.
  • Frog rolled with The LSD Strategy. That dude kept the cranks turning, respected the Solo Single Speed gods, and is sitting in 3rd. Nice job dude – nice effort in successfully executing the strategy that is The Foundation of Back of the Pack Racing. I think.
  • Eff Ugeyez dominated in the pits. And thus his big a$$ point total from The Pit Boss Strategy set the stage for his 2015 season
  • Then there is The BPR Strategy. The Morale Chairman, The Philosofizer (that’s me), The Professor and Gnarly just chill’d… which means The Racers Racing and the Back of the Pack in early January are saving up for big things in the not so distant future. Yeah, that’s a positive way to say it. I think.

So. Dudes & Dudettes. This is the 1st look into the BPR Championship Series. It’s gonna be a big year. The race for Fame ‘N Glory drives us all. Or not at all. AND I’ve had some communication with the Vegas OddsMakers. Yep, this could get really interesting. Big Bucks and Fame ‘N Glory. Totally.

TheBPRSeriesPts-Total
TheBPRSeriesPts

The Code:

Open Source. Dude. We’ll discuss my Algorithm and Software skills, as utilized in The Alternate Reality, in a different forum. So don’t be critical. I don’t like Methods and Classes. I like IF THEN ELSE statements and I like FOR loops. Yes, you MUST understand that I like loops.  Sometimes I deal in functions. But I like Loops. I like robust code. I like piss’n off you Software & Computer Engineers. Yeah, OPEN SOURCE. Dude.

TheScoringAlgorithm-v2-pg1 TheScoringAlgorithm-v2-pg2 TheScoringAlgorithm-v2-pg3

————————-


And the Template: The Scoring Algorithm -> A Matrix:

theBPRptsTemplate

 

 

2 responses to “Championship Series ’16

  1. Pingback: Another 42 Days We’ll Never Get Back: v15.11 | BACK OF THE PACK RACING·

  2. Pingback: Dirty Kanza 200 v2016: SHOW UP TIL YOU BLOW UP | BACK OF THE PACK RACING·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s